Base URL
All API requests are made to:/v1/. For example:
Authentication
Include your API key as a Bearer token in theAuthorization header on every request:
veto_. You can create and manage keys via the API Keys endpoints or the Veto dashboard.
Request format
All request bodies must be JSON. Set theContent-Type header accordingly:
Rate limits
The API allows 600 requests per minute per API key. Every response includes the following headers:| Header | Description |
|---|---|
X-RateLimit-Limit | Maximum requests allowed per minute |
X-RateLimit-Remaining | Requests remaining in the current window |
429 Too Many Requests with a Retry-After header indicating how many seconds to wait before retrying.
Example request
Pagination
List endpoints return a paginated envelope:| Field | Description |
|---|---|
data | Array of results for the current page |
pagination.limit | Maximum results requested |
pagination.offset | Number of results skipped |
pagination.count | Number of results in this page |
pagination.total | Total number of matching results across all pages |
limit and offset query parameters to paginate through results.
Error responses
Errors follow a consistent shape:HTTP status codes
| Code | Meaning |
|---|---|
200 | Success |
201 | Resource created |
204 | Success, no content (e.g. after a delete) |
400 | Bad request — validation error |
401 | Unauthorized — missing or invalid API key |
403 | Forbidden — valid key, insufficient scope |
404 | Not found |
429 | Rate limit exceeded |
500 | Internal server error |