Authorization header using the Bearer scheme.
API key format
All Veto API keys are prefixed withveto_ followed by 32 hex characters:
Sending the key
Include your key in theAuthorization header on every request:
Raw HTTP
Node.js SDK
Pass the key toVetoClient at construction time. The SDK attaches the Authorization header automatically on every request.
Key scopes
Each API key has one of two scopes:
The authorization endpoint (
POST /v1/authorize) works with both scopes. For production services that only call authorize, use a read-only key to limit the blast radius of a leaked credential.
Creating API keys
Dashboard
Go to Settings → API Keys and click New API key. Give it a name, choose a scope, and optionally set an expiry date.The raw key is shown once at creation and never again. Copy it before closing the dialog. After creation, only the key prefix (e.g.,
veto_a3f8c2) is shown for identification.API
You can also create keys programmatically. This requires an existing key withadmin scope.
DELETE /v1/api-keys/:id with an admin key.
Rate limits
The Veto API enforces a limit of 600 requests per minute per API key. This applies across all endpoints.
When you exceed the limit, the API returns
429 Too Many Requests with a Retry-After header indicating how many seconds to wait.
The SDK surfaces this as a RateLimitError with a retryAfterMs property: