If you're seeing this error:

INVALID_PROPERTY_VALUE
Property 'refresh_on_back' can be true only when property 'data_api_version' is set.

You're likely trying to make your flow re-fetch data on screen navigation without configuring the data connection properly. Let’s walk through what this means and how to fix it.

Quick Fix

To use "refresh_on_back": true, you must set a data_api_version at the root level of your flow.

Correct Example:

{
  "version": "2.1",
  "data_api_version": "1.0",
  "screens": [
    {
      "id": "screenA",
      "refresh_on_back": true,
      "layout": {
        "children": [...]
      }
    }
  ]
}

Without data_api_version, the flow is considered a data-channel-less flow, and setting refresh_on_back causes validation to fail.

Why This Happens

Meta’s flow engine only allows refresh_on_back when your flow is connected to a server or external data source.

  • data_api_version tells the system that your flow is backed by APIs.

  • refresh_on_back is used to re-fetch data when a user navigates back to a screen—this only works if the screen can actually get updated data from somewhere.

If you haven’t defined data_api_version, the platform assumes you’re not using a backend. So trying to “refresh” makes no sense, and the error is thrown.

When to Use refresh_on_back

Use it only when:

  • The screen shows dynamic data fetched from a server.

  • There’s a chance the data might have changed while the user was on another screen.

  • Your flow includes data_api_version and server endpoints are configured.

When Not to Use It

  • If your flow is static and doesn’t rely on backend APIs.

  • If you haven’t configured data_api_version.

For more troubleshooting insights related to WhatsApp Business API, check out heltar.com/blogs.