Error reference
Find an API, WhatsApp, or Watification message error and the next step to take.
Start with the code in your API response or the provider code shown beside a failed message in Inbox. Open its reference below for the cause and what to do next.
How to read an error
API errors use application/problem+json (Problem Details). A failed message can also include a separate Meta provider code. An error page explains the code; its HTTP response is a documentation page, not the failed API response.
| Field | What it tells you |
|---|---|
type | A link to the explanation for this error. |
title | A short description of the problem. |
status | The HTTP status of the failed API request. |
detail | A safe description of this particular failure. |
code | The stable identifier to use for programmatic handling. |
Keep the request's correlationId when asking for help. Use code, rather than the wording of title or detail, to decide how your integration responds.
Developer API
Requests rejected by the public OTP and COD API.
| Code | HTTP | What happened |
|---|---|---|
API_KEY_INVALID | 401 | The request could not authenticate with an API key. |
RATE_LIMITED | 429 | This API key exceeded the shared request rate limit. |
DEVELOPER_INVALID_INPUT | 422 | The public API request failed validation. |
IDEMPOTENCY_KEY_REUSED | 409 | The key is already associated with a different request fingerprint. |
RECIPIENT_BLOCKED | 422 | The business has blocked this recipient for sending. |
NOT_FOUND | 404 | The requested OTP message is unavailable in this workspace. |
OTP_SENDER_NOT_FOUND | 404 | The requested sending number was not found in this workspace. |
OTP_SENDER_UNAVAILABLE | 409 | The selected OTP sender is not currently sendable. |
OTP_TEMPLATE_NOT_FOUND | 404 | The template name and language were not found for the sender. |
OTP_TEMPLATE_NOT_USABLE | 409 | The template is not an approved authentication template that can deliver this OTP. |
OTP_QUOTA_EXCEEDED | 429 | The workspace has no available API OTP allowance for this calendar month. |
COD_NOT_CONFIGURED | 409 | COD requests need a configured delivery time zone. |
COD_LANGUAGE_NOT_CONFIGURED | 409 | COD follow-up texts are missing for the template language. |
COD_SENDER_NOT_FOUND | 404 | The requested COD sending number was not found in this workspace. |
COD_SENDER_UNAVAILABLE | 409 | The selected COD sender is not currently sendable. |
COD_TEMPLATE_NOT_FOUND | 404 | The requested template name and language were not found for the sender. |
COD_TEMPLATE_NOT_USABLE | 409 | The template cannot be used for the selected COD check. |
COD_TEMPLATE_PARAMETERS_INVALID | 422 | Header or body values do not meet the template requirements. |
COD_QUOTA_EXCEEDED | 429 | The selected COD check has no available allowance this month. |
COD_CONFIRMATION_NOT_FOUND | 404 | The requested confirmation is unavailable in this workspace. |
COD_CONFIRMATION_NOT_ELIGIBLE | 409 | This confirmation cannot start a refusal check in its current state. |
COD_REFUSAL_CHECK_EXISTS | 409 | This confirmation already has its one allowed refusal check. |
WhatsApp (Meta)
Provider codes for WhatsApp messages, accounts, and templates.
| Meta code | What happened |
|---|---|
0 | Meta could not authenticate the connected account. |
1 | Meta could not process the request. |
2 | Meta is temporarily unavailable. |
3 | Meta did not allow this operation. |
4 | Meta's app API request limit was reached. |
10 | A required Meta permission is missing. |
33 | The sending phone number was deleted from Meta. |
100 | Meta rejected a request parameter. |
190 | The WhatsApp connection's access token has expired. |
200 | Meta received a request without an access token. |
368 | Meta restricted the WhatsApp account for a policy issue. |
131000 | Meta reported an unknown send error. |
130403 | Your business has blocked this WhatsApp recipient. |
130429 | The WhatsApp send throughput limit was reached. |
130472 | Meta did not send the message because of an experiment. |
130497 | Meta restricts this account from messaging the recipient's country. |
131005 | Meta did not grant the required permission. |
131008 | Meta requires a parameter that was not included. |
131009 | Meta rejected a parameter value. |
131016 | A WhatsApp service is temporarily unavailable. |
131021 | The sender and recipient are the same phone number. |
131026 | The recipient could not receive the WhatsApp message. |
131031 | Meta restricted the account or could not verify account data. |
131037 | The sending number needs an approved display name. |
131042 | Meta could not use the account's payment setup. |
131045 | The sending number has a registration problem. |
131047 | The 24-hour customer service window has closed. |
131048 | Meta restricted how many messages this number can send. |
131049 | Meta blocked delivery to protect recipient engagement. |
131050 | The recipient stopped marketing messages from your business. |
131051 | WhatsApp does not support this message type. |
131052 | The customer's media could not be downloaded. |
131053 | The outgoing media could not be uploaded to WhatsApp. |
131055 | This operation accepts only marketing template messages. |
131056 | Too many messages were sent to the same recipient. |
131057 | The WhatsApp account is undergoing maintenance. |
131063 | Marketing templates are disabled for this Cloud API account. |
131064 | Meta imposed a messaging limit for template classification violations. |
132000 | The template received the wrong number of values. |
132001 | Meta could not find an approved template in that language. |
132005 | The translated template text is too long. |
132007 | The template content violates a WhatsApp policy. |
132012 | The template values have the wrong format. |
132015 | Meta paused the template because of low quality. |
132016 | Meta permanently disabled this template for low quality. |
132018 | Meta could not validate the template's parameters. |
132068 | The WhatsApp Flow is blocked. |
132069 | Meta throttled messages using this Flow. |
133000 | A previous phone number deregistration failed. |
133004 | WhatsApp's server is temporarily unavailable. |
133005 | The two-step verification PIN is incorrect. |
133006 | The phone number must be verified first. |
133008 | Too many two-step verification PINs were tried. |
133009 | The two-step verification PIN was entered too quickly. |
133010 | The phone number is not registered on the WhatsApp platform. |
133015 | Meta is still deleting the phone number. |
134011 | WhatsApp Payments terms have not been accepted. |
134100 | This API accepts only marketing templates. |
134101 | The marketing template is still synchronizing. |
134102 | The marketing template is unavailable for use. |
135000 | Meta reported an unknown request parameter error. |
80007 | The WhatsApp account reached its API request limit. |
2388012 | This phone number is already in the WhatsApp account. |
2388019 | The WhatsApp account reached its template limit. |
2388039 | The template's current status prevents this change. |
2388040 | A template field exceeds its character limit. |
2388047 | The template header format is invalid. |
2388072 | The template body format is invalid. |
2388073 | The template footer format is invalid. |
2388091 | This number is not eligible for migration verification. |
2388093 | This number is not eligible for migration verification. |
2388103 | Meta could not migrate this phone number. |
2388293 | The template has too many variables for its text length. |
2388299 | A template variable appears at the beginning or end. |
2494100 | The phone number is in maintenance mode. |
200005 | Template insights are not available for this account yet. |
200006 | Template insights cannot be disabled once enabled. |
200007 | Template insights have not been enabled. |
2593107 | The phone number's synchronization limit was reached. |
2593108 | Synchronization started outside Meta's onboarding window. |
133016 | Too many registration or deregistration attempts were made. |
1752041 | An onboarding request already exists for this customer. |
Watification messages
Send failures and uncertain outcomes shown in Inbox.
| Code | What happened |
|---|---|
CONTACT_MARKETING_OPTED_OUT | This contact opted out of marketing messages. |
marketing-preference-stopped | The recipient has stopped marketing messages. |
CHANNEL_IDENTITY_SUPERSEDED | This channel identity was replaced after the customer changed their number. |
sender-disabled | Outbound sending is disabled for this channel. |
provider-rejected | The provider refused the message. |
content-rejected | The provider did not accept the message content. |
channel-unavailable | The channel cannot send this message. |
recipient-unaddressable | The provider cannot address this recipient. |
credential-unavailable | The channel connection credentials were rejected. |
sender-endpoint-unavailable | The provider sender endpoint is unavailable. |
policy-rejected | The provider blocked the message under its messaging policies. |
marketing-messages-disabled | The account configuration prevents this marketing message from being sent. |
media-unavailable | The attachment is no longer available for this send. |
media-ineligible | The provider cannot carry this attachment. |
retries-exhausted | Temporary send failures continued through all retry attempts. |
delivery-unconfirmed | The provider did not confirm whether it accepted this message. The customer may have received it. |
whatsapp-display-name-approval-required | The WhatsApp sending number needs an approved display name (Meta code 131037). |
whatsapp-provider-error | WhatsApp returned a provider rejection. |