{"items": [...], "cursor": "..."}, where cursor is null on the last page. Pass it back as ?cursor= to get the next one.
Operation
The handle for anything that can take longer than a request. See Long-running operations.string
required
The operation id.
string
required
What the operation does:
question, review, review_redline, review_decisions, document_action, repository_indexing, report_run, report_export, playbook_generation or draft.string
required
queued, running, succeeded, failed or cancelled. The last three are terminal.object | null
object
required
The object this operation works on. Read it for the full picture.
object | null
Set when
status is succeeded. Its shape depends on type:object | null
Set when
status is failed.integer | null
When to ask again.
null once the operation is terminal.string
required
string
required
string | null
Review
A playbook or instructions review of one or more files. Built: see Get Review, which documents every field.counterparty_edits reviews are read, not started, through the API.
string
required
string
required
The review’s name, as the Wordsmith app shows it.
string
required
playbook, instructions or counterparty_edits.string
required
queued, running, completed, failed or cancelled.string[]
required
The review’s own copies of the reviewed files.
string | null
Set for
playbook reviews.string | null
Set for
instructions reviews.string | null
The side the review acts for, as named in the document.
object
string | null
The tracked-changes DOCX of every proposed amendment, which the review writes itself. A ZIP of one DOCX per document when the amendments change more than one document.
string | null
The latest operation the caller started on this review.
string
Opens the review in Wordsmith.
string
required
string
required
Finding
One check’s result. Itsid is the check’s id within the review. See List Findings.
string
required
string
required
The check’s name.
string
required
issue, ok, not_applicable or error.string | null
high, medium or low. Set for issues.string | null
Why, with reference to the playbook position.
object[]
{ "file_id", "text" } for each passage relied on.object[]
{ "id", "type", "preview" } for each proposed change. type is modification, insertion, deletion or comment.File
Unchanged from the live API:{ "id", "file_name", "content_type", "content_length", "created_at" }.
Session and message
object
{ "id", "agent_id", "title", "url", "created_at", "updated_at" }. Get Session also returns message_count.object
{ "id", "role": "user" | "assistant", "content", "attachments": File[], "status": "completed" | "in_progress" | "error", "created_at" }Repository and document
Live in the preview: see Get Repository.object
{ "id", "name", "description", "document_count", "url", "created_at", "updated_at" }. A single repository adds "indexing_status": "idle" | "indexing" | "failed".object
{ "id", "file_id", "file_name", "folder_id", "indexing_status": "pending" | "indexed" | "failed", "created_at" }object
{ "id", "name", "parent_id" }object
{ "file_id", "file_name", "repository_id", "document_id", "snippet", "score" }Report
object
{ "id", "name", "description", "repository_id", "row_count", "column_count", "status": "idle" | "running", "url", "created_at", "updated_at" }. Get Report also returns columns: Column[], and Create Report also returns operation_id, the run it started.object
{ "id", "name", "prompt", "type": "text" | "number" | "date" | "boolean" | "single_select" | "multi_select", "options": string[] }object
{ "id", "file_id", "name" }object
{ "row_id", "column_id", "value", "display_value", "status": "empty" | "pending" | "computing" | "done" | "failed", "citations": object[], "reviewed": boolean, "updated_at" }Playbook and check
object
{ "id", "name", "description", "checks": Check[], "created_at", "updated_at" }. The list route keeps returning { "id", "name", "description" }.object
{ "id", "name", "instructions", "severity": "high" | "medium" | "low", "standard_position", "fallback_positions": string[] }. fallback_positions is read-only: only negotiation playbooks built in the app have them.Blueprint
object
{ "id", "name", "description", "placeholders": [{ "key", "label", "type": "text" | "choice" | "multi_choice" | "boolean" | "table", "required", "description", "options" }] }Research
object
{ "source", "document_id", "title", "citation", "court_or_issuer", "jurisdiction", "date", "snippet", "url" }object
{ "source", "document_id", "title", "citation", "date", "url", "text", "text_truncated", "next_offset" }. Pass next_offset back as offset to read on; it is null at the end. See Get Research Document.Organisation
object
{ "id", "name", "address", "registration_number", "tax_number", "jurisdictions": string[], "industry": string[], "preferred_signatories": string[], "organization_type", "ownership", "is_part_of_group", "is_regulated", "regulatory_details", "is_gdpr_applicable", "data_storage_locations", "business_description", "target_customer_profiles": string[], "additional_info" }. Agents use it as context about your organisation. An organisation can have several, for example one per group company.object
{ "id", "name", "email", "kind": "human" | "agent" | "chat_bot" | "service", "is_suspended", "predefined_roles": ("viewer" | "full_user" | "admin")[], "custom_role_ids": string[], "team_ids": string[] }. The live List Users returns the first five fields. team_ids holds the teams the member is on directly.object
{ "id", "name", "parent_team_id", "member_count", "direct_member_count", "member_ids", "hidden", "membership_source": "manual" | "slack_channel", "members": [{ "user_id", "role": "admin" | "member" }] }. The live List Teams returns the first six fields; Get Team adds the rest. members lists direct members only; hidden is true when the team or a team above it is hidden.object
{ "id", "email", "predefined_roles", "custom_role_ids", "status": "pending" | "accepted" | "expired", "invited_by", "created_at", "expires_at" }. Invites last 30 days. A revoked invite is deleted. The join link is never returned.object
{ "id", "name", "type": "predefined" | "custom", "description", "active", "member_count" }. Predefined roles have the ids viewer, full_user and admin, and no description.