https://api-staging.attesso.com with an
att_test_ key. The live environment at https://api.attesso.com requires
att_live_ keys, which are enabled only after linking Stripe Billing.
Run it end to end
One command goes from a test key to verified evidence on your own machine: it creates the Mandate, approves it in the browser with a passkey, shows one over-cap attempt refused, commits one in-cap action, and verifies the signed evidence locally. Node.js 20+, no dependencies.att_test_ key once; the script provisions the
workspace’s test approval trust. Later runs are zero-config.
The five calls, if you assemble it yourself
POST /v1/mandates: create the Mandate (PENDING_APPROVAL) with its policy, window, and approval deadline.POST /v1/mandates/{id}/approval-sessions: sign a short-lived identity assertion and create the hosted approval session; send the browser to the returnedapproval_url, then read the Mandate server-to-server until it isACTIVE. Claims and signing examples: Hosted approval.POST /v1/mandates/{id}/authorizations: authorize the concrete action with a single-usecommitment(the SHA-256 of the domain lineattesso:authorization:commitment:v1plus a random 32-byte opening you keep); continue only whencan_executeis exactlytrue.PUT /v1/authorizations/{id}/commit: after your executor accepts the action, revealing theopening; the Authorization becomesCOMMITTEDand the MandateCONSUMED.GET /v1/mandates/{id}/evidence: fetch the signed bundle and verify it (Verify evidence).

