Skip to content

Search for a complete word or an exact phrase.

Delivery status

Acceptance and delivery are separate events

Section titled “Acceptance and delivery are separate events”

A successful HTTP response confirms the result of the API operation. It does not prove that the recipient received the message. Use the public identifier returned at creation to retrieve GET /api/sms/v2/messages/{id}/.

Scroll horizontally if needed. Keyboard: Tab, then the left and right arrow keys.

StatusMeaning
scheduledThe message is recorded for a future time.
processingSending is being processed.
acceptedThe submission was accepted; delivery is not yet confirmed.
deliveredA receipt confirms delivery.
undeliverableThe delivery outcome indicates that delivery is impossible.
blockedSending is blocked before submission to the provider.
failedSending failed with a definite outcome.
unknownAvailable evidence is insufficient to determine the outcome.

You will not necessarily observe every state while polling. Receipts can arrive quickly, late or more than once.

The key needs delivery.read and must belong to the message’s organization. Retain the last known state and gradually increase the interval between polls while no terminal result is available. Handle any HTTP 429 limit according to the response instructions.

For batches, retrieve aggregate counts and page through messages using the returned cursor. Successful batch creation does not replace individual delivery outcomes.

Do not display unknown as “not sent”. Show an explicit state and retain the identifier for investigation. A delay without a receipt is also insufficient to conclude that delivery failed.

If the outcome remains uncertain, contact support with the identifier and relevant time period.