Authenticate via OAuth 2 client credentials grant and obtain a Bearer token scoped to analytics and speech/text analytics permissions.
To retrieve a transcript for a specific conversation, GET /api/v2/analytics/conversations/{conversationId}/transcripts to receive a list of transcript document references (URLs) associated with that conversation.
Fetch the actual transcript content by following the URL returned in the transcript reference; the URL points to a structured JSON document with speaker-segmented utterances.
For bulk transcript retrieval, use the conversation details job endpoint: POST /api/v2/analytics/conversations/details/jobs with a filter on transcripts enabled status, then poll the job until complete.
To filter transcripts by topic or category in aggregated analytics, use POST /api/v2/analytics/transcripts/aggregates/query with a filter on categoryId to scope results to user-defined categories.
Subscribe to the v2.conversations.{id}.transcription notification topic via the Genesys Cloud WebSocket notifications API to receive incremental transcription events in real time during live calls.
Known gotchas
Transcript availability depends on whether Speech and Text Analytics is enabled on the Genesys Cloud account and configured for the queue; conversations without transcription enabled will return an empty array rather than an error.
The transcript URL returned in the reference object is a pre-signed URL that expires; do not cache the URL itself — fetch and store the transcript content immediately after retrieval.
Real-time transcription notifications via WebSocket deliver partial utterances during a call; wait for the final segment marker before treating an utterance as complete for QA or analytics purposes.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp