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.