Skip to main content
POST
Run a playbook against uploaded files

Authorizations

Authorization
string
header
required

API key for authentication. Format: gcai_xxxxxxxxx

Create API keys in the GC AI app under Settings → API.

Headers

Prefer
string

Optional RFC 7240 wait preference, for example wait=0. If both this header and the wait query parameter are supplied, they must match.

Example:

"wait=0"

Path Parameters

id
string<uuid>
required

Playbook ID from GET /playbooks.

Query Parameters

wait
integer | null

Optional long-poll wait time in seconds. Use 0 for fire-and-forget behavior. If both wait and Prefer: wait=... are supplied, they must match. Values above 90 are clamped.

Required range: x >= 0
Example:

0

Body

application/json
file_ids
string<uuid>[]
required

IDs of uploaded files to review. Files must be in ready status. At least one file is required.

Minimum array length: 1
review_mode
enum<string>
default:third-party

Whose perspective the review takes. third-party reviews a counterparty document (default); first-party reviews your own.

Available options:
first-party,
third-party
representing_party
string
default:our company

Name of the party the review represents (default: "our company").

check_ids
string<uuid>[]

Optional subset of check IDs to evaluate. Omit to run every check in the playbook.

Minimum array length: 1
company_id
string<uuid>

Optional company profile to ground the review in, so the checks have that company's context (industry, jurisdiction, regulations, risk posture). Discover company profiles via GET /company-profiles.

Opt-in: supply this to ground the review against a specific company. When omitted, the review runs with no company profile. This is separate from representing_party, which stays free text.

Response

Job completed within the effective wait window

job_id
string<uuid>
required

Async job identifier

kind
enum<string>
required

Stable job kind for this endpoint

Available options:
playbooks/run
status
enum<string>
required

Current job status

Available options:
pending,
running,
succeeded,
failed,
canceled
result
object | null
required

Playbook review payload when the job has succeeded

error
object | null
required

Failure payload when the job has failed

created_at
string
required

ISO 8601 creation timestamp

completed_at
string | null
required

ISO 8601 completion timestamp, or null when not terminal