Skip to main content
POST
Accept a legal document

Authorizations

Authorization
string
header
default:Bearer sandbox_any_token_works
required

A 15-minute token bound to one patient and one enrollment, issued by POST /v1/oauth/token with the token-exchange grant. Treat it as opaque. When it expires, exchange a fresh assertion; there is no refresh token.

Headers

Idempotency-Key
string
required

A unique key per logical request, for example a UUID. Retrying with the same key and the same body within 24 hours returns the first response (with Idempotent-Replayed: true) instead of creating a duplicate. The same key with a different body is refused with 422 idempotency_key_reused.

Required string length: 8 - 255

Body

application/json
Example:

"2d4f6a8c-0e1b-4c3d-9e5f-7a9b1c3d5e7f"

Response

Already accepted; the existing record.

id
string<uuid>
required
Example:

"0190f5c8-2b3c-7d4e-8f50-6a7b8c9d0e1f"

document_code
string
required
Example:

"coaching_consent"

document_version
string
required
Example:

"2026-01"

accepted_at
string<date-time>
required

ISO 8601 in UTC.

Example:

"2026-10-26T14:05:00Z"

source
enum<string>
required
read-only

Set by the API from the caller. brand_api for brand servers, brand_app for patient tokens issued to a brand.

Available options:
app,
brand_app,
brand_api,
wearable,
coach,
ai,
system
Example:

"brand_app"

withdrawn_at
string<date-time> | null
Example:

null