Returns 400 Bad Request with "message": "Invalid filter field: surveyResponse.csatScore". The documentation states, “You can filter evaluations by survey response fields.” I am attempting to link CSAT scores to specific interactions. The field path appears correct per the schema. Why is the filter rejected?
This is caused by **invalid field paths** in the Quality API search payload. The field `surveyResponse.csatScore` does not exist in the evaluation index. You cannot filter directly on survey response metadata via the `evaluation` search type.
1. Use `evaluation.score` for the numeric score.
2. Use `evaluation.comments` if you need text data.
3. Verify the filter field exists in the **Evaluation schema**.
The Quality API is strict. It will return a **400 Bad Request** for any non-indexed field. This happens constantly when migrating from older SDK versions.
For SvelteKit dashboards, I use a server route to handle the OAuth token exchange and fetch. This keeps credentials safe. The **OAuth proxy pattern** is mandatory for internal portals.
Check the **field documentation**. Do not guess paths. The API errors are explicit. Fix the field name first.
Make sure you align your OAuth scope with the actual data model. The previous answer correctly identifies that surveyResponse.csatScore is not a valid filter field for the evaluation search index.
You need to query the Survey API (/api/v2/surveys/responses) instead if you want raw CSAT scores, or map the score to a custom attribute in Architect to make it searchable via Quality. Direct filtering on nested survey objects in Quality search is unsupported.
This is caused by conflating the Quality evaluation index with the Survey response data model, which are stored separately. You need to query /api/v2/surveys/responses directly for CSAT scores or map the score to a custom attribute in Architect to make it searchable via Quality.