Why does this endpoint consistently return 404 despite the conversation existing and having a valid transcription?
I am automating transcript retrieval via a Python script using the Genesys Cloud REST API. The goal is to pull voice-to-text transcripts for quality assurance analysis within our CI/CD pipeline.
The workflow:
- Query
/api/v2/analytics/conversations/voice/summaryto get conversation IDs. - Verify transcription status is
complete. - Call
/api/v2/analytics/conversations/voice/transcripts/{conversationId}.
Request details:
- Method: GET
- Header:
Authorization: Bearer {token}(valid, tested against/api/v2/users/me) - Header:
Accept: application/json
Response:
404 Not Found
{
"message": "Not found",
"status": 404
}
Debugging steps taken:
- Confirmed conversation ID format (UUID).
- Checked transcription status via summary endpoint; returns
complete. - Verified OAuth scope includes
analytics:conversation:view. - Tested with Postman; same 404 result.
The documentation implies this endpoint should return the transcript body. However, it seems to require specific conditions not explicitly stated. Is there a delay between status complete and transcript availability? Or does the endpoint require additional query parameters?
Code snippet:
import requests
url = f"https://api.mypurecloud.com/api/v2/analytics/conversations/voice/transcripts/{conv_id}"
headers = {
"Authorization": f"Bearer {token}",
"Accept": "application/json"
}
resp = requests.get(url, headers=headers)
print(resp.status_code)
print(resp.json())
Any insights on why this fails? I suspect the API might be region-specific or require a different scope. The organization is in us-east-1. Terraform state shows no anomalies in analytics configuration.