Initiating cobrowse session via /api/v2/conversations/cobrowse: 400 Bad Request on sessionId

Hey everyone,

I’m trying to kick off a cobrowse session programmatically using the Conversations API so I can inject the resulting sessionId into my OpenTelemetry spans for end-to-end tracing. The goal is to map the cobrowse events back to specific Data Action calls in our pipeline.

I’ve got the auth token sorted (using client credentials flow), and I’m hitting the /api/v2/conversations/cobrowse endpoint with a POST request. Here’s the payload I’m sending:

{
 "interactionId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
 "sessionId": "my-custom-otel-trace-id-123",
 "participants": [
 {
 "id": "user-123",
 "role": "observer"
 }
 ]
}

I keep getting a 400 Bad Request back. The error message is pretty vague:

{
 "message": "Validation failed for one or more parameters.",
 "errors": [
 {
 "code": "invalid_param",
 "message": "sessionId must be a valid GUID."
 }
 ]
}

I assumed I could pass my own trace ID there for correlation, but it seems the API is strict about GUID format. If I replace it with a random GUID, it works, but then I lose the link to my OTel parent span.

Is there a way to pass custom context or headers that get attached to the cobrowse session instead of forcing the sessionId field? Or am I supposed to map the GUID returned by Genesys back to my trace ID in the exporter?

Also, does the interactionId need to be an existing conversation ID, or can it be a new one created on the fly? The docs are a bit light on the cobrowse specifics.