Error Messages
Common API errors
Type: The Path is Blocked
Error code: 403
Description: Response returned if path is blocked.
Payload:
What to do: Get in touch with our Support team and let us know what you are trying to achieve / describe your use case. If possible, we will enable the API for you.
Type: Invalid API Key
Error code: 401
Description: Invalid API key
Payload:
What to do: Generate another API key
Type: WhatsApp Business API has been disabled
Error code: 400
Description: Response returned if WhatsApp Business API has been disabled.
Payload:
What to do: If you expected the account to be live, please contact our support team.
Type: Usage Limit
Error code: 400
Description: Endpoint calls limits has been exceeded.
Payload:
What to do: Means you are trying to make too many calls in too little time. See Capacity Rate Limits for more information.
Type: Internal Server Error
Error code: 500
Description: Regular accounts can restart every 24h at a time that cannot be scheduled. These restarts take a maximum of 10 minutes.
Payload:
What to do: If you are receiving this error for more than 10 minutes, please contact our support team. If you want to avoid these restarts, please consider upgrading the account to the Premium Package.
Type: WhatsApp for Business API not available
Error code: 502
Description: Error returned if integration with WhatsApp Business does not exist in system or integration is not in running state (WhatsApp Business stack is not running).
Payload:
What to do: Check this account's status to ensure it is running.
Type: Message Undeliverable
Error code: 131026
Description: The following scenarios can cause a message to appear as sent but not delivered. For many of these reasons, Meta does not disclose the underlying cause of the error, due to privacy and policy reasons.
The recipient phone number is not a WhatsApp phone number.
The customer has blocked the business.
The customer is in a restricted or sanctioned country.
Recipient has not accepted Meta's 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 to do: Using a non-WhatsApp communication method, ask the WhatsApp user to:
Confirm that they can actually send a message to your WhatsApp business phone number
Confirm that your WhatsApp business phone number is not in their list of blocked numbers (Settings > Privacy > Blocked or Blocked contacts)
Confirm that they have accepted Meta latest Terms of Service (Settings > Help, or Settings > Application information will prompt them to accept the latest terms/policies if they haven't done so already)
Update to the latest version of the WhatsApp client
Type: Per-User Marketing Template Message Limits
Error code: 131049
Description: The message was not delivered to maintain a healthy ecosystem. See Per-User Marketing Template Message Limits.
Payload:
Errors while using Partner API
Type: Permission denied Partner API
Error code: 403
Description: This means that the authorization used is not valid for this request.
Payload:
What to do:
Check Authorization header
Check if user has access to this Partner Hub
Check if the credentials used are correct
If everything is correct, file a support ticket.
Errors during Number Registration
These always have the code 403 and are described as Trigger registration error.
Type: Timeout
Error code: 1005
Description: This means that Meta has put the registration on "timeout".
Payload:
What to do: Wait until the timeout phase has lapsed and try again.
Type: Unknown error: biz_link_error
Error code: 1005
Description: This means the previous WhatsApp installation was uninstalled from the device but not fully deleted.
Payload:
What to do: In the device running the WhatsApp App the number was previously registered in, reinstall WhatsApp and then fully delete it.
Type: Number linked to active non-enterprise account
Error code: 1005
Description: This means the previous WhatsApp installation was not deleted.
Payload:
What to do: In the device running the WhatsApp App the number is registered fully delete the account and app.
Type: Error verifying the number
Error code: 1005
Description: This means that the registration has been locked.
Payload:
What to do: Please contact our support team and we will reset the registration state.
Errors while messaging
400: Bad Request Check that you are using the correct data type for Booleans and Strings, and that the JSON-payload is well-formed. Use an online tool (ex. JSON formatter and validator) to validate the payload if you are not sure.
Recipient is not a valid WhatsApp user
This error occurs when the numbers you're trying to reach are not recognized as valid WhatsApp users. You can check if it is a valid WhatsApp number by using the wa.me/ link followed by the number, or you can also attempt to message them and filter the valid numbers for your campaign based on failed
webhook events.
It is also recommended to implement robust error handling in your application, effectively capturing and parsing HTTP responses from the WhatsApp Business API. By identifying specific errors like "Recipient is not a valid WhatsApp user
," you can handle them accordingly, either by excluding invalid numbers from the campaign or notifying the user about the issue.
408: Message failed to send because it was pending for too long There are no further details provided by WhatsApp. The recommendation is to resend the message.
470: Message failed to send because more than 24 hours have passed since the customer last replied to this number (no open session) Free-form text messages and media messages will result in a failure callback with error 470 when sent outside of the 24h-window. In other words, if it has been more than 24 hours since you last received a user initiated message - the session is closed and you can no longer use free-form messages. Please find a way to restrict message sending if there was no incoming message for the given user/phone number within 24h. Alternatively, you can contact the user using a Template Message.
1000: Failed to generate processed file path This could occur when the file storage is full and files cannot be stored. Please reach out to Help and Support.
1000: Image file format (audio/mpeg) is not supported
Make sure that the message type matches the MIME-type of the file (ex. audio files should be sent using "audio", not "image"; audio/mpeg
is an unsupported combination).
Another reason could be that the video file doesn't have an audio track: then the error message contains something like video/mp4/h264/NONE
where NONE is an indicator that the audio track is missing.
1006 - Unknown contact You did not use the v1/contacts endpoint to get a valid wa_id before sending the message. See the above guide on how to use the v1/contacts endpoint.
1009: Invalid latitude The valid range is from -90 to 90.
1014: Request for .... failed You have provided a URL that seems to be double URL-encoded and the file cannot be delivered because of that, or the file behind the URL doesn't exist.
2001: Template name does not exist in the translation The template needs to be set up by our Support team.
500: structure unavailable: Client could not display the highly structured message (hsm) The Template was not understood by the WhatsApp consumer client. Check the format.
Cloud API Error Codes
Authorization Errors
In some cases, the API key used after migrating WABA may result in an 40+ error
on the waba-v2
endpoint. If this occurs, please consider generating a new API key, as the one in use may not have the necessary authorization. Note that only one (the newest) API key is valid.
Please refer to Meta's documentation for reference on Error Codes.
In general, is recommended 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.
Last updated