Skip to main content
GET
Session
Returns an attested session: the immutable, content-addressed record of the verified TEE channel a confidential request was bound to. A receipt’s upstream.verified.session_id references it, so you can trace any confidential response back to the exact verified security context, with its typed claims and channel binding.

Get one session

string
required
The 64-character lowercase hex id from a receipt’s upstream.verified.session_id.

Response

Typed claims

Each claim carries a status (asserted / refuted / unknown), a source (hardware_proven / verifier_derived / provider_asserted / operator_asserted), and a reason. The claim set: tee_attested, tcb_up_to_date, os_known_good, serving_software_known_good, gpu_attested, model_weights_provenance, plus provider-specific entries in extra. See Claims.

List current sessions

GET /v1/aci/sessions?upstream_name={upstream_name}&model={model} returns current attested sessions. Use it as a preflight survey: inspect the verified identity, channel binding, and claims for a model before sending a prompt.
Returns { "api_version": "aci/1", "sessions": [...] }. Each list entry includes its session_id but omits the bulky evidence.data; fetch the full record before verifying its content hash.

Why content-addressed

session_id is the bare SHA-256 of the full session document in canonical JCS form. Any change produces a new id, and sessions are never updated in place. Recompute the id after fetching the full record to confirm it is exactly the document cited by the receipt.

Verified upstreams

Get receipt