Error Codes

    You can use Plivo SMS error codes to identify reasons for message delivery failures. These error codes are part of the Message Detail Record (MDR), and also included in  status update events sent to the callback url specified in the Send Message API request.

    Error CodeReasonDescription
    10Invalid messagePlivo runs basic validations on the message content when a send message API request is received, but some messages may be rejected by downstream carriers. This error code indicates that the message was rejected by downstream carriers with the reason “invalid message.” Please contact Plivo support if you encounter this error frequently.
    20Network ErrorThe carrier delivering the text message had network issues. This is a temporary error. You can retry later when the carrier network is unaffected.
    30Spam Detected

    One of the most common reasons for SMS delivery failure is carrier-level spam filters. Carriers have added systems and algorithms to detect spam content and block messages before they get delivered. Unfortunately, these filters are always hidden, are subject to carrier preferences, vary from carrier to carrier, and can be changed without notice.

    Another common reason why this error code could be returned is that you may have attempted to send too many messages using long code phone numbers in the US and Canada. Long codes are 10-digit phone numbers and are intended for person-to-person (P2P) communication.

    If you get this error frequently, we recommend you use short codes for sending bulk messages within the US and Canada. Visit our short code page to learn about obtaining and setting up a short code for your campaign.

    40Invalid Source NumberThe source number you entered is either not in the correct format, not SMS-enabled, or not assigned to your Plivo account. Check the “src” phone number in your application and ensure that it’s in the correct format and has the ability to send text messages.
    50Invalid Destination NumberThe destination number you entered is either not entered correctly, not SMS-enabled, or is a PSTN landline. Check the “dst” phone number in your application to ensure that it’s able to receive text messages. If you’re sending multiple text messages, make sure that the phone numbers are separated with the “<” character (e.g., 14156667777<14157778888<14158889999).
    60Loop DetectedThe carrier is not able to route your SMS because certain settings in your application create an endless loop of messages being sent and received between your “src” and “dst” phone numbers. This can occur when two autoresponding SMS applications start to talk to each other. Carriers detect loops by comparing messages sent and received within a predefined period of time to previous messages, though not all carriers have loop detection. SMS loops increase unnecessary spend, so to ensure that your applications don’t trigger loops, it’s a good idea to create loop filters in your applications. In some cases, this error code is returned when the carrier determines that it’s impossible to route the message, so it has to be dropped as it’s being looped between platforms.
    70Destination Permanently UnavailableThe destination (“dst”) phone number is not active and there is no indication of when it will become available again. This is a broad error code that’s generated when the carrier hasn’t indicated the reason for the destination unavailability. Check the “dst” phone number to ensure that it’s correct. Also, try sending messages to an alternative number to ensure that all other parts of your application are working.
    80Destination Temporarily UnavailableThe destination (“dst”) phone number is not reachable. This is a broad error code, and often the carrier doesn’t indicate the reason for the destination to be temporarily unavailable. Possible reasons may include a handset being turned off or out of coverage. To resolve this problem, retry your messages later.
    90No route availableThe carrier and fallback carriers were not able to deliver the SMS message because no route was available. Carriers don’t provide a reason why a route is unavailable, but this is typically a carrier issue. To get more information, you can contact us and include the message UUIDs of the messages affected.
    100Prohibited by CarrierThe carrier rejected the message because the network didn’t support the message being sent. This can occur if the destination network doesn’t support SMS.
    110Message too longThe message content exceeds the limit of 1,600 characters for GSM-encoded messages and 737 for UCS-2-encoded messages. Note that depending on the byte size, emoji characters can also increase the message character count. Plivo automatically concatenates messages longer than 160 characters for GSM-encoded messages and 70 characters for UCS-2-encoded messages. Our documentation on encoding and concatenation has more details.
    200Source number blocked by STOP from destination numberThe destination has opted out from your campaign and blocked all messages sent from your phone number. All messages to destinations that have opted out are blocked until the destination opts in with another response. Our documentation has more details about the opt-in and opt-out processes.
    300Failed to dispatch MessageAn error was encountered while passing the message to downstream carriers. This is an internal failure; messages with this error code can be retried at a later time. Customers are not charged for messages that fail with this error code. Please raise a support ticket if you see this error consistently.
    420Message ExpiredMessages that remain in Plivo processing queues for longer than 16 hours are not forwarded to a downstream carrier. If you consistently receive this error for your outbound SMS traffic to the US and Canada, consider spreading your traffic across a larger pool of source numbers. Reach out to your Plivo sales representative to talk about the global rate limit for your Plivo account.
    450Destination Country DisabledMessages to this destination country have been disabled for your account. To enable them, update your Geo Permission preferences on the console.
    900Insufficient CreditYour account does not have the required credits to send this message. Recharge your account and try again.
    910Account DisabledThe message was rejected because the parent Plivo account was found to be in a disabled state when the message was dequeued for processing.
    1000Unknown ErrorDelivering your message failed for reasons that are unknown to us and to our carriers. If you notice too many of these cases, please open a support ticket so we can help you identify the problem. Include the message UUIDs of recent messages (preferably within the last 72 hours) that were affected.
    2xxxHTTP Error Received From Message URL For Incoming SMSThe xxx part of the error code represents the HTTP error response received from the message_url for an undelivered incoming SMS message.

    Plivo attempts to deliver an incoming message to the associated application’s message_url multiple times before marking the message as undelivered. Read more about our retry policy.
    120MMS Message Payload Too LargeThe total size of the MMS payload (text plus media) exceeds the 5MB limit. Messages exceeding the 5MB limit are not submitted to downstream carriers and are marked as “failed.” Plivo doesn’t charge for failed messages.
    130Unsupported Message MediaOne or more of the attached MMS media is of an unsupported type. See our list of supported types. Messages containing unsupported media are not submitted to downstream carriers and are marked as “failed.” Plivo doesn’t charge for failed messages.
    140Message Media Processing FailedThe specified media attachments could not be processed. This may happen if the media URL specified is unreachable or file data is incorrectly formatted. Plivo doesn’t charge for failed messages.