Error Codes
This page lists the error codes that may occur while a WhatsApp message is being sent and delivered, along with the meaning of each code and how to resolve it.
Error codes come from two sources. Identify which one applies before referring to the corresponding section below:
| Source | Code numbering |
|---|---|
| Meta official error codes | Identical to Meta's official codes |
| EngageLab platform error codes | Defined by EngageLab |
Scope: This page covers message sending and delivery only. For error codes returned at the API request level, see the "Error Codes" section of the Send Message API and Template Management API documentation.
Meta Official Error Codes
The following error codes are defined by Meta, and the code numbers are identical to Meta's official codes. For more information, see the Meta official documentation.
Rate and Throughput Limits
These errors indicate that a sending rate or volume limit has been reached. There is nothing wrong with the message itself — sending resumes after you wait and retry.
| Code | Error | Details | Recommended action |
|---|---|---|---|
| 4 | API call limit reached | The app has reached its API call rate limit. | Reduce the call frequency or try again later. |
| 80007 | Account rate limit reached | The WhatsApp Business Account (WABA) has reached its sending rate limit. | Slow down your sending pace and try again later. For bulk campaigns, send in evenly paced batches. |
| 130429 | Message throughput limit reached | The maximum number of messages that can be sent per unit of time has been reached. | Reduce the number of concurrent sends and retry. If your business requires higher throughput, contact EngageLab technical support to evaluate an upgrade. |
| 131048 | Spam rate limit hit | A significant number of recent messages from this sender number were blocked or reported as spam, which triggered a sending restriction. | Check the number's quality rating in WhatsApp Manager, then improve your content and audience targeting before sending again. |
| 131056 | Too many messages to same recipient | Too many messages were sent to the same recipient in a short period of time. | Increase the interval between messages to the same user. Sending to other recipients is unaffected. |
| 131064 | Messaging limit reached (template classification) | The account has reached its messaging limit because template categories (Marketing / Utility / Authentication) were used incorrectly. Both template messages and regular messages are affected. | Verify that template categories match their actual use. The restriction is lifted automatically once the enforcement period ends. |
Account and Permissions
These errors relate to account status, integration configuration, or policy enforcement. Retrying will not resolve them.
| Code | Error | Details | Recommended action |
|---|---|---|---|
| 0 | Authentication failed | The access token used to connect to Meta is no longer valid. | This is an integration-side issue. Contact EngageLab technical support. |
| 3 | Capability or permission issue | The capability or permission required by this endpoint is missing. | Contact EngageLab technical support to enable the required permission. |
| 10 | Permission denied | The permission was never granted or has been removed. | Contact EngageLab technical support to review permissions. |
| 190 | Access token expired | The access token used to connect to Meta has expired. | This is an integration-side issue. Contact EngageLab technical support to refresh it. |
| 200 | No access token provided | The request did not include a valid access token. | This is an integration configuration issue. Contact EngageLab technical support. |
| 368 | Temporarily blocked for policy violation | The WhatsApp Business Account has been restricted or disabled for violating a platform policy. | Review recent message content and templates for compliance. You can view the enforcement details and appeal in Meta Business Manager. The restriction is lifted automatically once the enforcement period ends. |
| 130497 | Restricted from messaging users in certain countries | The WhatsApp Business Account is restricted from messaging users in certain countries or regions. | Confirm that the recipient's country or region is permitted. See the WhatsApp Business Messaging Policy for details. |
| 131005 | Access denied | The permission required by this endpoint was never granted or has been removed. | Contact EngageLab technical support to review permissions. |
| 131031 | Account locked | The WhatsApp Business Account has been restricted or disabled for violating a platform policy. | Contact EngageLab technical support to check the account status. You can also review the account health status in Meta Business Manager. |
| 131042 | Payment issue | There is a problem with the payment method or credit line — for example, no payment account attached, the credit line is over its limit or inactive, or the time zone and currency are not set. | In Meta Business Manager, verify that the payment account, credit line, time zone, and currency are all set up correctly. |
| 131057 | Business account in maintenance mode | The WhatsApp Business Account is undergoing maintenance or an upgrade. | Try again later. |
| 131063 | Marketing templates disabled on Cloud API | The template is categorized as Marketing, but marketing templates are disabled in the account's Cloud API configuration. | Re-enable marketing messages for the account, or use a Utility or Authentication template instead. |
| 134011 | WhatsApp Payments ToS not accepted | The WhatsApp Business Account has not yet accepted the WhatsApp Payments terms of service. | Accept the terms using the link provided in the error message, then retry. |
Sending and Recipients
These errors relate to the content of the request, the recipient's status, or the messaging window.
| Code | Error | Details | Recommended action |
|---|---|---|---|
| 1 | Invalid request or server error | The request is malformed, or a server error occurred on Meta's side. | Check the request format against the API documentation. If the format is correct, try again later. |
| 2 | Temporary downtime or overloaded | Meta's service is temporarily unavailable due to downtime or overload. | Try again later. |
| 100 | Invalid or misspelled parameter | The request included one or more unsupported, misspelled, or over-length parameters. | Check parameter names, values, and length limits against the API documentation. |
| 130403 | Business has blocked the user on WhatsApp | Your business number has blocked this recipient on WhatsApp. | Do not retry. Unblock the user in WhatsApp Manager first, then send again. |
| 130472 | Message not sent as part of an experiment | The recipient was included in a Meta marketing message experiment (control group), so the message was not sent per the experiment rules. | No action needed. This does not indicate a problem with your message or account. |
| 131000 | Unknown error | The message failed to send due to an unknown error. | Try again later. If it keeps failing, contact EngageLab technical support. |
| 131008 | Required parameter missing | The request is missing a required parameter. | Add the required parameters as described in the API documentation and resend. |
| 131009 | Parameter value invalid | One or more parameter values are invalid. | Check the supported values and formats for each parameter in the API documentation. |
| 131016 | Service temporarily unavailable | A service on Meta's side is temporarily unavailable. | Try again later. |
| 131021 | Sender and recipient are the same | The recipient number is the same as the sender number. | Send to a different recipient number. |
| 131026 | Unable to deliver to recipient | The recipient is not a WhatsApp user, has not accepted the latest Terms of Service, or is using an outdated client version. | Confirm the number is registered on WhatsApp. Using another channel, ask the recipient to accept the latest terms and update WhatsApp. |
| 131037 | No approved display name | The sender number does not have an approved display name. | Get the display name approved first, then send. |
| 131045 | Phone number registration error | The message failed because of a registration problem with the sender number. | Confirm the sender number is fully registered. If there is a problem, register the number again. |
| 131047 | Outside 24-hour messaging window | More than 24 hours have passed since the recipient last replied, so free-form messages can no longer be sent. | Use an approved template message instead. The 24-hour window reopens once the user replies. |
| 131049 | Message not delivered to maintain healthy ecosystem engagement | The recipient has reached the limit for marketing template messages they can receive within a given period. | Wait at least 24 hours before resending, and control the frequency and relevance of your marketing messages. |
| 131050 | User opted out of marketing | The recipient has chosen to stop receiving marketing messages from your business. | Do not retry. Remove the user from your marketing list and send only essential Utility messages. |
| 131051 | Unsupported message type | An unsupported message type was used. | Use a supported message type as described in the Send Message API documentation. |
| 131052 | Media download failed | The media sent by the user could not be downloaded. | Ask the user to provide the file through another channel. |
| 131053 | Media upload failed | The media file in the message could not be uploaded. | Check that the file format and size meet the requirements, then retry. |
Templates and Flows
These errors relate to the template's status, content, or parameter values.
| Code | Error | Details | Recommended action |
|---|---|---|---|
| 132000 | Template parameter count mismatch | The number of variables supplied does not match the number defined in the template. | Add or remove parameters to match the template's actual variable count, then resend. |
| 132001 | Template missing or not approved | The template does not exist in the specified language, or it has not been approved. | Verify that the template name and language code match exactly (including case and underscores) and that the template status is "Approved". |
| 132005 | Translated text too long | The template translation for this language exceeds the length limit. | Shorten the template text for that language. |
| 132007 | Template content violates policy | The template content violates a WhatsApp policy. | Revise the content according to the template review guidelines and resubmit for review. |
| 132012 | Template parameter format invalid | The format of the variable values does not match the format defined in the template. | Provide the variables in the format defined by the template. |
| 132015 | Template paused due to low quality | The template has been paused because of a low quality rating and cannot be sent. | Edit the template to improve its quality and use it again once re-approved. In the meantime, use another approved template. |
| 132016 | Template permanently disabled (low quality) | The template has been paused too many times for low quality and is now permanently disabled. | The template cannot be restored. Create a new template with different content. |
| 132018 | Template validation error | The parameters in the template failed validation. | Correct the parameter configuration based on the error message and resend. |
| 132068 | Flow is blocked | The Flow used is in a blocked state. | Review and fix the Flow configuration, or reach the user through another method. |
| 132069 | Flow is throttled | 10 messages have already been sent using this Flow within the last hour, triggering throttling. | Wait until the throttling window ends before sending again. |
Phone Number Registration and Verification
| Code | Error | Details | Recommended action |
|---|---|---|---|
| 133000 | Deregistration incomplete | A previous deregistration attempt failed, so the number cannot be registered again. | Deregister the number again, then register it. |
| 133004 | Server temporarily unavailable | Meta's server is temporarily unavailable. | Try again later. |
| 133005 | Two-step verification PIN incorrect | The two-step verification PIN in the request is incorrect. | Verify the PIN. If you have forgotten it, disable two-step verification and set a new PIN. |
| 133006 | Phone number re-verification needed | The number must be verified before it can be registered. | Verify the number first, then register it. |
| 133008 | Too many PIN attempts | The PIN was entered incorrectly too many times and is temporarily locked. | Wait until the lock is released, then try again. |
| 133009 | PIN entered too quickly | The PIN was submitted too frequently. | Try again later. |
| 133010 | Phone number not registered | The number is not registered on the WhatsApp Business Platform. | Register the number before sending. |
| 135000 | Unknown request parameter error | There is an unknown error in the request parameters. | Check the request syntax and parameters against the API documentation. If the error persists, contact EngageLab technical support. |
Sender Number Status
| Code | Error | Details | Recommended action |
|---|---|---|---|
| 33 | Business phone number has been deleted | The business phone number used for sending has been deleted. | Verify the sender number. If it has been deleted, use another valid sender number or register it again. |
| 133015 | Phone number recently deleted; deletion not yet complete | The number was recently deleted and the deletion process has not finished. | Wait about 5 minutes, then retry. |
| 133016 | Too many registration/deregistration attempts; number temporarily blocked | There have been too many registration or deregistration attempts for this number in a short period, and the number is temporarily blocked. | Wait until the block is lifted before trying again, and avoid repeated attempts in the meantime. |
EngageLab Platform Error Codes
| Code | Error | Details | Recommended action |
|---|---|---|---|
| 1 | Invalid recipient number | The recipient number format is invalid and failed validation. | Check that the number contains only digits, includes the country code, and has no +, spaces, or hyphens, then resend. |
| 5000 | Send timeout | The request timed out while the message was being submitted to Meta, and the message was not sent. | Try again later. |
| 5001 | Insufficient balance; message not sent | The account balance is insufficient, so the message was not sent. | Top up your account in the console and resend. We recommend enabling balance alerts. |










