When managing (creating, updating, deleting, or publishing) your Flows, you may run into the occasional error. The following table outlines the different error codes you might see, and what you can do to fix the problem.
Don't see your error code listed below? Check out this list of Cloud API error codes.
Error Code | Description | Possible Solutions |
---|---|---|
100 | Flow name is not unique | You may be trying to create a Flow with a name already used by another Flow on the same WhatsApp Business Account. Flow name should be unique within one WhatsApp Business Account. Confirm that you're creating the Flow on the correct account or use a different name for your Flow. See Creating a Flow for more information. |
Invalid Flow JSON version | The Flow JSON version you specified in your API call isn't valid. Verify there isn't a mistake with version sent (e.g., a typo or leaving it blank). If the version looks correct, it may be expired and you'll need to upgrade to a later version. For the latest active versions see the Changelog. For more details on how versioning works for WhatsApp Flows, see the Versioning reference. | |
Invalid Flow JSON | The Data API version you specified in your API call isn't valid. Verify there isn't a mistake with version sent (e.g., a typo or leaving it blank). If the version looks correct, it may be expired and you'll need to upgrade to a later version. For the latest active versions see the Changelog. For more details on how versioning works for WhatsApp Flows, see the Versioning reference. | |
Flow with specified ID does not exist | The Flow ID you provided was not found in your account. Confirm that the ID provided is correct and verify that you have access it with the credentials provided. | |
Only one clone source can be set | You provided values for both When cloning a Flow, you can only provide one of these fields. Unset one of them and try your request again. | |
Specify Endpoint Uri in Flow JSON | You provided For Flow JSON versions below 3.0 See API reference for details. | |
Invalid Endpoint URI | Provide a valid URL. | |
139000 | Blocked By Integrity | Unfortunately we've identified an issue with integrity in your account and have prevented you from creating or publishing your Flow. To get this issue resolved for your account, get in touch with us via the Support. |
139001 | Flow can't be updated | You attempted to update a Flow that has already been published. Once published, Flows can no longer be updated (see Flows Status Lifecycle). To update a published Flow, you'll have to clone the Flow (see Creating a Flow) and republish the new Flow. Once published, you can start sending the newly modified Flow instead of the existing one. |
Error while processing Flow JSON | Due to an internal error, the Flow JSON was saved but internal processing failed (which may prevent the Flow from serving properly). First, retry the exact same request as the issue may be transient. If retrying results in the same error again, contact us via the support to help get the error resolved. | |
Specify Endpoint Uri in Flow JSON | You provided For Flow JSON versions below 3.0 See API reference for details. | |
139002 | Publishing Flow in invalid state | You tried to publish a Flow that isn't a draft. Once a Flow leaves the draft state, they cannot be republished (see Flows Status Lifecycle). If you need to modify a Flow that is no longer a draft, you'll have to clone the Flow (see Creating a Flow) and republish the new Flow. Once published, you can start sending the newly modified Flow instead of the existing one. |
Publishing Flow with validation errorrs | You tried to publish a draft Flow that has validation errors. Flows with validation errors can be saved as a draft, but not published. Try viewing the Flow in the Flow Builder UI which will highlight and explain any errors (see Create Your First Flow for a guide to getting started with the Flows Builder UI. You can also view a list of validation errors for your Flow via the API (see Retrieving Flow Details). Once the errors are resolved, try publishing your Flow again. | |
Publishing Flow without | You need to set the "data_channel_uri" property before you can send or publish a flow. | |
Publishing without specifying | Please set Starting from Flow JSON version 3.0 See API reference for details. | |
Versions in Flow JSON file are not available for publishing | The flow is using an unsupported version. You can check the list of currently available versions in the changelog. | |
No Phone Number connected to WhatsApp Business Account | You need to add a phone number to your WhatsApp Business Account before you can send or publish a flow. | |
Missing Flows Signed Public Key | You need to upload and sign a public key to a phone number before you can send or publish a flow. | |
No Application Connected to the Flow | You need to connect a Meta app to the flow before you can publish it. | |
Endpoint Not Available | You need to verify that the endpoint is available and that you’ve implemented a health check before publishing. | |
WhatsApp Business Account is not subscribed to Flows Webhooks | You need to verify that your WhatsApp Business account is subscribed to Flows webhooks. | |
139003 | Can't deprecate unpublished flow | You attempted to deprecate a Flow that hasn't yet been published. Deprecating a Flow is only permitted after it's been published (see Deprecating a Flow). For Flows that are still drafts, you should delete any Flows you no longer need (see Deleting a Flow). |
Flow is already deprecated | You tried to deprecate a Flow that is already marked as deprecated. You may ignore this error as your target state (the Flow being deprecated) has already been achieved. | |
139004 | Can't delete published Flow | After a Flow has been published, it cannot be deleted. Please deprecate instead. |
139006 | Metrics threshold is not reached | Not enough data to provide flow metrics |
If the Flow is using a business-provided endpoint, that endpoint may return specific HTTP response codes in case of certain types of errors to trigger appropriate client-side behavior.
HTTP Response Code | Server-side situation | Client-side behavior and details |
---|---|---|
421 | The payload cannot be decrypted due to a private key being updated by your business | The WhatsApp client will re-fetch a public key and re-send the request. If the request fails, an error modal appears with an acknowledge button which directs the user back to your chat thread. See Implementing Endpoints for Flows for more details. |
432 | The request signature authentication fails | A generic error will be shown on the client. |
427 | The Flow token is no longer valid | The layout will be closed and the CTA button will be disabled for the user. You can send a new message to the user generating a new Flow token. This action may be used to prevent users from initiating the same Flow again. You are able to set an error message to display to the user. For example: HTTP/2 427 content-type: application/json content-length: 51 date: Wed, 06 Jul 2022 14:03:03 GMT {“error_msg”: “The order has already been placed”} See Implementing Endpoints for Flows for more details. |
These error codes might be sent through business endpoint from client devices or be included in webhook alert payload.
Code | Description | Possible Solutions |
---|---|---|
| Endpoint request has timed out. It took more than 10 seconds to process the endpoint request. | Improve the endpoint performance so it can process requests in less than 10 seconds. |
| The app linked to Flow does not have required endpoint capability | |
| The Flow message cannot be sent and opened by recipients. | Flow is not in Other common problems:
|
| Endpoint request connection closed without receiving valid http response. | Ensure that the endpoint always returns a valid response in the correct format. |
| The endpoint response had unexpected status code (eg. | Ensure that the endpoint response always has expected status code. |
| The client was not able to retrieve the business's public key from WA servers. | Make sure that the correct flow public key is uploaded for the phone number from which you are sending flows. If a problem persists contact support. |
| The client was not able to verify the signature of the business's public key. | Make sure that the correct flow public key with signature is uploaded for the phone number from which you are sending flows. If you re-installed on-prem client recently please make sure you re-upload public key with updated signature. If a problem persists contact support. |
| The client failed to decrypt the payload sent by the business. | Verify that the same key is uploaded for the phone number and is also being used to encrypt endpoint payloads. If a problem persists contact support. |
| The client received the next screen which is not matching the routing model expressed in flow JSON layout. | Next screen navigation needs to match what’s expressed in the routing model of the flow layout. If the routing model needs to be updated for a published flow, the flow needs to be cloned, edited and published again. |
| The client received the screen data which are not conforming to screen data schema defined in flow JSON layout. | Make sure the screen data sent for each screen complies with the schema defined in the flow JSON layout. |
| The client received the 421 error code from the business even after refreshing the public key. | Re-upload the Flow's public key and try again. |