Docs state: “To initiate a co-browse session, send a POST request to the /api/v2/conversations/{conversationId}/cobrowse endpoint with a valid conversation ID.”
I’m trying to kick off a cobrowse session programmatically via the API rather than through the standard agent UI trigger. The flow is straightforward. I have an active voice conversation. I have the conversation ID. I have the agent ID.
The request looks like this:
POST /api/v2/conversations/conv-12345-abcde/cobrowse
Authorization: Bearer <valid_token>
The response is HTTP 400. The error payload is:
{
"message": "Invalid action specified for conversation type",
"code": "invalid_action",
"status": "Bad Request"
}
I’ve checked the token permissions. It has conversation:cobrowse:add. The conversation exists. The agent is logged in and active. I even tried swapping the path to include an action parameter just in case, but that throws a 404.
Is there a specific prerequisite status the voice conversation needs to be in before cobrowse can attach? The docs don’t mention any state requirements. Just “send a POST request”.
I’m using the Python SDK for the token generation part, but hitting the REST endpoint directly for this call. The token is fresh. Less than 30 seconds old.
This feels like a mismatch between the conversation type and the allowed actions. But cobrowse is listed as a supported channel for voice conversations in the product guide.
Any ideas what’s missing? I’ve been staring at this for two hours. The endpoint structure matches the example in the swagger doc exactly.