GET /api/v2/analytics/conversations/summaries returns empty transcripts for recent calls

Docs state: “The summary API provides access to conversation data, including transcripts for speech-enabled interactions.” I’m hitting GET /api/v2/analytics/conversations/summaries with the correct from and to timestamps. The response comes back 200 OK, but the transcript array inside the interaction object is always empty. This is happening for calls that completed less than 10 minutes ago.

Here’s the relevant part of the JSON payload:

{
 "interactions": [
 {
 "id": "conv-12345",
 "type": "voice",
 "transcript": []
 }
 ]
}

I’ve verified the recording exists and the speech analytics task is configured correctly. The speechAnalytics field in the interaction object is null too. Is there a delay before the transcript populates in the summary API? Or am I missing a query parameter to force the transcript fetch?

Transcripts aren’t available immediately. There’s a processing lag for speech-to-text jobs. You’re hitting the API before the engine finishes.

Check the interactionState in the response. If it’s ACTIVE or PENDING, the transcript won’t be there yet. Wait for COMPLETED.

// Check state before accessing transcript
if (interaction.interactionState === 'COMPLETED') {
 console.log(interaction.transcript);
} else {
 console.log('Still processing:', interaction.interactionState);
}

Also verify the analytics:interaction:view scope is attached to your token. Missing scopes sometimes return empty arrays instead of 403s depending on the client implementation.