PATCH /api/v2/conversations/voice/{id} to transfer queue fails with 400

Trying to push a span into Jaeger when our Node.js OTel exporter triggers a queue transfer via the Conversations API. The goal is to move the interaction from queue A to queue B programmatically.

I’m using the Genesys Cloud REST API directly because the SDK doesn’t expose the specific transfer action for queue-to-queue moves in a clean way. Here’s the PATCH payload I’m sending to /api/v2/conversations/voice/{conversationId}:

{
 "action": "transfer",
 "to": {
 "id": "c0ffee12-3456-7890-abcd-ef1234567890",
 "type": "queue"
 }
}

The call returns 400 Bad Request with the message: Invalid transfer target type. I’ve verified the queue ID exists and has agents logged in. I even tried adding "routing": {"skill": "support"} to the payload, but same error.

The trace shows the request hits the gateway fine. It’s just the API rejecting the transfer spec. Is the to.type field wrong? Or do I need to wrap this in a control object? The docs are vague on the exact JSON schema for queue transfers via PATCH.

Need this working to close the trace span on the transfer event. Stuck.