Genesys Cloud Speech Analytics API returning empty transcript for completed voice interactions

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.