Gallery Platform API
Reference

Send a legal document for acceptance

Mints a public click-to-accept link (optionally passcode-protected and/or expiring) for a generated document and marks the document sent — content is immutable from this point. With `send_email: true` the link is also emailed to `recipient_email` via the member's connected mailbox or the provider fallback. Returns the one-time token and share path. Requires a first-party session.

POST
/gallery/legal-documents/{id}/send

Mints a public click-to-accept link (optionally passcode-protected and/or expiring) for a generated document and marks the document sent — content is immutable from this point. With send_email: true the link is also emailed to recipient_email via the member's connected mailbox or the provider fallback. Returns the one-time token and share path. Requires a first-party session.

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

Query Parameters

dry_run?boolean

Preview this operation without committing it. When true, the request is authenticated, scoped, and validated, but no side effect runs — no write, no idempotency claim, no audit event, no outbound delivery. The response is HTTP 200 with an X-Dry-Run: true header and a body of { "dry_run": true }, plus an effect object describing what the real call would change when this operation can resolve one.

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.

Mint a public click-to-accept link for a generated legal document, optionally emailing it to the signer.

Response Body

application/json

application/json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

{  "dry_run": true,  "effect": {    "summary": "string",    "count": 0,    "targets": [      {        "type": "string",        "id": "string",        "label": "string"      }    ],    "amount": {      "minor": -9007199254740991,      "currency": "str"    },    "details": {      "property1": "string",      "property2": "string"    },    "irreversible": true  }}