Message statuses
What each status means, and why accepted is never delivered.
The statuses
accepted: Sendd durably recorded the message and held its price. Not proof of delivery.submitted: the provider acknowledged the submission. Not delivered.delivered: a positive delivery receipt arrived.failed: a known rejection, before or by the provider.undelivered: the provider reported that the handset did not receive it.unknown: the provider's outcome is ambiguous. Sendd never resends it automatically.cancelled: a campaign message cancelled before it was sent; its share of the hold is released.
Accepted is not delivered
202 Accepted from POST /v1/messages means the message is recorded and paid for, and will be dispatched. Only delivered means a delivery receipt arrived; no receipt is never treated as delivered.
Unknown
When Sendd cannot tell whether the provider took a message (for example the connection broke after sending), the message becomes unknown. Resending it could deliver it twice, so Sendd does not; it is resolved by reconciliation.
Order and finality
Receipts can arrive late, twice or out of order. Sendd keeps every one, and a late receipt never moves a message out of a final status.
GET /v1/messages/{id} also lists each attempt Sendd made and every receipt it received.
curl "$SENDD_API_URL/v1/messages/$MESSAGE_ID" \
-H "Authorization: Bearer $SENDD_API_KEY"