Skip to main content

What this family does

Keys are organization credentials. Minting returns the plaintext once and stores only its SHA-256 hash, which is also the id you list and revoke by. A key can never be minted with a scope its creator does not already hold. The sandbox routes mint exo_sandbox_ keys bound to an isolated partition, so you can exercise the API without touching real data, and wipe that partition when you are done.

Routes

Headers that apply here

Neither header is declared as an OpenAPI parameter, so neither appears in the generated schema tables.
  • Idempotency-Key makes a retry safe on POST /v1/keys, POST /v1/sandbox/reset. See Idempotency.

The shape of a call

Mint a key.
The response:

Traps

The plaintext is unrecoverable. There is no route that returns it again. Store it before you close the response. A key that is not yours is 404, not 403. That keeps key hashes unenumerable. Revoking your own already-revoked key is a 204, so retries are safe. Minting a sandbox key does not replay. A retried Idempotency-Key mints a fresh key, because persisting a live credential in the replay store would undo the hash-only-at-rest design. Sandbox keys are contained. Their scopes are fixed at read and write, and they cannot select another subject.

API reference

Base URL, authentication, and the conventions every route shares.

Errors

The problem envelope and the full code catalogue.