Endpoints for creating, listing, and retrieving contract reviews for the current organization.
Retrieve a review
Shows one review for the current organization (by id). Includes nested redline_evaluations, summary_positions, and flag_violations when applicable—the paginated GET /v1/reviews index omits those for each item.
path Parameters
idstring · uuid · requiredReview id
Headers
Authorizationstring · requiredThe
Authorizationheader is used to authenticate with the API using your API key. Value is of the formatBearer YOUR_KEY_HERE.
Responses
A single review
dataobject · required
Retrieve all reviews
Lists reviews for the current organization with pagination (page[number]). The default page size is 30 reviews per page.
Each list item includes core review fields and review_type only. redline_evaluations, summary_positions (per-topic summaries), and flag_violations are not included here; they appear on GET /v1/reviews/{id} (and on the dedicated nested collection endpoints where applicable).
query Parameters
page[number]integer · min: 1Page number for the review list (defaults to 1 when omitted). Each page returns up to 30 reviews by default.
Headers
Authorizationstring · requiredThe
Authorizationheader is used to authenticate with the API using your API key. Value is of the formatBearer YOUR_KEY_HERE.
Responses
A paginated list of reviews for the organization (data, meta.pagination, and links are siblings).
dataobject[] · requiredmetaobject · requiredlinksobject · required
Create a review
Start a new review in one of two ways: point at an import you already uploaded with a small application/json body (imported_file_id, optional playbook_id, optional review_type), or upload the contract directly with multipart/form-data using a file part (playbook_id and review_type optional there too). review_type must be RedlineReview or SummaryReview when you send it. Don't send imported_file_id on multipart—that path is only for new files. A 201 response uses the same JSON:API review resource as GET /v1/reviews/{id} (full attributes, including nested evaluations or summary data when present); the create call itself is just flat JSON or multipart, not a JSON:API request document.
Headers
Authorizationstring · requiredThe
Authorizationheader is used to authenticate with the API using your API key. Value is of the formatBearer YOUR_KEY_HERE.
Request Body
imported_file_idstring · uuid · required
playbook_idstring · uuidreview_typestring · enumOptional; when omitted the service chooses the review mode.
Enum values:RedlineReviewSummaryReview
filestring · binary · requiredDocument upload; part name must be
file.
playbook_idstring · uuidreview_typestring · enumOptional; when omitted the service chooses the review mode.
Enum values:RedlineReviewSummaryReview
Responses
Review created; returns the new review resource
dataobject · required
List redline evaluations for a review
Returns every redline evaluation for the given review, scoped to the current organization. This applies to redline reviews (review_type: RedlineReview); the list matches the redline_evaluations array on the review resource from GET /v1/reviews/{id}.
path Parameters
review_idstring · uuid · requiredReview id (must be a redline review to contain evaluations)
Headers
Authorizationstring · requiredThe
Authorizationheader is used to authenticate with the API using your API key. Value is of the formatBearer YOUR_KEY_HERE.
Responses
Evaluations for the review (may be an empty array while processing or if none apply)
dataobject[] · requiredRedline evaluations for the review (same objects as
attributes.redline_evaluationson aRedlineReviewresource).
Retrieve a single redline evaluation
Returns one redline evaluation by id under the given review, scoped to the current organization. The payload matches a single element of redline_evaluations on GET /v1/reviews/{id}. When a counterproposal exists, attributes.counterproposal is included as a JSON:API-style object with nested data (type counterproposal, id, attributes including directive, suggested_counterproposal_text, created_at, updated_at, and status). Nested attributes.status is always completed or in_progress. When there is no counterproposal, the counterproposal key is omitted from attributes (never null).
path Parameters
review_idstring · uuid · requiredParent review id
evaluation_idstring · uuid · requiredRedline evaluation id
Headers
Authorizationstring · requiredThe
Authorizationheader is used to authenticate with the API using your API key. Value is of the formatBearer YOUR_KEY_HERE.
Responses
The requested redline evaluation
dataobject · required
Update a redline evaluation
Updates how a single redline evaluation is classified. Send a required evaluation object (discriminated by type) and an optional top-level comment. Simple outcomes are accept, reject, manual, and needs_review (each is only type). counterpropose adds a required counterproposal: either an object { directive } (instruction text) or { new_text } (replacement copy)—exactly one of those two shapes. Applies only to the evaluation identified by evaluation_id under the given review.
path Parameters
review_idstring · uuid · requiredParent review id
evaluation_idstring · uuid · requiredRedline evaluation id
Headers
Authorizationstring · requiredThe
Authorizationheader is used to authenticate with the API using your API key. Value is of the formatBearer YOUR_KEY_HERE.
Request Body
evaluationrequiredOutcome and payload for this redline evaluation. Discriminated by
type; seeoneOfvariants below.
commentstringOptional comment accompanying the evaluation update.
Responses
Updated redline evaluation (same JSON:API data shape as GET). When a counterproposal exists, attributes.counterproposal is a nested JSON:API document { "data": { "id", "type": "counterproposal", "attributes": { … } } }; nested attributes.status is completed or in_progress. Otherwise the counterproposal key is omitted (see GET examples).
dataobject · required
List flag violations for a review
Returns every summary-review flag violation for the given review, scoped to the current organization. This applies to summary reviews (review_type: SummaryReview); the list matches the flag_violations array on the review resource from GET /v1/reviews/{id}.
path Parameters
review_idstring · uuid · requiredReview id (must be a summary review to contain flag violations)
Headers
Authorizationstring · requiredThe
Authorizationheader is used to authenticate with the API using your API key. Value is of the formatBearer YOUR_KEY_HERE.
Responses
Flag violations for the review (may be an empty array if none were detected)
dataobject[] · requiredFlag violations for the review (same objects as
attributes.flag_violationson aSummaryReviewresource).
Retrieve a single flag violation
Returns one flag violation by id under the given review, scoped to the current organization. The payload matches a single element of flag_violations on GET /v1/reviews/{id}.
path Parameters
review_idstring · uuid · requiredParent review id
flag_violation_idstring · uuid · requiredFlag violation id
Headers
Authorizationstring · requiredThe
Authorizationheader is used to authenticate with the API using your API key. Value is of the formatBearer YOUR_KEY_HERE.
Responses
The requested flag violation
dataobject · required
Update a flag violation
Records a user decision for a single flag violation: either exception_approved (the exception is accepted) or issue_confirmed (the issue stands). Applies only to the violation identified by flag_violation_id under the given review.
path Parameters
review_idstring · uuid · requiredParent review id
flag_violation_idstring · uuid · requiredFlag violation id
Headers
Authorizationstring · requiredThe
Authorizationheader is used to authenticate with the API using your API key. Value is of the formatBearer YOUR_KEY_HERE.
Request Body
decisionstring · enum · requiredUser decision for this flag violation.
Enum values:exception_approvedissue_confirmed
Responses
Updated flag violation
dataobject · required
Download review bundle (ZIP)
Downloads a .zip archive containing the original contract, processed (redlined) document, and audit trail for a RedlineReview.
SummaryReview is not supported — this endpoint returns 422 for summary reviews. Use GET /v1/reviews/{review_id}/downloads/original instead.
Example:
Code
path Parameters
review_idstring · uuid · requiredReview id
Headers
Authorizationstring · requiredThe
Authorizationheader is used to authenticate with the API using your API key. Value is of the formatBearer YOUR_KEY_HERE.
Responses
Download review audit document
Downloads the audit document for a RedlineReview.
SummaryReview is not supported — returns 422. Use GET /v1/reviews/{review_id}/downloads/original for summary reviews.
Example:
Code
path Parameters
review_idstring · uuid · requiredReview id
Headers
Authorizationstring · requiredThe
Authorizationheader is used to authenticate with the API using your API key. Value is of the formatBearer YOUR_KEY_HERE.
Responses
Download processed (redlined) contract
Downloads the processed (redlined) contract for a RedlineReview.
SummaryReview is not supported — returns 422. Use GET /v1/reviews/{review_id}/downloads/original for summary reviews.
Example:
Code
path Parameters
review_idstring · uuid · requiredReview id
Headers
Authorizationstring · requiredThe
Authorizationheader is used to authenticate with the API using your API key. Value is of the formatBearer YOUR_KEY_HERE.
Responses
Download original uploaded contract
Downloads the original uploaded contract (.docx or .pdf, depending on the upload). Supported for both RedlineReview and SummaryReview — this is the only download path available for summary reviews.
Example:
Code
path Parameters
review_idstring · uuid · requiredReview id
Headers
Authorizationstring · requiredThe
Authorizationheader is used to authenticate with the API using your API key. Value is of the formatBearer YOUR_KEY_HERE.