Send a message, observe delivery, and scale safely
Messaging should read like an implementation workflow: authenticate, test in sandbox, send one message, inspect status, subscribe to events, then scale into bulk or verification flows.
Docs mode
Reference and guide
Keep the task clear, the example nearby, and the next step obvious.
Messaging workflow
Start with one real request, then add delivery logic before scale
Developers should not have to infer the happy path. Show them the exact first request, the endpoint family that matters, and the operational checks required before moving into higher-volume messaging.
Three-step path
Authenticate once
Use a sandbox or production API key in the Authorization header before touching any messaging endpoint.
Send a single request
Start with one SMS send so teams can confirm sender identity, country, and response handling without throughput noise.
Observe delivery
Check status lookups and delivery webhooks before scaling into bulk, retry, or OTP workflows.
Core endpoints
Operational checks
Handle auth and sender errors early
A 401 or 403 usually means the API key, scope, tenant, or sender identity is wrong for the current market.
Retry only the right failures
Use backoff for 429 and 503 responses, then rely on webhook status updates to avoid duplicate application logic.
Keep sandbox and production separate
Validate payload shape and webhook handling in sandbox first, then move to live keys only when the request path is stable.
Delivery lifecycle
Status values should map directly to application behavior
Keep status handling close to the send example so developers know what to store, when to retry, and when to wait for asynchronous delivery events.
Callback checklist
Accept unknown fields safely so future delivery metadata does not break webhook processing.
Delivery event example
What your webhook receives
{
"event": "message.delivered",
"messageId": "msg_01JPFZ0D4PT4X6YQ8ZZ8E1KS8R",
"status": "delivered",
"channel": "sms",
"occurredAt": "2026-03-09T10:15:00Z"
}