Cloud API Error Codes

The Cloud API is built on the Graph API, so if you are unfamiliar with handling Graph API error responses, see Graph API's error handling documentation.

In general, we recommend that you build your app's error handling logic around code values and details payload properties. These properties and their values are more indicative of the underlying error.

Code titles, which do not have a dedicated property in API error response payloads, are included as part of the message value. However, we recommend that you do not rely on titles for your error handling logic as titles will eventually be deprecated.

v16.0+ changes:

  • Error subcodes, which are rarely used and should not be relied upon, will no longer be included in v16.0+ error responses. Use code and details instead.
  • Error code 100 ("code":100) had multiple unique titles which indicated the nature of a given 100 error. All code 100 errors will now use Invalid parameter as their title. Old titles that described the nature of a given code 100 error have been moved to the details property. This change is also now reflected in webhooks payloads that describe a code 100 error response.

Error Response Syntax

{
  "error": {
    "message": "<MESSAGE>",
    "type": "<TYPE>",
    "code": <CODE>,
    "error_data": {
        "messaging_product": "whatsapp",
        "details": "<DETAILS>"
    },
    "error_subcode": <ERROR_SUBCODE>
    "fbtrace_id": "<FBTRACE_ID>"
  }
}

Error Response Contents

Property Value Type Description

code

Integer

Error code. We recommend that you build your app's error handling around error codes instead of subcodes or HTTP response status codes.

details

String

Error description and a description of the most likely reason for the error. May also contain information on how to address the error, such as which parameter is invalid or what values are acceptable.

error_subcode

Integer

Deprecated. Will not be returned in v16.0+ responses.


Graph API subcode. Not all responses will include a subcode, so we recommend that you build your error handling logic around code and details properties instead.

fbtrace_id

String

Trace ID you can include when contacting Direct Support. The ID may help us debug the error.

message

String

