I’m trying to pull the full voice-to-text transcript for completed interactions using the GET /api/v2/speechandtextanalytics/conversations/{conversationId} endpoint. The goal is to feed this into our custom agent desktop widget for post-call review.
We’ve got the analytics:conversation:view permission scoped correctly on the service account. The request returns a 200 OK, and the response contains the interaction ID and metadata like wrapupCode and agentEmail. However, the transcript field is consistently null, even for calls where I can see the transcript in the UI.
Here’s the snippet I’m using with the Python SDK:
from genesyscloud.speechandtextanalytics import SpeechandtextanalyticsApi
speech_api = SpeechandtextanalyticsApi(configuration)
# Assuming we already have the conversationId from a previous search or lookup
conversation_id = "your-conversation-id"
response, status_code, headers = speech_api.get_speechandtextanalytics_conversations_conversation_id(
conversation_id=conversation_id
)
if response.transcript:
print(response.transcript)
else:
print(f"No transcript for {conversation_id}")
I’ve checked the interaction details via the UI and confirmed that transcription is enabled for the queue. The analyticsType on the queue is set to speech. I’ve also tried passing analyticsType=voice in the query params, but that just returns a 400 Bad Request saying the analytics type is invalid.
Is there a specific delay between the call ending and the transcript becoming available via the API? Or am I missing a required query parameter to force the transcript to be included in the payload? The documentation mentions analytics as a filter, but I’m not sure how to structure that for voice transcripts specifically.