/v1.
What runs where
- API gateway
- Workers
- Dashboard
Stateless HTTP handlers authenticate API keys, enforce rate limits, perform balance and policy checks, classify messages, place holds, enqueue work, and return structured JSON including billing fields. The gateway responds fast — dispatch happens asynchronously.
Request lifecycle
Authenticate
The API key is validated and resolved to a workspace, rate limit bucket, and access scope.
Validate and classify
For sends, the message is classified into a billing unit (Basic, Single, Conversation, or MAU) from content shape and channel context.
Check balance and hold
The free balance is decremented by the hold amount. If it would go negative, the request returns 402 immediately with balance details and a top-up URL.
Enqueue
The dispatch task is queued for background processing. This is fast — providers are called asynchronously.
Respond
The API returns
message_id, status: queued, and a billing snapshot. No waiting for delivery confirmation.Versioning
Resources are namespaced under/v1. Additive changes (new fields, new routes) may ship without a major version bump. Breaking changes surface as new major versions with a migration window.
Related
- API reference overview — base URL and quick links
- Authentication — API key security
- Errors — HTTP status reference
- Architecture — pipeline and storage layers