Quickstart
Create a key and send your first message.
Migrating from v1.0?
v1.0 is legacy and will be removed. Move to v2.0.
Base URLs
Send
Accept: application/json and, with a body, Content-Type: application/json. Authenticate every request with an API key.
Response envelope
Every response has the HTTP status 200, whether the request succeeded or not. There are two exceptions: a request beyond the rate limit (HTTP 429) and a removed API version (HTTP 410, see Versioning). The outcome is always in the body:Success
Failure
Pagination
Lists are paginated, 50 items per page, most recent first unless stated otherwise. Ask for a page with?page=2. The body of a paginated response is:
next_page_url until it is null.
Dates and ids
- Dates are ISO 8601 strings, for example
2026-10-24T09:12:44+00:00. - Ids are opaque strings (
AGI-XXXXX,ste_..., uuids). Store them as strings, never parse them.
Rate limits
Every response tells you where you stand:
Beyond the limit, the API answers with the HTTP status 429, a
Retry-After header (in seconds) and the usual envelope:
Retry-After seconds before sending more requests. Spread batch jobs over time, and use webhooks instead of polling.
What is in the API
The full list is in Endpoints, generated from the OpenAPI specification.