You are currently viewing WhatsApp API Error Codes Explained: Meaning and Fix for Each

WhatsApp API Error Codes Explained: Meaning and Fix for Each

  • Post author:
  • Post category:Tips
  • Post comments:0 Comments

A WhatsApp message didn’t go out, and all you have is a number: 131047, 131026, 132000, 131049. The dashboard says failed, and the number means nothing to you.

Every failure on the WhatsApp Business API comes with an error code from Meta, and each code has a documented meaning and a documented fix. This page groups the codes businesses hit most often, explains each one in plain words with what to do about it, and links to a detailed guide for the ones that cause the most confusion. Every row is checked against Meta's Cloud API error reference.

How WhatsApp API errors reach you

Meta returns errors in two ways. Some come back immediately, in the reply to your send request: a wrong template name, a missing value, an expired token. Others come later: the API accepts the message, then the messages webhook reports it as failed with an error code, for example because the customer isn’t on WhatsApp. Meta’s advice is to watch both.

Each error carries a numeric code and a short details text, and Meta recommends building your error handling around those two fields. The reference does not give an HTTP status per code, so don’t go hunting for “a 400 versus a 403”: the code is what matters. If you use a platform like WaBot, it reads the webhook for you and shows the reason next to the failed message; more on that at the end.

Not every failure is something you can fix. Codes like 131049, 131050, 130472 and 131026 are about the customer or Meta’s side, and resending doesn’t help.

Authentication and permission errors

These stop every request, not just one message. On a platform they usually mean the link between the platform and your Meta account has broken.

CodeWhat it meansWhat to do
0Meta couldn’t authenticate the app user. Usually the access token has expired or been invalidated.Get a new access token. On a platform, reconnect your WhatsApp number.
190The access token has expired.Get a new access token (reconnect the number).
10, 200–299A permission was not granted or has been removed.Check in Meta’s access token debugger that the app has the permissions the endpoint needs, then reconnect.

Rate, throughput and limit errors

You are sending too much, too fast, or to someone who has had enough. Only one of these (131049) is about a single customer.

CodeWhat it meansWhat to do
4 / 80007Your app (4) or your WhatsApp Business Account (80007) has reached its API call rate limit.Try again later and reduce how often, or how much, you call the API.
130429Cloud API message throughput has been reached.Try again later and slow down the rate at which you send.
131056Too many messages from your number to the same recipient in a short period.Wait, then retry that one number. Messages to other numbers are not affected.
131048There are restrictions on how many messages can be sent from this phone number.Check your quality status in WhatsApp Manager. See how messaging limits work and how to increase them and how to send bulk messages without getting banned.
131049Not delivered “to maintain healthy ecosystem engagement”: the customer has reached Meta’s per-user limit for marketing messages.Wait at least 24 hours before resending, and send fewer, more relevant offers. Full guide: WhatsApp error 131049.

Meta’s per-user limits page adds that repeated resends within 24 hours can block delivery to that customer for up to 24 hours more.

Template errors

Templates are the pre-approved messages you need outside the 24-hour window. These codes mean the template, or the values you sent for it, don’t match what Meta approved. The first four are covered step by step in WhatsApp template errors 132000, 132001, 132012 and 132015.

CodeWhat it meansWhat to do
132000The number of values you sent doesn’t match the number of variables in the template.Send exactly one value per variable, in order. After editing a template, update everything that sends it.
132001The template doesn’t exist in that language, or it hasn’t been approved.Check the exact name, the language code and the status in WhatsApp Manager.
132012A value isn’t in the format the template specifies.Match each value to the format defined in the template.
132015The template is paused for low quality.Edit the template to improve its quality and send again once it is approved.
132016The template was paused too many times and is now permanently disabled.Create a new template with different content.
132007The template content violates a WhatsApp policy.See Meta’s template review rules and why templates get rejected and how to fix them.

Per Meta’s template pausing page, a low-quality template is paused for 3 hours the first time, 6 hours the second, and disabled the third.

Recipient, delivery and 24-hour window errors

The message was built correctly, but WhatsApp couldn’t, or wouldn’t, deliver it to that person.

CodeWhat it meansWhat to do
131047More than 24 hours have passed since the customer last replied to your number, so a normal (free-form) message can’t be delivered.Send an approved template message instead. Full guide: WhatsApp error 131047.
131026Unable to deliver: the number isn’t a WhatsApp number, the person hasn’t accepted WhatsApp’s latest terms, or their WhatsApp version is too old.Check the number. Ask the customer by another channel to update WhatsApp and message you. Full guide: WhatsApp error 131026.
131050The customer has chosen to stop receiving marketing messages from your business.Don’t retry; they won’t receive it. Meta’s user_preferences webhook tells you when a customer stops or resumes marketing messages.
130472The message was not sent as part of a Meta experiment.Nothing to fix on your side. Resending returns the same error; the customer can still message you first.

