Click here to read our full message deliverability guide.

When you send a message using the /message/send route, the message delivery may later fail with an error code even if the initial request received a 200 response. This is because the response only indicates that the message was succesfully queued for sending with our downstream SMS provider and the cell carriers.

The message delivery can fail for a number of reasons. You can track the delivery status of each message by navigating to the Messages tab on your dashboard and viewing the logs, or by using webhooks to be notified of delivery status changes for each message.

Message statuses

A message stuck in SENT status almost always means it was delivered.
StatusDescription
CREATEDMessage has been created and will be queued for sending.
QUEUEDMessage is queued and is expected to be sent shortly.
SENTMessage has been successfully sent to the recipient.
DELIVEREDDelivery receipt has been received (sometimes inconsistent).
FAILEDMessage failed to be delivered. See list of codes below.
SCHEDULEDMessage is queued for sending at the scheduledTime

Failure codes

When a message delivery fails, the status field of the message will be set to FAILED and the errorCode field will be set to one of the following error codes:

Don’t be intimidated by this long list. You won’t see most of these errors :)
CodeDescription
1002Please check to make sure you have the correct recipient address/format in your “to” address.
1005Subscriber has not consented to receive the message.
1007Message could not be sent within the expiry time defined. Please resend the message.
1009Destination device is unreachable. If the error persists, please contact us. (see more)
1010File refused. Please retry after selecting a different mimetype for your MMS file.
1012Message size exceeds max allowed size. Please retry after reducing the message size.
1014Message encoding failed. Please retry after fixing the unsupported message contents.
1016Invalid/illegal character in URL. Please retry after removing illegal characters in the url.
1019Attachment size exceeds max allowed size. Please retry after reducing the attachment size.
1026Too many recipients. Please retry after reducing the number of recipients.
1030Too many recipients in one batch. Please retry after reducing the recipients in the batch.
1038Outgoing queue is full. Please contact support.
1039The message exceeds throttling limit. If the error persists on retry, please contact support.
1040Invalid scheduled delivery time. Please retry message after fixing the schedule delivery time.
1043Destination address is invalid. Please retry after fixing the destination address.
1046Message was rejected. Please contact support.
1047Permission denied. Please contact support.
1049Invalid request. Please contact support.
1051Message validation failed. Please contact support.
1053Failed to upload media URL. If the error persists on retry, please contact support.
1054Failed to download media URL. If the error persists on retry, please contact support.
1056Recipient number is deactivated. Please change recipient number and retry.
1058Message scheduled time too far ahead. Please change Message Schedule time and retry.
1059Message request timed out. Please contact support.
1062Daily quota restriction violation. If the error persists on retry, please contact support.
1065Message restricted by upstream provider. Please contact support.
1203Temporary failure reaching recipient. If the error persists on retry, please contact support.
1310Recipient has unsubscribed from messages from your campaign (i.e. by texting STOP).
1320You have reached your (see more).
1330Message blocked by upstream provider. Please contact support.
1340Messaging exceeded (see more).
1350Phone number is invalid or inactive (cannot receive text messages).
1360Phone number is a landline (cannot receive text messages).
4XXXInternal server error. Please contact support.