PATCH /conversations/calls not updating queueId for transfer

Hey folks,

Trying to push a call from one queue to another programmatically. We’re building a quick internal tool to handle overflow, so I’m using the Conversations API directly instead of Architect flows.

I’m sending a PATCH request to /api/v2/conversations/calls/{conversationId} with the following body:

{
 "routing": {
 "queueId": "new-queue-id-12345"
 }
}

The request returns a 204 No Content, which usually means success. But when I check the Genesys Cloud UI or pull the conversation details via GET, the queueId hasn’t changed. It’s still sitting in the original queue.

I’ve double-checked that the integration user has the routing:queue:write scope, and I can successfully create tickets, so auth isn’t the issue. I also tried adding the queueName field just in case, but no luck.

Am I missing a step? Does the agent need to be in a specific state for this to stick, or is there a different endpoint I should be hitting for a programmatic transfer?

Thanks.