Mint a key bound to this organization’s sandbox partition.The plaintext is returned exactly once and is unrecoverable afterwards: only
its SHA-256 hash is stored. That is the same contract as POST /v1/keys,
which this route reuses rather than reimplementing.Scopes are fixed at read and write and are not caller-selectable: a test
key must never be able to mint keys, provision subjects or erase real data.
The sandbox partition is provisioned on first mint, and the key is minted as
exo_sandbox_... so it is recognisable on sight.Deliberately not replayable: a retried Idempotency-Key mints a fresh key
instead of replaying the first response. Persisting a live credential in the
replay store to save one key is the wrong trade.
This route requires the admin scope.A missing or invalid credential returns 401 authentication_error. A valid credential without the scope returns 403 permission_denied, and the problem body names the exact scope required.
These are request conventions the contract does not declare as parameters, so they do not appear in the schema tables below.
Header
Applies
What it does
X-Exo-API-Key
Required
Your Exo API key, exo_<env>_<token>. Authorization: Bearer exo_... is accepted as an alternate.
X-Exo-Subject
Not applicable
This route is not subject-scoped.
Idempotency-Key
Not honoured
This route does not replay: a retry mints a fresh key rather than replaying the first response, because persisting a live credential in the replay store would undo the hash-only-at-rest design of the key store.
X-Request-Id
Response
Returned on every response, including 204s. Quote it in a support request.