Skip to main content
GET
Receipt
Returns the signed receipt for a response: a transparency event log that binds the request and response hashes to the attested gateway, signed by a key from the attested keyset. This is the canonical per-response proof. Look up a receipt by the x-receipt-id header on the inference response, or by the response id. For how to read the event log, see Receipts.

Request

string
required
A receipt id (rcpt-…) or the response id (chat id). The receipt id is returned in the x-receipt-id response header on /v1/chat/completions.

Response

200 OK, application/json. The bare canonical receipt:

event_log entries

Example (truncated)

The session id is a snapshot from the public sessions list; use the id in your own receipt.

Verifying the receipt

These checks follow ACI spec §§9.1–9.3, starting with an established gateway identity. A signature-valid receipt is not the same as a successful verification: upstream.verified can record result: "failed" and carry no session_id. Assert the result explicitly before looking for a session. JCS is RFC 8785 (JSON Canonicalization Scheme). Use an RFC 8785 implementation or the SDK’s helpers; sorted-key json.dumps is not sufficient. Canonicalize ACI documents, but hash HTTP bodies and decoded evidence as exact bytes. For E2EE requests, follow the decrypted-body hashing rules. See Verify a response for the artifact walkthrough.

Legacy alias

GET /v1/signature/{id} returns the same receipt wrapped in a legacy envelope, for clients written against earlier API versions. {id} is a receipt id or a response id. New integrations should use /v1/aci/receipts/{id}.

Get attestation report

Get session