Conventions
Response envelopes, pagination, errors and rate limits.
Updated
Success envelopes
A single resource:
{ "data": { "id": "...", "...": "..." } }A collection, paginated:
{
"data": [],
"meta": { "next_cursor": "...", "has_more": false }
}Pagination
Lists will be cursor-based. Walk forward by following meta.next_cursor until meta.has_more is false.
| Parameter | Default | Notes |
|---|---|---|
limit | 20 | Maximum 100 |
cursor | none | Opaque value from meta.next_cursor |
Errors
Branch on the HTTP status.
| Status | Meaning |
|---|---|
| 400 | Validation failed, or a plan limit was reached (for example, exceeding your plan's tracked-prompt count) |
| 401 | Missing or invalid API key |
| 402 | Plan capability not available on your current tier |
| 403 | Authenticated but not permitted |
| 404 | Not found |
| 429 | Rate limited |
| 5xx | Internal error |
Rate limits
Rate limits will be tiered by plan, matching the monthly API/MCP call allowance published on the pricing page. X-RateLimit-Limit and X-RateLimit-Remaining headers are planned on every response.
Versioning
v1 is the only planned version. New response fields will be additive; clients should ignore fields they do not recognize.