Sign inGet started

WhatsApp Platform Extended Error Codes

When a WhatsApp message fails, the error is reported at two levels of detail: the raw error code returned by the WhatsApp Cloud API (whose value is visible in the failure.source.code field) and a channel-agnostic Bird failure code (in the failure.code field) that groups the platform-specific error into a general category shared across all channels.
Exemple de code
  "status": "delivery_failed",
  "reason": "Unable to send WhatsApp message: facebook: (code: 131026, message: Message undeliverable, details: Unable to deliver message)",
  "direction": "outgoing",
  "details": "failure_subscriber",
  "failure": {
    "code": 15006,
    "source": {
      "name": "whatsapp",
      "code": "131026"
    }
  },
  • failure.source.name is always whatsapp for messages sent over a WhatsApp channel.
  • failure.source.code is the numeric error code returned by the WhatsApp Cloud API. It is the most specific piece of information available and maps directly to Meta's published list โ€” see WhatsApp Cloud API error codes.
  • failure.code is Bird's channel-agnostic Message Failure Code. The same Bird failure code can be produced by more than one WhatsApp code, and (as with other channels) the same Bird failure code is shared across platforms.
The above is a snippet; the actual message object returned contains the full set of fields.
WhatsApp codes that are not explicitly mapped below are reported with the Bird failure code UNKNOWN_FAILURE (15001), with the original WhatsApp code preserved in failure.source.code.

Bird Failure Code to WhatsApp Code Mapping

The following groups the WhatsApp Cloud API codes by the Bird failure code they resolve to.

INVALID_MESSAGE (12006)

The message was rejected by WhatsApp because a parameter was missing or invalid.
WhatsApp CodeMeaning
100Invalid parameter โ€” one or more unsupported or misspelled parameters
131008A required parameter is missing
131009Parameter value is not valid

INVALID_DESTINATION (14002)

The destination is not allowed to receive this message.
WhatsApp CodeMeaning
131021Recipient cannot be the sender (same phone number)

INVALID_TEMPLATE (14003)

The message template is invalid, paused, or cannot be matched.
WhatsApp CodeMeaning
132000Parameter count mismatch (values did not match the template)
132001Template does not exist in the specified language, or is not approved
132005Hydrated (translated) template text too long
132012Template parameter format mismatch
132015Template is paused due to low quality

INVALID_PERMISSION (15002)

The channel is missing a required permission, or its phone number needs (re-)verification before it can send.
WhatsApp CodeMeaning
133005Two-step verification PIN mismatch
133006Phone number needs to be re-verified
133008Too many two-step verification PIN guesses
133009Two-step verification PIN entered too quickly
133010Phone number is not registered on the WhatsApp Cloud API

FAILURE_ENTITY_PROCESSING (15003)

WhatsApp accepted the request but could not process it afterwards.
WhatsApp CodeMeaning
131047Re-engagement message required (more than 24 hours since the recipient last replied)
131052Media download error

INVALID_PAYMENT (15004)

The message could not be sent because of a billing or eligibility issue on the WhatsApp Business account.
WhatsApp CodeMeaning
131042Business eligibility payment issue

FAILURE_SUBSCRIBER (15006)

WhatsApp could not deliver the message to the recipient.
WhatsApp CodeMeaning
131026Message undeliverable โ€” recipient is not a WhatsApp number

UNSUPPORTED_ACTION (15008)

The requested message type or recipient is not supported.
WhatsApp CodeMeaning
131051Unsupported message type
131062Business-Scoped User ID recipient not supported

INVALID_SPAM (15011)

WhatsApp is throttling or blocking the message because of spam / rate-limiting to the recipient.
WhatsApp CodeMeaning
131048Spam rate limit hit (too many previous messages blocked)
131056Too many messages sent to the same recipient in a short time

INVALID_CAPACITY (15012)

The channel has reached a WhatsApp-imposed sending limit.
WhatsApp CodeMeaning
131049Meta chose not to deliver to maintain healthy ecosystem engagement (per-user marketing template limit)

