API Errors & Pagination
Error responses
All errors return JSON with an error field.
| Status | Meaning | Example |
|---|---|---|
| 401 | Invalid or missing API key | {"error": "Invalid or missing API key"} |
| 403 | Hobby subscription or missing scope | {"error": "API access requires a Pro or Teams subscription"} |
| 404 | Resource not found | {"error": "Not found"} |
| 422 | Validation failed | {"error": ["Title can't be blank"]} |
| 429 | Rate limit exceeded | Plain text with Retry-After header |
Scope errors
If your API key doesn't have the required scope for an action:
{
"error": "API key missing required scope: write"
}
Pagination
List endpoints return paginated results with a meta object:
{
"data": [...],
"meta": {
"page": 1,
"per_page": 25,
"total": 142,
"total_pages": 6
}
}
Use page and per_page query parameters to navigate. Maximum per_page is 100.