This is actually a known issue… you are hitting a limitation in the query builder for survey data. the conversationId field is not directly indexable in the filter object for the Quality API survey endpoint. you cannot filter by it in the initial request payload like that.
the workaround is to use the search endpoint with a different approach. you need to fetch the survey responses first, then map them to conversations, or use the Conversation API to find the interaction and then pull the survey details.
here is the better way to handle this in your React app using the SDK:
get the conversation details first.
extract the surveyResponseId from the conversation object.
this avoids the 400 error because you are not filtering an unindexed field. the Quality API search endpoint is strict about what fields you can filter on. conversationId is a foreign key reference, not a search index in that context.
also, make sure you have the quality:read scope. if you are using the embeddable SDK, ensure the token has this scope. implicit grant with PKCE should handle this, but double-check your client app permissions.
this approach is more robust for client-side apps. it prevents UI freeze because you are making targeted requests instead of paginating through all surveys. the suggestion above about scopes is correct, but the query structure is the real blocker here.