If you're using the data_exchange action in a WhatsApp Flow and get the error “MISSING_REQUIRED_PROPERTY: The property 'data_api_version' is required for data_exchange action”, you're missing one critical line in your Flow's JSON.
Quick Fix
Add the following line at the top level of your JSON:
"data_api_version": "3.0"
Your final JSON structure should look like this:
{
"version": "2.1",
"data_api_version": "3.0",
"screens": [
{
"id": "screenA",
"title": "screenTitle",
"type": "SingleColumnLayout",
"layout": {
"children": [
{
"type": "Footer",
"label": "Submit",
"on-click-action": {
"name": "data_exchange",
"payload": {}
}
}
]
}
}
]
}
Why This Error Happens
Whenever you use the data_exchange action in a Flow, WhatsApp needs to know that this Flow is connected to a server endpoint via the Data API. The key indicator is the presence of the data_api_version field in your Flow schema.
If this field is missing, Meta will throw the MISSING_REQUIRED_PROPERTY error because it assumes your Flow has no backend integration.
A Bit More Context
data_exchange is used when you want to send user input to your server and receive a response (for example: form submissions, user verifications, dynamic content rendering).
data_api_version tells the platform that your Flow depends on a server and must follow a specific contract (in most cases, "3.0" is the current version to use).
Final Tip
If you’re using actions like navigate, end_flow, or opt_in, you don’t need data_api_version. But for any server-related action like data_exchange, it’s mandatory.
TL;DR
Add "data_api_version": "3.0" to your Flow JSON whenever you use data_exchange. This simple fix will resolve the error and connect your Flow to your backend properly.
For more troubleshooting insights related to WhatsApp Business API, check out heltar.com/blogs.