The UCAS017 refers to either the layout didn't find any fields in the input data that matched the layout's definitions or that the control didn't capture any data from the layout that matched the control's definitions. It did get further in processing this time around since it accepted the API and payload syntax instead of the HTTP 500.
What do you have defined as the "location" for your layout's fields? These "locations" refer to the key value of the JSON data within textDataItem. For the textDataItem in both of our examples, the locations are field1 and field2. Within my layout, I named my fields the same value, but the Name value could differ from the Location:
If the layout has the correct Location set for the fields, are the condition(s) within the control's capture met? These could vary greatly. I didn't add a condition; I set mine to "true" to capture all records.
To answer your other questions, yes, I'm using the Json2 plugin with API Data set as the Data Access Method. Escaping the double quotes comes from a JSON requirement of nested double quotes rather than a requirement specific to an Assure layout.