Genesys Cloud Cobrowse API: 401 Unauthorized when trying to start session via POST /api/v2/conversations/cobrowse/sessions

I’m trying to programmatically start a cobrowse session for a customer from our internal WFM dashboard. The goal is to trigger the session and pass the resulting token to the agent so they can join immediately without manual setup.

I have a valid OAuth2 access token with the cobrowse:control scope. I’m using the Python SDK (genesyscloud).

Here is the code snippet I’m using:

from genesyscloud.api import CobrowseApi
from genesyscloud.model import CobrowseSessionCreateRequest

api_instance = CobrowseApi(configuration)

# Create the request body
body = CobrowseSessionCreateRequest(
 participant_id="customer_user_123",
 initiator_id="agent_user_456",
 expiration_time="2023-10-27T10:00:00Z"
)

try:
 api_response = api_instance.post_conversations_cobrowse_sessions(body=body)
 print(api_response)
except Exception as e:
 print("Exception when calling CobrowseApi->post_conversations_cobrowse_sessions: %s\n" % e)

The error I get back is:

{
 "status": 401,
 "code": "unauthorized",
 "message": "Unauthorized",
 "correlationId": "abc-123-def"
}

I double-checked the token in the Postman collection, and it works fine for GET requests on analytics. But for this specific POST endpoint, it fails. The documentation says I need cobrowse:control, which I have.

Is there a specific permission on the user level I’m missing? Or is the CobrowseSessionCreateRequest model wrong in the Python SDK? I’ve checked the JSON structure against the Swagger definition, and it matches.

Any ideas why the auth is failing here?