FAILURE_POLICY (15015)

The message was blocked for a policy violation.
WhatsApp CodeMeaning
132007Template content violates a WhatsApp policy

OPTEDOUT_RECEIVER (15016)

The recipient has opted out of receiving messages from this business.
WhatsApp CodeMeaning
131050User has stopped receiving marketing messages from your business

DELETED_PHONE_NUMBER_WHATSAPP (15018)

WhatsApp CodeMeaning
33Phone number has been deleted on WhatsApp Business

RECIPIENT_UNDELIVERABLE (15019)

WhatsApp CodeMeaning
130472Recipient number is part of a Meta experiment; message not sent

UNKNOWN_FAILURE (15001)

Returned for a generic user error and for any WhatsApp code not listed above. The original WhatsApp code is always preserved in failure.source.code.
WhatsApp CodeMeaning
135000Generic user error
(any other)Unmapped WhatsApp error code

Transient errors

Some WhatsApp codes indicate a temporary condition. Bird retries these internally, so they do not, on their own, produce a terminal failed status โ€” a message only fails once retries are exhausted (typically surfacing then as MISSING_REPORT / EXPIRED, or UNKNOWN_FAILURE).
WhatsApp CodeMeaning
2API unknown / temporary outage
3Internal error
4API called too many times (rate limited)
80007Business account rate limit hit
130429Cloud API throughput rate limit hit
131000Something went wrong (generic transient error)
131016Service unavailable
133004Server temporarily unavailable

Full reference

A comprehensive list of the WhatsApp Cloud API codes Bird maps, the value they populate in failure.source.code, and the resulting Bird failure.code.
WhatsApp CodeMeaningBird Failure Code
33Phone number deleted on WhatsApp Business15018 DELETED_PHONE_NUMBER_WHATSAPP
100Invalid parameter12006 INVALID_MESSAGE
130472Recipient is part of a Meta experiment15019 RECIPIENT_UNDELIVERABLE
131008Required parameter missing12006 INVALID_MESSAGE
131009Parameter value is not valid12006 INVALID_MESSAGE
131021Recipient cannot be the sender14002 INVALID_DESTINATION
131026Message undeliverable (not a WhatsApp number)15006 FAILURE_SUBSCRIBER
131042Business eligibility payment issue15004 INVALID_PAYMENT
131047Re-engagement message required15003 FAILURE_ENTITY_PROCESSING
131048Spam rate limit hit15011 INVALID_SPAM
131049Meta chose not to deliver (marketing limit)15012 INVALID_CAPACITY
131050User stopped receiving marketing messages15016 OPTEDOUT_RECEIVER
131051Unsupported message type15008 UNSUPPORTED_ACTION
131052Media download error15003 FAILURE_ENTITY_PROCESSING
131056Too many messages to the same recipient15011 INVALID_SPAM
131062Business-Scoped User ID recipient not supported15008 UNSUPPORTED_ACTION
132000Template parameter count mismatch14003 INVALID_TEMPLATE
132001Template does not exist14003 INVALID_TEMPLATE
132005Hydrated template text too long14003 INVALID_TEMPLATE
132007Template content violates a WhatsApp policy15015 FAILURE_POLICY
132012Template parameter format mismatch14003 INVALID_TEMPLATE
132015Template is paused14003 INVALID_TEMPLATE
133005Two-step verification PIN mismatch15002 INVALID_PERMISSION
133006Phone number needs re-verification15002 INVALID_PERMISSION
133008Too many two-step verification PIN guesses15002 INVALID_PERMISSION
133009Two-step verification PIN guessed too quickly15002 INVALID_PERMISSION
133010Phone number not registered15002 INVALID_PERMISSION
135000Generic user error15001 UNKNOWN_FAILURE
For the full description of each WhatsApp Cloud API code, refer to Meta's WhatsApp Cloud API error codes. For the meaning of each Bird failure code, see Message Failure Codes.