Base URL
All API requests should be made to:Authentication
Every request must include an API key in theAuthorization header:
Versioning
The current API version is v1. The version is included in the base URL path. When we introduce breaking changes, we will release a new version and provide a migration guide. Non-breaking additions (new fields, new endpoints) may be added to the current version without notice.Rate Limits
The API enforces rate limits to ensure fair usage across all integrations:- 100 requests per minute per API key
| Header | Description |
|---|---|
X-RateLimit-Limit | Maximum requests allowed per window |
X-RateLimit-Remaining | Requests remaining in the current window |
X-RateLimit-Reset | Unix timestamp when the window resets |
429 Too Many Requests response. Implement exponential backoff in your integration to handle this gracefully.
Pagination
List endpoints support offset-based pagination usinglimit and offset parameters:
| Parameter | Type | Default | Description |
|---|---|---|---|
limit | integer | 50 | Number of records to return (max 100) |
offset | integer | 0 | Number of records to skip |
Error Format
When an error occurs, the API returns a JSON object with anerror field containing a human-readable message and a code for programmatic handling:
HTTP Status Codes
| Status | Meaning |
|---|---|
200 | OK — Request succeeded |
201 | Created — Resource successfully created |
400 | Bad Request — Invalid parameters or request body |
401 | Unauthorized — Invalid or missing API key |
403 | Forbidden — API key lacks permission for this action |
404 | Not Found — Resource does not exist |
429 | Too Many Requests — Rate limit exceeded |
500 | Internal Server Error — Something went wrong on our end |
Request IDs
Every API response includes anX-Request-Id header with a unique identifier for that request. Include this ID when contacting support about a specific API call.
