Gallery Platform API
Reference

Update a legal document

Updates draft fields or interview answers, or voids the document (`status: "voided"`). Editing answers on a generated document drops it back to draft and discards the stale assembly; sent/accepted content is immutable.

PATCH
/gallery/legal-documents/{id}

Updates draft fields or interview answers, or voids the document (status: "voided"). Editing answers on a generated document drops it back to draft and discards the stale assembly; sent/accepted content is immutable.

Authorization

bearerAuth legal_documents:update
AuthorizationBearer <token>

A gallery API key, sent as Authorization: Bearer gpk_… (or the x-api-key header).

In: header

Scope: legal_documents:update

Path Parameters

id*string

Header Parameters

Idempotency-Key?string

Optional. Send a unique key per logical operation to make retries safe: a retry with the same key replays the stored success for 14 days instead of re-running the write. Reusing a key with a different body returns 400.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Update a legal document draft's fields or void the document.

Response Body

application/json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

{  "id": "string",  "document_type": "loan_agreement",  "status": "draft",  "title": "string",  "counterparty_contact_id": "string",  "counterparty_name": "string",  "template_key": "string",  "template_version": -9007199254740991,  "template_vetted": true,  "jurisdiction": "string",  "answers": {    "property1": "string",    "property2": "string"  },  "pdf_sha256": "string",  "generated_at": "string",  "sent_at": "string",  "accepted_at": "string",  "voided_at": "string",  "created_at": "string",  "updated_at": "string",  "assembled_markdown": "string",  "assembled_clauses": [    {      "key": "string",      "version": -9007199254740991,      "title": "string",      "markdown": "string"    }  ],  "missing_answers": [    "string"  ]}