Error Messages

Common API errors

Type: The Path is Blocked

Error code: 403

Description: Response returned if path is blocked.

Payload:

{
    "meta": {
        "httpCode": 403,
        "developerMessage": "This URL *** is blocked. More info: https://docs.360dialog.com/whatsapp-api/whatsapp-api",
        "success": false
    }
}

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:

{
    "meta": {
        "httpCode": 404,
        "developerMessage": "Invalid api_key or token expired",
        "success": false
    }
}

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:

{
    "meta": {
        "httpCode": 400,
        "developerMessage": "Your WhatsApp for Business API has been disabled. If you believe this is a mistake, please contact our support team.",
        "success": false
    }
}

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:

{
    "meta": {
        "httpCode": 400,
        "developerMessage": "You have exceeded the limit of 1 request every * seconds. Try again later.",
        "success": false
    }
}

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:

{
    "meta": {
        "httpCode": 500,
        "developerMessage": "Internal server error",
        "success": false
    }
}

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:

{
    "meta": {
        "httpCode": 502,
        "developerMessage": "WhatsApp for Business API not available.",
        "success": false
    }
}

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.

  • 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

  • The message was not delivered to create a high quality user experience. See Per-User Marketing Template Message Limits.

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

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:

{
    "meta": {
        "success": false,
        "http_code": 403,
        "developer_message": "Permission denied for partner 'PARTNERID'"
    }
}

What to do:

  1. 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:

{
    "data": {
        "code": 1005,
        "details": "Please wait 1 hour(s) 38 minute(s) before trying again",
        "title": "Access denied"
    },
    "meta": {
        "developer_message": "Trigger registration error",
        "http_code": 403,
        "success": false
    }
}

What to do: Wait until the timeout phase has lapsed and try again.

Error code: 1005

Description: This means the previous WhatsApp installation was uninstalled from the device but not fully deleted.

Payload:

{
    "data": {
        "code": 1005,
        "details": "Unknown error: biz_link_info_invalid_payload",
        "title": "Access denied"
    },
    "meta": {
        "developer_message": "Trigger registration error",
        "http_code": 403,
        "success": false
    }
}

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:

{
    "data": {
        "code": 1005,
        "details": "This number has not been approved for an enterprise. Please contact support for more info.",
        "title": "Access denied"
    },
    "meta": {
        "developer_message": "Trigger registration error",
        "http_code": 403,
        "success": false
    }
}

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:

{
    "data": {
        "code": 1005,
        "details": "There was an error verifying this phone number.Please try again later.", 
		"title": "Access denied"
    },
    "meta": {
        "developer_message": "Trigger registration error",
        "http_code": 403,
        "success": false
    }
}

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

HTTP Status CodeCode

401

Unauthorized

190 Access token has expired 0

AuthException

403

Forbidden

200-299

API Permission 10

Permission Denied

In some cases, the API key used after migrating WABA may result in an 40+ error on the waba-v2endpoint. 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