Combination of the error code and its title. For example: (#130429) Rate limit hit.

messaging_product

String

Messaging product. This will always be the string whatsapp for Cloud API responses.

type

String

Error type.

Sample Response

{
  "error": {
    "message": "(#130429) Rate limit hit",
    "type": "OAuthException",
    "code": 130429,
    "error_data": {
        "messaging_product": "whatsapp", 
        "details": "Message failed to send because there were too many messages sent from this phone number in a short period of time"
    },
    "error_subcode": 2494055,
    "fbtrace_id": "Az8or2yhqkZfEZ-_4Qn_Bam"
  }
}

Error Codes

Authorization Errors

Code Description Possible Solutions HTTP Status Code

0

AuthException

We were unable to authenticate the app user.

Typically this means the included access token has expired, been invalidated, or the app user has changed a setting to prevent all apps from accessing their data. We recommend that you get a new access token from the app user.

401

Unauthorized

3

API Method

Capability or permissions issue.

Use the access token debugger to verify that your app has been granted the permissions required by the endpoint. See Troubleshooting.

500

Internal Server Error

10

Permission Denied

Permission is either not granted or has been removed.

Use the access token debugger to verify that your app has been granted the permissions required by the endpoint. See Troubleshooting.

403

Forbidden

190

Access token has expired

Your access token has expired.

Get a new access token.

401

Unauthorized

200-299

API Permission

Permission is either not granted or has been removed.

Use the access token debugger to verify that your app has been granted the permissions required by the endpoint. See Troubleshooting.

403

Forbidden

Throttling Errors

Code Description Possible Solutions HTTP Status Code

4

API Too Many Calls

The app has reached its API call rate limit.

Load the app in the App Dashboard and view the Application Rate Limit section to verify that the app has reached its rate limit. If it has, try again later or reduce the frequency or amount of API queries the app is making.

429

Too many requests

80007

Rate limit issues

The WhatsApp Business Account has reached its rate limit.

See WhatsApp Business Account Rate Limits. Try again later or reduce the frequency or amount of API queries the app is making.

429

Too many requests

130429

Rate limit hit

Cloud API message throughput has been reached.

The app has reached the API's throughput limit. See Throughput. Try again later or reduce the frequency with which the app sends messages.

429

Too many requests

131048

Spam rate limit hit

Message failed to send because there are restrictions on how many messages can be sent from this phone number. This may be because too many previous messages were blocked or flagged as spam.

Check your quality status in the WhatsApp Manager and see the Quality-Based Rate Limits documentation for more information.

429

Too many requests

131056

(Business Account, Consumer Account) pair rate limit hit

Too many messages sent from the sender phone number to the same recipient phone number in a short period of time.

Wait and retry the operation, if you intend to send messages to the same phone number. You can still send messages to a different phone number without waiting

429

Too many requests

Integrity Errors

Code Description Possible Solutions HTTP Status Code

368

Temporarily blocked for policies violations

The WhatsApp Business Account associated with the app has been restricted or disabled for violating a platform policy.

See the Policy Enforcement document to learn about policy violations and how to resolve them.

403

Forbidden

131031

Account has been locked

The WhatsApp Business Account associated with the app has been restricted or disabled for violating a platform policy, or we were unable to verify data included in the request against data set on the WhatsApp Business Account (e.g, the two-step pin included in the request is incorrect).

See the Policy Enforcement document to learn about policy violations and how to resolve them.

403

Forbidden

Other Errors

Code Description Possible Solutions HTTP Status Code

1

API Unknown

Invalid request or possible server error.

Check the WhatsApp Business Platform Status page to see API status information. If there are no server outages, check the endpoint reference and verify that your request is formatted correctly and meets all endpoint requirements.

400

Bad Request

2

API Service

Temporary due to downtime or due to being overloaded.

Check the WhatsApp Business Platform Status page to see API status information before trying again.

503

Service Unavailable

100

Invalid parameter

The request included one or more unsupported or misspelled parameters.

See the endpoint's reference to determine which parameters are supported and how they are spelled.

400

Bad Request

131000

Something went wrong

Message failed to send due to an unknown error.

Try again. If the error persists, open a Direct Support ticket.

500

Internal Server Error

131005

Access denied

Permission is either not granted or has been removed.

Use the access token debugger to verify that your app has been granted the permissions required by the endpoint. See Troubleshooting.

403

Forbidden

131008

Required parameter is missing

The request is missing a required parameter.

See the endpoint's reference to determine which parameters are required.

400

Bad Request

131009

Parameter value is not valid

One or more parameter values are unsupported, the recipient phone number is not a valid WhatsApp phone number, or the sender phone number has not been added to the WhatsApp Business Platform.

See the endpoint's reference to determine which values are supported for each parameter, and see Phone Numbers to learn how to add a phone number to a WhatsApp Business Account.

400

Bad Request

131016

Service unavailable

A service is temporarily unavailable.

Check the WhatsApp Business Platform Status page to see API status information before trying again.

500

Internal Server Error

131021

Recipient cannot be sender

Sender and recipient phone number is the same.

Send a message to a phone number different from the sender.

400

Bad Request

131026

Message Undeliverable

Unable to deliver message.

Confirm with the recipient that they agree to be contacted by you over WhatsApp and are using the latest version of WhatsApp.

400

Bad Request

131042

Business eligibility payment issue

Message failed to send because there were one or more errors related to your payment method.

See About Billing For Your WhatsApp Business Account and verify that you have set up billing correctly.


Common problems:


  • Payment account is not attached to a WhatsApp Business Account
  • Credit line is over the limit
  • Credit line (Payment Account) not set or active
  • WhatsApp Business Account is deleted
  • WhatsApp Business Account is suspended
  • Timezone not set
  • Currency not set
  • MessagingFor request (On Behalf Of) is pending or declined
  • Exceeded conversation free tier threshold without a valid payment method

400

Bad Request

131045

Incorrect certificate

Message failed to send due to a phone number registration error.

Register the phone number before trying again.

500

Internal Server Error

131047

Re-engagement message

More than 24 hours have passed since the recipient last replied to the sender number.

Send the recipient a business-initiated message using a message template instead.

400

Bad Request

131051

Unsupported message type

Unsupported message type.

See Messages for supported message types before trying again with a supported message type.

400

Bad Request

131052

Media download error

Unable to download the media sent by the user.

We were unable to download the media for one or more reasons, such as an unsupported media type. Refer to the error.error_data.details value for more information about why we were unable to download the media.

400

Bad Request

131053

Media upload error

Unable to download the media used in the message.

We were unable to download the media for one or more reasons, such as an unsupported media type. Refer to the error.error_data.details value for more information about why we were unable to download the media.


For more reliable performance when sending media, refer to Media HTTP Caching and uploading the media.

400

Bad Request

132000

Template Param Count Mismatch

The number of variable parameter values included in the request did not match the number of variable parameters defined in the template.

See Message Template Guidelines and make sure the request includes all of the variable parameter values that have been defined in the template.

400

Bad Request

132001

Template does not exist

The template does not exist in the specified language or the template has not been approved.

Make sure your template has been approved and the template name and language locale are correct. Please ensure you follow message template guidelines.

400

Bad Request

132005

Template Hydrated Text Too Long

Translated text is too long.

Check the WhatsApp Manager to verify that your template has been translated. See Quality Rating and Template Status.

400

Bad Request

132007

Template Format Character Policy Violated

Template content violates a WhatsApp policy.

See Rejection Reasons to determine possible reasons for violation.

400

Bad Request

132012

Template Parameter Format Mismatch

Variable parameter values formatted incorrectly.

The variable parameter values included in the request are not using the format specified in the template. See Message Template Guidelines.

400

Bad Request

132015

Template parameter invalid

Template parameters invalid or missing.

Make sure you follow message template guidelines.


Verify the following:


  • you are providing the right parameter count
  • the template exists, is approved
  • the template’s name and language locale are correct
  • the template has been translated correctly

400

Bad Request

133000

Incomplete Deregistration

A previous deregistration attempt failed.

Deregister the number again before registering.

500

Internal Server Error

133004

Server Temporarily Unavailable

Server is temporarily unavailable.

Check the WhatsApp Business Platform Status page to see API status information and check the response details value before trying again.

503

Service Unavailable

133005

Two step verification PIN Mismatch

Two-step verification PIN incorrect.

Verify that the two-step verification PIN included in the request is correct.


To reset the two-step verification PIN:


  1. Disable two-step authorization.
  2. Send a POST request that includes the new PIN to the Phone Number endpoint.

400

Bad Request

133006

Phone number re-verification needed

Phone number needs to be verified before registering.

Verify the phone number before registering it.

400

Bad Request

133008

Too Many two step verification PIN Guesses

Too many two-step verification PIN guesses for this phone number.

Try again after the amount of time specified in the details response value.

400

Bad Request

133009

Two step verification PIN Guessed Too Fast

Two-step verification PIN was entered too quickly.

Check the details response value before trying again.

400

Bad Request

133010

Phone number Not Registered

Phone number not registered on the Whatsapp Business Platform.

Register the phone number before trying again.

400

Bad Request

135000

Generic user error

Message failed to send because of an unknown error with your request parameters.

See the endpoint's reference to determine if you are querying the endpoint using the correct syntax. Contact customer support if you continue receiving this error code in response.

400

Bad Request