Tracking

Message status and delivery reports

statusMeaningFinalCharged
scheduledWaiting for send_at.NoYes, refunded if canceled
queuedAccepted and waiting for the next queue pass (every two seconds).NoYes
sentHanded to the network; waiting for the delivery report.NoYes
deliveredThe handset confirmed delivery.YesYes
failedCould not be delivered; error says why.YesNo, refunded
canceledIts scheduled batch was canceled.YesNo, refunded

Error codes on messages

error.codeMeaning
network_errorThe message could not be handed to the network. Its price is back in the balance.
undeliverableThe network reported that the handset could not be reached.
canceledThe scheduled batch was canceled before it started.

Refunds

When a message fails, its full price goes back to the balance in the same pass, as a refund line in the ledger that names the batch. The batch field refunded shows the running total.

Webhooks or polling

Webhooks are the fast path: each final status calls your endpoint once it is set. For small volumes, or to double-check, poll GET /v1/messages/{id} or GET /v1/batches/{id}; the rate limit leaves room for both.

Message status and delivery reports | BulkSMSAPI Docs