I’m trying to write a small script to transfer an active voice call to a specific queue using the Genesys Cloud API. I’ve got the OAuth token sorted and I can pull conversation details fine, but the transfer part is failing. I’m sending a PATCH request to /api/v2/conversations/calls/{conversationId}.
Here is the JSON payload I’m using:
{
"actions": [
{
"type": "transfer",
"to": {
"type": "queue",
"id": "abc-123-queue-id"
}
}
]
}
The server responds with a 400 Bad Request. The error message just says Invalid action type or something similar, which is confusing because the documentation lists transfer as a valid action type for voice conversations. I’ve double-checked the queue ID and it definitely exists in our London org.
Am I missing a specific permission on the service account? Or is the structure of the actions array different for calls vs tasks? I’ve tried adding reasonCode but that didn’t help. Any pointers on what the correct payload should look like for a simple queue transfer?