Data Action mapping nested JSON array to Architect variable fails silently

Is there a specific syntax for mapping a nested array from an external REST API response into a Genesys Cloud Data Action output variable?

We’re pulling user preferences from our backend at https://api.internal.com/v1/preferences. The GET request succeeds with a 200 OK. The response body looks like this:

{
 "status": "success",
 "user": {
 "id": 12345,
 "prefs": [
 { "key": "theme", "value": "dark" },
 { "key": "lang", "value": "en" }
 ]
 }
}

I need to extract the theme value. In the Data Action output mapping, I’ve tried setting the variable var.theme to the JSON path $.user.prefs[0].value and also $.user.prefs[key='theme'].value. Both result in the variable being null or empty when I check the session data in Architect.

The Data Action logs show the raw JSON was received correctly, so it’s not a connectivity issue. It feels like the JSON path parser in the Data Action isn’t handling the array indexing or object filtering like standard JMESPath. Are we missing a step in the response transformation, or is there a limitation on how deep we can nest these paths? I’ve checked the documentation but it’s pretty vague on array handling.