WhatsApp Cloud API · error code

WhatsApp error 131026: Message Undeliverable

Permanent - do not retryHTTP 400Recipient & delivery

Last verified against Meta for Developers - Cloud API error codes

What WhatsApp returns
Unable to deliver message. Reasons can include: The recipient phone number is not a WhatsApp phone number. Recipient has not accepted our new Terms of Service and Privacy Policy. Recipient using an old WhatsApp version; must use the following WhatsApp version or greater: Android: 2.21.15.15, SMBA: 2.21.15.15, iOS: 2.21.170.4, SMBI: 2.21.170.4, KaiOS: 2.2130.10, Web: 2.2132.6

What error 131026 means

Code 131026 means WhatsApp could not deliver the message to this recipient and is not going to tell you precisely why. Meta lists the documented reasons: the number is not registered on WhatsApp, the recipient has not accepted the current Terms of Service and Privacy Policy, or the recipient is on a WhatsApp client older than the minimum versions. In practice the same code also covers a recipient who has blocked your business, which Meta does not disclose for privacy reasons.

It usually arrives not in the API response but later, in a statuses webhook with status failed and an errors array containing 131026, because the send was accepted and delivery was attempted afterwards. That timing is why it is easy to miss if you only watch the synchronous response.

Before concluding the recipient is at fault, check your number formatting. A national leading zero or a stray plus sign will produce 131026 for a perfectly valid customer. Your template, token, and account are not the problem.

Do not confuse 131026 with its neighbours: 131049 means Meta deliberately withheld a marketing message, 131050 means the user opted out of your marketing, and 130403 means your own business blocked the user. 131026 is strictly about reachability. Because the platform usually accepts the send and discovers undeliverability afterwards, most occurrences arrive asynchronously - if your webhook pipeline is broken you will never see them, so verify webhook delivery before trusting a low failure count. BSP note: Twilio surfaces the not-a-WhatsApp-user case under its own error namespace (63003, "Channel could not find To address") instead of the Meta code, while API-passthrough providers such as 360dialog return 131026 as-is.

What it looks like

{
  "statuses": [{
    "id": "wamid.HBgLNDQ3NzAwOTAwMTIzFQIAERgSQzY5RkE5RkQ0QkVBNjM0OTlBAA==",
    "status": "failed",
    "timestamp": "1755580800",
    "recipient_id": "447700900123",
    "errors": [{
      "code": 131026,
      "title": "Message Undeliverable",
      "message": "Message Undeliverable",
      "error_data": { "details": "Message Undeliverable." }
    }]
  }]
}

Why it happens

  • The number is not a WhatsApp account at all (landline, unused mobile, or a typo).
  • The recipient has blocked your business number.
  • The recipient has not accepted WhatsApp's updated terms, so they cannot receive business messages.
  • The recipient's WhatsApp client is below the documented minimum version.
  • The number was sent with a national leading zero, plus sign, or wrong country code, producing a valid-looking but nonexistent number.

How to fix WhatsApp error 131026

  1. 1Confirm the recipient is stored as country code plus national number, digits only, with no leading zero after the country code.
  2. 2Check the statuses webhook for the errors array rather than relying on the initial 200 response.
  3. 3Mark the contact undeliverable and stop retrying; retries will not change the outcome and consume rate limit.
  4. 4Where you have another channel, ask the customer to confirm they can message your business number, accept the latest terms (Settings, Help), and update WhatsApp.
  5. 5If a whole batch fails with 131026, suspect import formatting before suspecting the recipients.

How to stop it recurring

Normalize phone numbers when they enter your system, not at send time, and reject anything that does not parse as a valid E.164 number for its country. Track undeliverable status per contact so campaigns skip them automatically, and watch the 131026 rate per import source; a spike tied to one source almost always means a formatting or data-quality problem upstream. See the WhatsApp error-code guide for the formatting checklist.

Official reference: Meta for Developers - Cloud API error codes. See all WhatsApp error codes or the WhatsApp limits and quotas.

Related codes

Error 131026 - quick answers

What does WhatsApp error 131026 mean?

Code 131026 means WhatsApp could not deliver the message to this recipient and is not going to tell you precisely why. Meta lists the documented reasons: the number is not registered on WhatsApp, the recipient has not accepted the current Terms of Service and Privacy Policy, or the recipient is on a WhatsApp client older than the minimum versions.

How do I fix WhatsApp error 131026?

1. Confirm the recipient is stored as country code plus national number, digits only, with no leading zero after the country code. 2. Check the statuses webhook for the errors array rather than relying on the initial 200 response. 3. Mark the contact undeliverable and stop retrying; retries will not change the outcome and consume rate limit. 4. Where you have another channel, ask the customer to confirm they can message your business number, accept the latest terms…

Should I retry after error 131026?

No. Retrying the same request produces the same error; the condition has to be fixed first. Treat it as a permanent failure for that message and surface it, rather than looping.

Stop debugging WhatsApp by hand

Connect the channel through Conferbot: tokens, webhooks and retries are handled, failures show as readable status.