Help centre
Why did my message fail?
Every SMS and WhatsApp failure has a reason code. Search your code below to see what it means and exactly how to fix it - the same explanations appear next to failed messages in your dashboard.
Delivery status
| Status | What it means | What to do |
|---|---|---|
| Delivered | The operator confirmed the message reached the handset. | Nothing to do. |
| Pending / Sent | Submitted to the operator; the final delivery report has not arrived yet. | Wait - most reports arrive within minutes; some phones that are off report up to 48 hours later. |
| Undelivered / Failed | The operator could not deliver the message. The error code tells you why. | Find the code below and apply the fix. |
| Expired | The phone was off or out of coverage for the whole validity period. | Resend later or use another channel (e.g. WhatsApp) for these numbers. |
| DND / NDNC | The number is on the Do-Not-Disturb registry and the message was promotional. | Send promotional SMS only to non-DND numbers; transactional / service templates are allowed where they genuinely apply. |
| Rejected | Blocked before delivery - usually a DLT check (template, header, PE ID, consent) failed. | Check the error code below; most rejections are fixed on your DLT portal. |
| Blacklisted | The number is on your or the platform's block list. | Remove the number, or ask support to review the block if it is wrong. |
| Invalid sender ID | The header used is not approved for your account. | Use an approved sender ID from Panel > Sender IDs. |
| Spam | The content matched spam rules. | Use only approved templates; avoid shortened unknown links and misleading wording. |
| No / insufficient credit | Your balance was too low when the message was sent. | Recharge your account and resend the failed numbers. |
SMS - DLT & operator codes
Indian telecom rules (TRAI DLT) check the entity (PE ID), header, template and consent of every business SMS. These codes tell you which check failed.
| Code | Problem | How to fix |
|---|---|---|
| 600, 601, 602, 603, 604, 605, 812, 813 | Entity (PE ID) problem on DLT Your Principal Entity ID was not found, is inactive/blacklisted, or does not match the header or telemarketer. | Check your PE ID on the DLT portal and in your account; it must be the entity that owns the header and template. |
| 610, 611, 612, 613, 614, 615, 616, 617, 618, 680 | Telemarketer chain problem The DLT telemarketer chain (PE-TM link / hash) for this message was missing or not valid. | Contact support with this code; the PE ID must be linked to our telemarketer on your DLT portal. |
| 620, 621, 622, 623, 624, 625, 626 | Header (sender ID) problem on DLT The header was not found, is inactive, blacklisted, suspended, or not linked to your PE ID. | Check the header status on your DLT portal (renew / reactivate it) and that it belongs to your PE ID. |
| 627, 629 | Spam content detected The operator's DLT system flagged the content as spam for this header. | Review the message content (links, wording) and use only approved templates. |
| 630, 631, 632, 636, 637, 638, 639, 640, 641 | Template problem on DLT The Template ID was not found, inactive, blacklisted, suspended, or not registered for your entity. | Use an active approved template with its correct Template ID; renew or re-register it on the DLT portal if needed. |
| 633 | Text does not match the template The text sent does not match the template registered for this Template ID. | Copy the template text exactly from the DLT portal; change only the {#var#} parts. |
| 634 | Header not linked to template This header is not registered for the template used. | Send the template only with its approved header, or link the header to it on DLT. |
| 635 | Variable longer than allowed A {#var#} value was longer than the maximum length DLT allows. | Keep each variable value within 30 characters; use a short link for long URLs. |
| 642 | Link / CTA not whitelisted The template failed scrubbing because its URL / call-to-action is not whitelisted on DLT. | Whitelist the URL or domain (CTA) on your DLT portal, or use a whitelisted short link. |
| 650 | Number on DND The recipient has set a DND preference that blocks this message category. | Do not send promotional SMS to DND numbers; use a transactional / service template only where it applies. |
| 651 | Promotional SMS outside 10 AM – 9 PM Promotional SMS are blocked between 9 PM and 10 AM. | Schedule promotional campaigns between 10:00 and 21:00. |
| 652 | Service-explicit to full DND without consent Service-explicit message to a fully-DND number with no consent on DLT. | Register the customer's consent on DLT or send only to consenting customers. |
| 660 | Consent problem The recipient's consent for this message is missing or invalid on DLT. | Send only to customers with valid consent registered on DLT. |
| 670 | DLT scrubbing failed The operator's DLT scrubbing failed for this message. | Usually temporary; resend later. Contact support with the code if it repeats. |
| 901, 902 | Message longer than the template The message failed the DLT length check (longer than the approved template allows). | Keep the text within the approved template length; long variables or extra text push it over. |
| 2057 | Invalid number The mobile number is not valid (wrong length, prefix or format). | Clean your list: 10-digit Indian mobile numbers with country code 91, no spaces or symbols. |
| 7001 | Entity (PE ID) inactive Your Principal Entity is inactive on DLT. | Renew / reactivate your entity on the DLT portal, then share the PE ID with support if it changed. |
| 7002 | Entity (PE ID) blacklisted Your Principal Entity has been blacklisted on DLT. | Contact your DLT operator portal to resolve the blacklisting; messages cannot go until it is lifted. |
| 7003 | Entity (PE ID) not found The PE ID sent with the message is not registered on DLT. | Check the PE ID saved in your account against the DLT portal and correct it. |
| 7004 | Entity (PE ID) missing The message was sent without a PE ID. | Make sure your PE ID is saved in the account / passed in the API call. |
| 5101 | Number fully or promo blocked (DND) The recipient has fully blocked commercial SMS or blocked promotional SMS. | Do not send promotional SMS to these numbers; use a transactional or service template only where it truly applies. |
| 5102 | Blocked category preference The recipient blocked the category this template belongs to (e.g. banking, real estate, education). | Remove these numbers from campaigns of this category, or take explicit consent. |
| 5103 | Blocked communication mode The recipient blocked this mode of communication (SMS). | Remove these numbers from SMS campaigns. |
| 5104 | Recipient preference active An active DND preference on the number blocked this promotional message. | Send promotional SMS to non-DND numbers only. |
| 5105 | Blocked on preferred day The recipient blocked commercial SMS on this day of the week. | Send on another day or remove these numbers from promotional campaigns. |
| 5106 | Blocked at preferred time The recipient blocked commercial SMS at this time of day. | Send at another time or remove these numbers from promotional campaigns. |
| 5107 | Blackout time (promotional) Promotional SMS are blocked between 9 PM and 10 AM. | Schedule promotional campaigns between 10:00 and 21:00. |
| 5108 | Promo content, preference terminated Promotional content to a number whose preference status is terminated. | Remove these numbers from promotional lists. |
| 5109 | Blocked category matches consent category The blocked preference category matches the consent category of this promotional message. | Remove these numbers or obtain fresh consent for this category. |
| 5201 | Header (sender ID) inactive The sender ID is not active on DLT. | Reactivate the header on your DLT portal or use an active one. |
| 5202 | Header blacklisted The sender ID is blacklisted on DLT. | Use a different approved header; resolve the blacklisting on the DLT portal. |
| 5203 | Header not registered The sender ID is not found / registered on DLT. | Register the header on DLT (case-sensitive) or send with a registered one. |
| 5204 | Header inactive at operator The header is inactive on the operator side (HDR_OP_INACTIVE). | Reactivate the header on DLT; contact support if it is active on the portal. |
| 5205 | Header not linked to your PE ID The entity ID sent does not match the entity that owns this header. | Use a header registered under your own PE ID, and check the PE ID in your account. |
| 5206 | Alphabetic header on promo route An alphabetic sender ID was used on the promotional route (promo needs a numeric header). | Send promotional SMS with a numeric header, or use the transactional/service route for alphabetic headers. |
| 5213 | Header suspended (usage) The header was suspended on DLT because of its usage pattern. | Check the header status on your DLT portal and get it restored before sending. |
| 5214 | Header suspended (validity) The header's validity has lapsed on DLT. | Renew the header on your DLT portal. |
| 5215 | Header suspended by you The header was suspended from your own DLT account. | Reactivate it on your DLT portal if you want to use it. |
| 5302 | Template blacklisted The content template ID is blacklisted on DLT. | Register a new compliant template and send with it. |
| 5303 | Template not linked to this header The template ID used is not registered with the sender ID used. | Send this template only with the header it was approved for, or link the header to it on DLT. |
| 5304 | Template not registered on DLT The content (template) ID used is not registered on DLT. | Send only an approved template with its correct DLT Template ID (only {#var#} parts may change). For a new message, register the template on your DLT portal first. |
| 5305 | Template type mismatch The template type (promo / transactional / service) does not match how it was sent. | Send the template on the route of its registered type. |
| 5306 | Template not active / blacklisted The template ID used is not active (blacklisted) on DLT. | Use another active approved template, or register a new one. |
| 5307 | Text does not match the template The text sent does not match the registered template (outside the {#var#} parts). | Copy the template text exactly from the DLT portal; change only the {#var#} parts (no extra spaces, words or line breaks). |
| 5308 | Template ID missing The message was sent without a DLT Template ID. | Pass the Template ID with every message (panel template or API dlttemplateid). |
| 5309 | Template blacklisted by operator The template ID was blacklisted by the operator (VISPL). | Register a new compliant template. |
| 5310 | Multipart message incomplete Not all parts of a long (multipart) message reached DLT scrubbing. | Resend; if it repeats, shorten the message or contact support. |
| 5311 | Template inactive The template is inactive on DLT. | Reactivate the template on your DLT portal or use an active one. |
| 5312 | Variable longer than 30 characters A {#var#} value was longer than the 30 characters DLT allows. | Keep each variable value within 30 characters; use a short link for long URLs. |
| 5313 | Template suspended (usage) The template was suspended on DLT because of its usage. | Check the template on your DLT portal and get it restored, or use another approved template. |
| 5314 | Template suspended (validity) The template's validity has lapsed on DLT. | Renew the template on your DLT portal. |
| 5315 | Template suspended by you The template was suspended from your own DLT account. | Reactivate it on your DLT portal if you want to use it. |
| 5401 | Header inactive for this category Transactional / service message sent with an inactive or blacklisted header. | Reactivate the header on DLT or use an active one. |
| 5402 | Template inactive for this category Transactional / service message sent with an inactive template. | Reactivate the template or use an active one. |
| 5403 | Template linked to another header Transactional / service template sent with a header it is not linked to. | Use the header the template was approved with. |
| 5404 | Wrong template type (transactional) Sent as transactional but the template is registered as another type. | Send on the route that matches the template type. |
| 5405 | Wrong template type (service implicit) Sent as service-implicit but the template is registered as another type. | Send on the route that matches the template type. |
| 5406 | Wrong template type (service explicit) Sent as service-explicit but the template is registered as another type. | Send on the route that matches the template type. |
| 5501 | No consent on record Service-explicit message sent without the recipient's consent registered on DLT. | Register the customer's consent on DLT, or use a different template type. |
| 5502 | Consent expired The recipient's consent on DLT has expired. | Get fresh consent from the customer. |
| 5503 | Consent not given The recipient has not given consent for this message. | Send only to customers who have given consent. |
| 4000, 4001 | DLT system error / timeout The operator's DLT scrubbing system had an error or timed out. | Temporary; resend the failed numbers after some time. Contact support if it continues. |
| 5901 | Link / CTA not whitelisted The message contains a URL, number or call-to-action that is not whitelisted against your header on DLT. | Whitelist the URL/domain (CTA) on your DLT portal for this header, or use a whitelisted short link. |
| 5902 | Link blacklisted A URL in the message is blacklisted at DLT. | Remove or replace the link with an allowed / whitelisted one. |
WhatsApp codes
| Code | Problem | How to fix |
|---|---|---|
| 131049 | Healthy ecosystem engagement / message not delivered This message was not delivered to maintain healthy ecosystem engagement. Common causes: The user already received many marketing messages (from you or other businesses) recently; Low engagement with your earlier messages: not read, not replied. | Send marketing templates only to users who opted in. Reduce how often you send marketing messages to the same user. |
| 131050 | User stopped marketing messages Unable to deliver the message. This recipient has chosen to stop receiving marketing messages on WhatsApp from your business. Common causes: The user tapped Stop / turned off marketing messages from your business in WhatsApp. | Do not resend marketing templates to this number. You can still send Utility and Authentication templates when they are genuinely transactional. |
| 131026 | Message undeliverable Message could not be delivered to the recipient. Common causes: The number is not on WhatsApp; The user is on an old WhatsApp version. | Send to the full international number: country code + number, digits only (for India: 919876543210). Remove spaces, dashes, brackets and a leading 0. |
| 131047 | Re-engagement message (24-hour window closed) More than 24 hours have passed since the recipient last replied to the sender number. Common causes: You sent a free-form (session) message after the 24-hour customer service window closed. | Send an approved template message instead. When the customer replies, the 24-hour window opens again and free-form replies work. |
| 131048 | Spam rate limit hit Message failed to send because there are restrictions on how many messages can be sent from this phone number. Common causes: Many of your earlier messages were blocked or reported as spam; Low quality rating on the phone number. | Pause bulk sending and review recent templates and audiences. Send only to opted-in users and reduce promotional volume. |
| 131056 | Pair rate limit hit Too many messages sent from the sender phone number to the same recipient phone number in a short period of time. Common causes: Several messages to the same user within seconds, often from loops or repeated retries. | Wait before sending to the same user again. Combine information into one message. |
| 130429 | Rate limit hit (throughput) Cloud API message throughput has been reached. Common causes: Your app sent more messages per second than the phone number allows. | Slow down and queue messages. Retry failed messages with a back-off delay. |
| 131051 | Unsupported message type Unsupported message type. Common causes: The message type is not supported (for example sending a type the API does not accept, or the user sent one the API cannot receive). | Use a supported type: text, image, video, audio, document, sticker, location, contacts, interactive or template. |
| 132000 | Template parameter count mismatch Number of parameters does not match the expected number of params. Common causes: The template has variables such as {{1}} and {{2}} but your request sent a different number of values. | Send exactly as many values as the template has variables. Send them in the right order ({{1}}, {{2}}, ...). |
| 132001 | Template does not exist Template name does not exist in the translation. Common causes: Wrong template name; The language code in the request is not the language the template was approved in. | Use the exact template name (lowercase with underscores). Send the same language code the template was created with - for example en if it was created as English, en_US if it was created as English (US). |
| 132005 | Template hydrated text too long Translated text too long. Common causes: After filling in the variables, the message is longer than Meta allows. | Shorten variable values. Use short or tracked links instead of long URLs. |
| 132007 | Template format character policy violated Template content violates a WhatsApp policy. Common causes: Spam-like or misleading content; Restricted products or services. | Edit the content and remove misleading or spammy wording. Check the WhatsApp Business and Commerce policies. |
| 132012 | Template parameter format mismatch Variable parameter values formatted incorrectly. Common causes: The value type does not match the template, for example text where the header expects an image, or the wrong document type. | Send the parameter type the template expects (text, currency, date-time, image, video, document). Check the media link is public and of the right type. |
| 132015 | Template is paused Template is paused due to low quality so it cannot be sent in a template message. Common causes: Users blocked or reported messages sent with this template; Low engagement. | Improve the content and audience. Reduce frequency. |
| 132016 | Template is disabled Template has been paused too many times due to low quality and is now permanently disabled. Common causes: Repeated low-quality pauses. | Create a fresh template with improved content. Send only to engaged, opted-in users. |
| 131008 | Required parameter is missing The request is missing a required parameter. Common causes: A required field such as to, type or template name is missing in the API request. | Compare your request with the API reference and add the missing field. |
| 131009 | Parameter value is not valid One or more parameter values are invalid. Common causes: A value is in the wrong format, for example a bad phone number, language code or media ID. | Check each value against the API reference. Use E.164 numbers without + or spaces in the to field when in doubt. |
| 131052 | Media download error Unable to download the media sent by the user. Common causes: The media the customer sent could not be downloaded (expired or unavailable). | Ask the customer to send the file again. |
| 131053 | Media upload error Unable to upload the media used in the message. Common causes: Unsupported file type; File too large. | Use supported formats (JPG/PNG images up to 5 MB, MP4 video up to 16 MB, PDF and Office documents up to 100 MB). Make sure the link opens publicly over https. |
| 190 | Access token expired or invalid Invalid OAuth access token. Common causes: A temporary token expired or the token was revoked. | Use a permanent system-user token. Update the token in your integration. |
| 100 | Invalid parameter Invalid parameter. Common causes: The request JSON or a field is not in the expected format. | Validate the JSON. Check parameter names and structure. |
| 368 | Temporarily blocked for policy violations The WhatsApp Business Account is restricted or disabled for violating a platform policy. Common causes: Your account violated a WhatsApp Business or Commerce policy. | Check Account Quality in Meta Business Manager. Stop the activity that caused the violation. |
| 131031 | Account has been locked The business account has been locked. Common causes: Policy violation, or the data in the request could not be verified (for example the two-step verification PIN). | Check Account Quality in Meta Business Manager. Request a review. |
| 131042 | Business eligibility payment issue There was an error related to your payment method. Common causes: No valid payment method on the WhatsApp Business Account; Card declined or international payments disabled. | Add a valid card in Meta Business Manager > Billing. Enable international transactions on the card. |
| 133010 | Phone number not registered The phone number is not registered on the WhatsApp Business Platform. Common causes: The business number was never registered on the Cloud API, or registration failed. | Register the phone number (with its two-step verification PIN). Check the number status in WhatsApp Manager. |
| 131000 | Something went wrong Message failed to send because of an unknown error. Common causes: A temporary problem on the WhatsApp side. | Retry after a short delay. If it keeps failing, contact support with the message ID. |
No code matches your search - ask our support team.
Still stuck?
Send us the code and a sample number - we'll check it with the operator for you.