Conversations API cobrowse initiation returning 400 Bad Request

Trying to kick off a cobrowse session via the Genesys Cloud API instead of relying on the agent UI. We need this for a specific workflow where the agent initiates the session programmatically. I’m using the Python SDK and hitting the POST /api/v2/conversations/cobrowse endpoint. The request looks correct based on the docs, but I’m getting a 400 Bad Request with a generic error message.

Here’s the payload I’m sending:

payload = {
 "conversationId": "conv-12345",
 "initiatorId": "agent-67890",
 "targetId": "contact-11223",
 "type": "cobrowse"
}
client.conversations_api.post_conversations_cobrowse(body=payload)

The error response just says “Invalid request body”. I’ve checked the conversation ID and it’s active. The agent and target IDs are valid users in the same division. Is there a specific permission or setting I’m missing? Or is the payload structure different from what the docs imply? The standard webchat cobrowse works fine when triggered from the UI, but the API call is failing consistently. Checked the token and it has the right scopes.

Any ideas on what’s causing the 400 error? The docs don’t show a detailed example for this specific endpoint.