Docs state: “The endpoint returns the transcript text for the specified conversation.” I’m trying to pull the full voice-to-text transcript for a specific conversation ID using the Python SDK. The token is valid, the conversation exists, but the response body is just {}. I’ve waited 10 minutes for processing. Is there a delay or a specific filter I’m missing?
Empty responses on the transcript endpoint are usually a permissions issue, not a processing delay. The Python SDK needs explicit OAuth scopes to read transcript data, and the default analytics:read scope often isn’t enough.
Check your authorization header. You need to add analytics:conversation:view to your token request. Without it, the API silently returns an empty object instead of a 403 error, which is super confusing.
Here’s how you adjust your token request in Python:
from purecloudplatformclientv2 import AuthorizationApi, Configuration
config = Configuration()
config.host = "https://api.mypurecloud.com"
auth_api = AuthorizationApi(config)
token_data = auth_api.post_oauth2_token(
grant_type="client_credentials",
client_id="your-client-id",
client_secret="your-client-secret",
scope="analytics:read analytics:conversation:view"
)
config.access_token = token_data.access_token
Also, voice transcripts aren’t always instant. If the call just ended, the ASR job might still be running. You can check the conversation status via GET /api/v2/conversations/voice/{conversationId}. Look for analytics:transcript in the metadata. If it’s missing or null, the system hasn’t finished processing it yet.
If the scope is correct and the status shows complete, try fetching the transcript with expand=["transcript"] in your query params. Sometimes the default behavior varies by region or tenant config.
One more thing: ensure your user has the “View transcripts” permission in the Admin console under Role Management. Even with the right API scope, the underlying user profile needs that checkbox ticked.
Double-check those two things. Scope and permissions are the usual suspects here.