Speech Analytics API returning empty transcript array for completed voice conversations

I’m building a C# service to archive full voice-to-text transcripts for our custom agent desktop history view. I’m hitting the Genesys Cloud Speech and Text Analytics API specifically GET /api/v2/analytics/speech/transcripts/{conversationId}.

The issue is that for some conversations, the response comes back with a 200 OK status, but the transcripts array in the JSON payload is completely empty. I know the conversation was transcribed because I can see the transcript in the Genesys Cloud UI under the Analytics tab.

Here is the code snippet I’m using to fetch the data:

var request = new HttpRequestMessage(HttpMethod.Get, $"{baseUrl}/api/v2/analytics/speech/transcripts/{conversationId}");
request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", _tokenProvider.GetAccessToken());

var response = await _httpClient.SendAsync(request);
if (response.IsSuccessStatusCode)
{
 var content = await response.Content.ReadAsStringAsync();
 var transcriptData = JsonSerializer.Deserialize<TranscriptResponse>(content);
 // transcriptData.Transcripts is empty here
}

I’ve checked the conversationId and it’s definitely correct. The conversation status is terminated. I’ve also tried adding the wait query parameter like ?wait=true but it just times out after 30 seconds without returning anything.

Is there a specific delay or status check I’m missing before the transcript data becomes available via this endpoint? The documentation isn’t very clear on the propagation time from the UI to the API. I’ve waited up to 10 minutes and still get an empty array.