What are the Possible SMS and MMS Message Statuses, and What do They Mean?

Every Twilio SMS or MMS message request has a status value which describes the current state of the message. Here are the possible message statuses, and their meanings.

Outbound Message Status Progression

When sending outbound messages with the REST API, this is a typical sequence of status values:

accepted (Messaging Services only) Twilio has received your request to create the message from a Messaging Service. Twilio is determining the optimal 'From' number from your service.

(Message Scheduling only) Twilio has received your request to schedule a message for a later time/date. The message will remain scheduled until the SendAt time, at which point it will move to the queued status (or failed if there is an issue). For details see the Message Scheduling API docs and the Message Scheduling FAQ.

queued Twilio has received your request to create the message. All new messages sent from a specific Twilio phone number are created with a status of queued.
sending Twilio is in the process of sending the message. This status is usually only present for a very short time.
sent Twilio has received a confirmation from our Super Network partner advising they have accepted the message.

Finalized Message Delivery Status

After a message has been sent, the following final delivery status options are possible:

sent Twilio has not received updated delivery information for your message. Typically, a sent status will be replaced by a delivered or undelivered status within seconds or minutes. Please note that US/Canada long code MMS often remain in sent status due to a lack of final delivery status updates from carriers. Once a message is older than 72 hours, receiving a further status is unlikely, although we will update the record if we receive one. Your messages will stay in sent status forever if you are sending messages using the deprecated /SMS/Message REST API Resource, which does not support delivery status updates.
delivery_unknown (Displayed in Messaging Insights) This indicates that a message has remained in the sent status for longer than 1 hour without receiving a further status update. This status is only shown in Messaging Insights; SMS records will remain in the sent status in the Message Log or /Messages API.
delivered Twilio has received confirmation of message delivery from the carrier, (and, where available, the destination handset).
undelivered Twilio has received a delivery receipt indicating that the message was not delivered. This can happen for a number of reasons including carrier content filtering, availability of the destination handset, etc.
failed The message could not be sent. This can happen for various reasons including queue overflows, account suspensions and media errors (in the case of MMS). Twilio does not charge you for failed messages.

Notice: Twilio charges for any message delivery attempt, whether it was successful or not. Messages with the statuses sentdelivered, and undelivered, will all be reflected in your project balance.
Messages marked as failed usually indicate that the provider did not accept the message at all, and are therefore not charged.
For more further assistance, please see our article for Troubleshooting undelivered Twilio SMS messages.

Incoming Message Status

received An incoming message has been processed, and Twilio has delivered the message to your Twilio number.

Track Message Statuses

If you want to track the status of your outbound messages, you can use the StatusCallback parameter to get notifications back to your application when Twilio received a delivery status update. For more information, please see our article Tracking the Delivery Status of an Outbound Message.

Have more questions? Submit a request
Powered by Zendesk