Base URL
All API requests are made to the following base URL:Authentication
Every request must include a valid Bearer Token in theAuthorization header:
Rate limits
Rate limits depend on your plan. If you exceed the limit, the API returns a429 status code.
| Plan | Limit |
|---|---|
| Pro | 100 req/min |
| Business | 1,000 req/min |
Rate-limited responses include
X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset headers so you can adjust your request cadence.Response format
All successful responses follow a consistent envelope:data— The requested resource or an array of resources.meta— Pagination metadata (present on list endpoints only).
Error handling
When a request fails, the API returns a structured error object:HTTP status codes
HTTP status codes
| Code | Description |
|---|---|
| 400 | Bad request |
| 401 | Unauthenticated |
| 403 | Forbidden |
| 404 | Resource not found |
| 429 | Rate limit exceeded |
| 500 | Internal server error |
Common error codes
Common error codes
| Error code | Meaning |
|---|---|
VALIDATION_ERROR | One or more request body fields are invalid. |
RESOURCE_NOT_FOUND | The requested resource does not exist. |
UNAUTHORIZED | The Bearer Token is missing or invalid. |
FORBIDDEN | You do not have permission to perform this action. |
RATE_LIMIT_EXCEEDED | You have exceeded the request rate limit for your plan. |
Pagination
List endpoints support cursor-based pagination through query parameters:| Parameter | Type | Default | Description |
|---|---|---|---|
page | int | 1 | The page number to retrieve. |
per_page | int | 20 | Items per page (max 50). |
SDKs
Official SDKs are coming soon for:- JavaScript / TypeScript
- Python
- PHP
In the meantime, you can interact with the API directly using any HTTP client such as
curl, Postman, or your language’s built-in HTTP library.
