POST /api/v2/conversations/calls returns 401 despite valid OAuth token

I can’t seem to figure out why POST /api/v2/conversations/calls returns a 401 Unauthorized error when my Python notebook holds a valid Bearer token generated via client_credentials. The token works perfectly for GET /api/v2/analytics/reporting/queries, yet the outbound initiation fails immediately with {“code”:“unauthorized”,“message”:“Authentication failed”}.

The payload includes valid to and from phone numbers with the agentId set to a verified user UUID. I am using requests.post with headers {“Authorization”: “Bearer ”, “Content-Type”: “application/json”} and standard Genesys Cloud base URL configuration.

Is the conversations_api scope missing from my token generation? I have checked the OAuth2 client settings and added all available conversation scopes, but the issue persists in the Asia/Singapore region endpoint.