Skip to main content
POST
Record In-App Terms Presentation
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.
Call only after the current document or notice has been visibly rendered to the authenticated user. This records a mediated in-app presentation assertion; it proves neither email delivery nor reading and never records acceptance. Use a secret project key, a restricted key with end_users:write, or the same EndUser’s token. Resolve the exact active EndUser in the authenticated project on your trusted server. Device, upload and completion credentials are refused. Copy version and content_sha256 from the current document that was displayed. Use channel: "api" for your API integration; the trusted Bota One proxy supplies bota_one. The public EndUser route does not accept portal. The body accepts only those three fields. Do not send a subject, timestamp or backdated presentation. The server supplies presented_at. Retries return the original notice for the same subject, version and channel. A generic Idempotency-Key header is unnecessary: every retry performs fresh subject and document checks. A stale version or hash returns 409; read and display the current document before submitting a new presentation assertion. Acceptance is a separate explicit action. This endpoint sends no email and activates no changed processing.

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

Response

Original presentation receipt

notice
object
required