Mint a key
- Sign in to
/console/settings/api-keysas a workspace admin. - Click Mint new key, name it (e.g.
ci-pipeline), pick the scopes it needs. - Copy the secret immediately — it is shown exactly once.
Scopes
Scopes are namespaced<surface>:<action>. Common ones:
Issue the narrowest scope that satisfies the job — admin parity is rarely the right choice for automation.
Signing requests
The CLI / SDK sign requests with HMAC-SHA256 over a canonical string:Sample (Node)
Sample (Python)
Verification on the server side
gavAI rejects requests where:- The timestamp is more than 5 minutes off the server clock (replay protection).
- The HMAC computed over the canonical string does not match.
- The
key_idis revoked or the scope does not cover the requested action.
Rotation
When a key needs rotating:- Mint a new key with the same scopes.
- Roll over the key in your secret store / config.
- Revoke the old key from
/console/settings/api-keys.
Audit trail
Each mint, revoke, and authenticated request is recorded in the tenant audit log (/console/activity). Use this to spot keys that aren’t doing what you expect.