Skip to main content
POST
Record Affirmative Terms Acceptance
Available in the Platform production API from October 22, 2026, including migration 119. Mobile distribution and genuine customer acceptance evidence remain separate from API availability.
Submit only after the EndUser explicitly accepts the displayed exact document. Use the version and content_sha256 returned by Get Terms and Acceptance, with the literal JSON boolean affirmative: true. Login, signup, reading, dismissal and continued use are not acceptance. Use a secret project key, a restricted key with end_users:write, or the same EndUser’s token. Your trusted backend must authenticate its own user and resolve the active EndUser in the authenticated project. A request-selected ID alone does not establish ownership. Device, upload and completion credentials are refused. Use channel: "api" for your API integration; the trusted Bota One proxy supplies bota_one. The route rejects portal, unknown fields, a supplied subject or a caller timestamp. The server supplies the immutable receipt ID, subject, project and accepted_at.

Retry and evidence

Retries for the same subject and version return the original receipt, including its original time and channel. Receipt-level idempotency does not require a generic Idempotency-Key header. Every retry rechecks the current subject, project and document; a stale version or hash returns 409 rather than a cached success. Read and review the new document before accepting it. The trusted API client mediates an acceptance assertion. The receipt is not independent proof that a human clicked, authority to bind an organization, recording consent, or permission for a new data-use purpose. No historical acceptance is inferred or backfilled. Retrieve your own event history for evidence.

Authorizations

Authorization
string
header
required

API key (sk_live_, sk_test_, rk_), device token (dtok_), or command-bound reset completion credential (rct_*; exact factory-reset ACK only)

Path Parameters

id
string
required

Body

application/json
version
string
required
Required string length: 1 - 64
content_sha256
string
required
Pattern: ^[a-f0-9]{64}$
channel
enum<string>
required
Available options:
bota_one,
api
affirmative
enum<boolean>
required
Available options:
true

Response

Original acceptance receipt

acceptance
object
required