Base URL
Production:Request shape
Most write requests use JSON and bearer authentication.Response shape
Successful event writes return202 Accepted with a receipt. Repeated idempotency keys return the original receipt.
Errors return:
openapi.json.
Public project receipts can be verified by anyone who has the receipt ID. Private project receipts require a dashboard session, a read-capable API key, a scoped receipt token from POST /v1/workspaces/{workspaceId}/receipts/{receiptId}/token, or an evidence token for a package that includes the receipt.
Published policies can also be public or private. Private policy pages require a dashboard session, a read-capable API key, or a scoped policy token from POST /v1/workspaces/{workspaceId}/published-policy/token.
Customer activity trails work the same way: enable activity links on the project, create an activity token from an authorized dashboard session or a read-capable API key, then open the tokenized activity URL. Do not expose raw subject lookup in public UI.
Evidence package links use POST /v1/workspaces/{workspaceId}/evidence-packs/{packId}/token. The token can download that package and verify private receipts included in its scope.