Quality API survey responses missing interactionId for CSAT reports

Hitting a wall with the Quality API while trying to build a custom CSAT dashboard in Node.js.

We need to map survey responses back to the specific conversation ID to pull in agent metadata. The docs suggest using GET /api/v2/quality/surveyresponses with the interactionId filter, but that seems to only filter by the survey’s own internal ID, not the parent interaction.

Here’s the current approach:

const responses = await qualityApi.getQualitySurveyResponses({
 pageNumber: 1,
 pageSize: 100,
 query: `score >= 1`
});

console.log(responses.body.entities[0]);

The payload looks like this:

{
 "id": "survey-123",
 "score": 5,
 "comments": "Great service",
 "interactionId": null,
 "surveyId": "csat-v1"
}

The interactionId field is consistently null. Is there a different endpoint or a specific query parameter I’m missing to link this back to the conversation? I tried joining on the surveyId but that doesn’t help with the interaction context.

Running this against the JS SDK v3.9.0. Any pointers?

const surveyResponse = await qualityClient.getQualitySurveyResponse(surveyId);
const conversationId = surveyResponse.conversationId; // Use this, not interactionId

You’re looking at the wrong field. The interactionId in that endpoint refers to the survey instance, not the call. Pull the conversationId from the survey response object instead. It links directly to the parent interaction. You can then use that ID to fetch agent details or routing data. The API structure keeps them separate for performance reasons.