All API key management endpoints require an API key with
admin scope.The API key object
string
UUID uniquely identifying the key.
string
Human-readable name for the key.
string
The first 12 characters of the raw key (e.g.
veto_a1b2c3d4). Use this to identify which key was used — it is safe to display and log.string[]
Permission scopes granted to this key.
["admin"] grants full access. ["read-only"] restricts to non-mutating endpoints.string | null
ISO 8601 expiration date, or
null if the key never expires.string | null
ISO 8601 timestamp of the most recent authenticated request, or
null if the key has never been used. Only available on list responses.string
ISO 8601 timestamp of when the key was created.
POST /v1/api-keys
Create a new API key for your workspace.string
required
Human-readable name to identify this key. Must be between 1 and 255 characters.
string[]
required
Permission scopes for the key. Use
["admin"] for full access or ["read-only"] for read-only access.string
Optional expiration date as an ISO 8601 datetime string. If omitted, the key never expires.
201 with the key metadata and the raw key. The key field is not included in any subsequent responses.
GET /v1/api-keys
List all API keys in your workspace. The raw key and its hash are never included in list responses.number
default:"100"
Maximum number of keys to return. Must be between 1 and 200.
number
default:"0"
Number of keys to skip.
DELETE /v1/api-keys/:id
Revoke an API key. The key is permanently deleted and will no longer authenticate requests. This action cannot be undone. Returns204 No Content on success.