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:
||(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.|
||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.|
||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:
Twilio has not received updated delivery information for your message. Typically, a
Your messages will stay in
||Twilio has received confirmation of message delivery from the carrier, (and, where available, the destination handset).|
||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.|
||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
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
||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.