Developers
API keys
Create, rotate and revoke keys for an allocation, and keep them out of client code.
API keys are created in the workspace, one allocation at a time. Only admins of the buyer organization can create, rotate or revoke them.
Create a key
- Open API keys in the workspace.
- Choose the allocation. It has to be activated:
ready,activeorpaused. Keys can't be created for areservedallocation, or for one that'sdepleted,expiredorterminated. - Name the key, 2 to 60 characters. Use a name that says where it runs, such as
billing-worker-prod. - Pick scopes:
inference,usage:reador both. - Copy the secret. It's shown once.
The key's mode follows the route: cv_live_ for live allocations, cv_test_ for sandbox ones. See Authentication.
Store it
- Put it in an environment variable or your secret manager, as
CAIRVA_API_KEY. - Keep it on servers. Never ship it in a browser bundle or a mobile app.
- Use separate keys for separate services, so you can revoke one without touching the others.
- Give reporting jobs
usage:readonly.
Cairva stores only a keyed hash of the full key, so nobody at Cairva can read it back to you.
Rotate a key
Rotating revokes the old key and issues a new one with the same name, allocation and scopes. The new secret is shown once, and the old key fails with 401 on its next request.
For a change with no downtime, create a second key for the same allocation, deploy it, then revoke the first.
Revoke a key
Revoking needs a reason of 3 to 300 characters, which goes into the audit log. A revoked key gets 401 unauthenticated with the message This API key was revoked. Cairva operations can also revoke a key, for example if it's found in public code.
See what a key is doing
The workspace lists each key's prefix, scopes, allocation and when it was last used. Each request also carries the key's allocation in its cairva object, and usage events show your x-request-id, so you can attribute spend to a service by sending a request id per caller.