Delivery report statuses


When sending an SMS, the SMS API and Web Platform offer multiple statuses that let you know if the SMS was successful or not.

Some of the statuses are intermediate, such as "ACCEPTED," which indicates that the provider has accepted the message for delivery but has not yet supplied a final delivery status. Some of the statuses are final, which means they don't change anymore.

The following statuses are available:

Status Status Code Type Description
ACCEPTED 0 Intermediate The initial status of an SMS. It means that your request was received and the SMS is about to be sent
SENT 3 Intermediate The message was sent to the recipient but no final status is available yet
DELIVERED 1 Final Message was delivered to the mobile phone
FAILED 2 Final Message was not delivered
NO COVERAGE 5 Final Message was not accepted for delivery because there is no coverage to specified destination. You will not be billed for messages with this status
REJECTED 4 Final Message was not accepted for delivery (the recipient is in blacklist/optout list). You will not be billed for rejected messages
SCHEDULED 9 Intermediate Message was scheduled for processing at the specified date and time

Note 1: Statuses of type Intermediate will not trigger a request to your callback URL (webhook).

Note 2: You are billed for any message delivery attempt, whether it was successful or not. Find out more here.


Troubleshooting for failed SMS messages

When SMS messages don't get delivered, we can find out why by looking at the error code provided in the delivery report. If the "errorCode" parameter has a value of "null," the SMS message was successfully delivered.

Example delivery report of failed SMS

{
    "event": "dlr_update",
    "data": [
        {
            "campaignId": "14b09fcc-3beb-46ae-b7dc-22b52ffd0bfd",
            "msgId": "d8ca3153-cb30-402b-b97e-ccc4df49fe00",
            "trackData": "",
            "statusCode": 2,
            "status": "FAILED",
            "errorCode": 5,
            "datetime": "2022-05-13 13:35:24"
        }
    ]
}

Below is a list of all the error codes and what they mean:

errorCode Type Description
null No error No error in the handling of the message
1 Unknown Message was not delivered, and no reason could be provided
2 Unknown Number The destination number is unknown or no longer exists
3 Roaming The destination number is in roaming and cannot accept the message
4 Number Blocked The destination number is blocked by the network operator to receive the message
5 Carrier Rejection The message was blocked by the operator's anti-spam filter. Check the content of your message
50 Regulation Error Unknown country specific regulation error
60 General Error There was an error in the routing of the message

Was this page helpful?