Media errors

CodeWhat it meansWhat to do
131051Unsupported message type.Check Meta’s list of supported message types and send a supported one.
131052Meta couldn’t download the media the customer sent you.Ask the customer to send the file another way. The webhook’s error details say more.
131053Meta couldn’t upload the media in your message, for example because the file type isn’t supported.Check the file’s type (MIME type) and size against Meta’s supported media types.

Account, billing and quality errors

These are about your business account rather than one message. They need fixing in Meta Business Manager or WhatsApp Manager, not in your code.

CodeWhat it meansWhat to do
368, 131031Your WhatsApp Business Account is restricted or disabled for violating a platform policy (131031 can also mean Meta couldn’t verify data in the request, such as a wrong two-step PIN).Read Meta’s Policy Enforcement page and the WhatsApp Business Messaging Policy, fix the cause and appeal if you can.
131042There’s a problem with your payment method.Check billing in Business Manager: payment method attached, credit line active, timezone and currency set.

Server-side problems (codes 1, 2 and 131016) and request mistakes (100, 131008, 131009) are also on Meta’s page: check the WhatsApp Business Platform Status page for the first group and the endpoint reference for the second.

Three rules that cover most errors

  1. Read the code, not the word “failed”. The code tells you whether the problem is your connection, your speed, your template, the customer, or the 24-hour window. Fixing the wrong one wastes a day.
  2. Only retry what is retryable. Rate errors (4, 80007, 130429, 131056) clear after a short wait; 131049 needs at least 24 hours; server errors (1, 2, 131016) clear when Meta’s status page is green. Everything else fails again until you fix the cause, and 131050 should never be retried.
  3. Failed means not charged. Meta bills per delivered message, so a failed message doesn’t cost you anything. Current per-message rates are in our WhatsApp Business API pricing guide for India.

How WaBot shows these errors

WaBot reads Meta’s webhooks for you, so you don’t need to look codes up. In the inbox, a failed message gets a line underneath in plain words: Not sent · 24-hour window closed — send a template., Not sent · Message couldn’t be delivered., Not sent · This template is paused., with a Retry button for when you’ve fixed the cause.

In campaign results, failed recipients have a Failure reason column with the reason and the code, such as Message undeliverable (131026). You can filter by reason, add those contacts to a group or tag, export them as CSV, or press Retry failed once the cause is fixed, which sends the campaign again to every contact whose message failed.

Automatic retry is for 131049 only. Meta asks businesses to wait at least 24 hours before resending a held-back marketing message, so WaBot schedules the retry about 24 hours later and, if needed, once more about 48 hours after that, then stops. Other codes are not retried automatically, because a retry without a fix just fails again. Details in the 131049 guide.

Template status stays in sync: when Meta pauses, disables, approves or rejects a template, WaBot updates the status under Templates → My templates and adds a note to the Updates bell. And the 24-hour window is visible in every chat: the session bar counts down the time left and, when the window closes, offers Choose template instead of free text.

Frequently asked questions

Where do I find the error code for a failed WhatsApp message?

If you call the API yourself, it’s in the error object of the API response, or in the messages webhook when the status is failed (the errors array carries the code). On a platform like WaBot, it’s shown under the message in the inbox and in the Failure reason column of campaign results.

Am I charged for WhatsApp messages that fail with an error?

No. Meta charges per delivered message, so a message that failed with an error code is not billed.

What is the difference between error 131047 and 131049?

131047 means the 24-hour window since the customer’s last message has closed, so you must send an approved template instead of a free-form message. 131049 means Meta held back a marketing template because the customer has reached the per-user marketing limit; wait at least 24 hours before trying again.

Does the WhatsApp Business app show these error codes?

No. These codes belong to the WhatsApp Business Platform (the API). The free WhatsApp Business app on your phone only shows ticks. If you’re unsure which one you’re on, read WhatsApp Business app vs API.

The bottom line

Almost every WhatsApp API error falls into one of five buckets: your connection, your sending speed, your template, the customer’s side, or the 24-hour window. Find the code, find the bucket, and the fix follows.

For the codes that cause the most support tickets, read the detailed guides: 131049, 131047, 131026 and the template errors.

Leave a Reply