POST /api/v1/documents/{id}/session requires documents:write and an app-owned document. Optional purpose is 3–120 characters. The session lasts one hour.
The opaque {sessionId} path credential is secret. Do not log it, send it to analytics, or treat it as a permanent key.
GET /api/v1/hosted-editor/{sessionId}/commands: layout, version, purpose, expiry.GET /api/v1/hosted-editor/{sessionId}/document: private PDF.POST /api/v1/hosted-editor/{sessionId}/commands:typeSAVE_LAYOUT/COMPLETE,expectedVersion,layout, and an idempotency key in the header or bodyidempotencyKey.
Recipient sessions
POST /api/v1/guest/auth is not a machine-key endpoint. Request an OTP with action:"request_otp", email, and requestId. Verify with action:"verify_otp", the same context, and the six-digit code from the official channel.
Never retrieve OTPs from logs, databases, or development responses to impersonate recipients. GET /api/v1/signing/{id}/document requires an authorized member/guest session, not an app Bearer key. Use the official UI for consent and signing.