Errors & languages

Updated June 2026 5 min read

Marketing messages fail for a few common reasons — paused templates, frequency caps, re-engagement limits. Here's what the error codes mean and which language codes to use.

All guides
On this page

Quick facts

Per-user limit error
131049
Undeliverable error
131026
Common language codes
en, en_US, hi
Paused template
Caused by low quality

WhatsApp marketing messages can fail when a template is paused, when frequency capping limits how many marketing messages a user gets, or when re-engagement rules block delivery. Common error codes include 131049 (per-user marketing limit) and 131026 (message undeliverable). Templates also need a correct language code such as en, en_US or hi.

In simple language: Marketing errors are the reasons Meta blocks a promotional message; language codes are the tags (like en or hi) that tell WhatsApp which version of a template to send.

Who should read this?

  • Owners seeing marketing messages fail
  • Anyone troubleshooting a WhatsApp error code
  • Marketers picking a template language

The Marketing Messages (MM) API is built for one job: sending marketing template messages. The moment you try to use it for anything else, it pushes back with an error. The good news is the errors are predictable — once you’ve seen them, you know exactly what they mean. Let’s walk through the ones you’ll actually hit.

Expected errors

The MM API only accepts approved marketing templates. It’s also send-only — it can’t receive incoming messages, so for two-way chat you pair it with the regular Cloud API. Here are the most common ways a send gets rejected.

Trying to send normal text (a freeform message)

The MM API won’t carry plain typed messages — only templates. If you try, you get:

(#100) Invalid parameter

The fix: send your text through the Cloud API instead, and keep the MM API for marketing templates.

Trying to send an authentication or utility template

The MM API is for marketing templates only. Point it at an authentication or utility template and it returns:

(#131055) Method not allowed

Send those categories through the Cloud API.

Sending to a number that isn’t onboarded

If the terms haven’t been accepted for that account yet, the send is blocked:

(#200) You must accept the Marketing Messages Lite API terms

The fix: finish onboarding (accept the MM API terms) before sending.

Using the wrong D360-API-KEY

If your key is wrong or missing, the request is rejected outright:

Invalid api token

Double-check the key in your request header.

Example of an MM API error response

There are also two failures that aren’t about how you call the API, but about delivery limits:

CodeMeaningWhat to do
131049The user already hit their marketing-message limit for nowSlow down; try again later
131026Message undeliverable (e.g. the user can’t receive it)Check the number and opt-in status

131049 is the one people misread most. It is not a bug and not worth resubmitting in a loop — it’s WhatsApp’s per-user frequency cap telling you to ease off that user.

Template language codes

Every template is approved in a specific language, tagged with a language code. When you send, you must pass the exact code the template was approved in — a mismatch causes the send to fail.

Common codes:

CodeLanguage
enEnglish (generic)
en_USEnglish (United States)
en_GBEnglish (United Kingdom)
hiHindi

The trap: you approve a template as en_US but send it with en. WhatsApp can’t find a match and rejects it. Always copy the code from the approved template.

Example: a brand approves “Diwali Sale” in both en and hi, then sends hi to Hindi-speaking customers and en to the rest — same offer, two language codes.

Examples in different programming languages

You don’t have to write the API calls from scratch. Use any of these starting points:

  • Postman collection — a click-and-run set of requests for setting webhooks, sending text via the Cloud API, and sending marketing templates via both the Cloud API and the MM API.
  • Node.js (using the request library) — the same four use cases, written out so you can paste them into a Node project.
  • Python (using the request library) — the same four use cases in Python.

All three cover the same flows: set a webhook URL, send a plain text message via the Cloud API, send a marketing template via the Cloud API, and send a marketing template via the MM API. Pick whichever matches your codebase and adjust the API key and template name.

How to fix and avoid errors

  • Paused template? Don’t resubmit blindly. Improve the message, trim your list to engaged users, and the pause lifts on its own as quality recovers.
  • 131049? Reduce frequency. Spread campaigns out and segment so each user gets fewer, more relevant messages.
  • Language mismatch? Read the language code off the approved template and send that exact string.
  • Undeliverable (131026)? Verify the phone number format and that the customer actually opted in.

Read the code first, fix the real cause, and your marketing sends stay clean.

Keep reading

Related questions people ask

What does WhatsApp error 131049 mean?

131049 means the message wasn't delivered because the user already hit their marketing message limit for that period. It's a per-user frequency cap, not a fault in your template — the fix is to send less often.

Why is my WhatsApp marketing template paused?

Templates are paused when their quality drops — usually from blocks, spam reports or low read rates. The pause is temporary; improve the message and engagement, and Meta lifts it automatically.

What language code should I use for a Hindi WhatsApp template?

Use 'hi' for Hindi. The code you send must exactly match the language your template was approved in — for English that's often 'en' or 'en_US'.

Key takeaways

  • Most marketing failures are paused templates or frequency caps.
  • 131049 is a per-user marketing limit; 131026 is undeliverable.
  • Send the exact language code your template was approved in.
Published: June 2026 Last reviewed: June 2026 Reviewed by: ChatMitra WhatsApp API Team

Put WhatsApp to work for your business

Start free on the Starter plan — pay just ₹0.20 per conversation, no subscription. Upgrade to Pro (₹999/month) when you need automation, or Enterprise for zero platform fees at scale.