PATCH /api/v2/conversations/calls/{id} Transfer to Queue Returns 400

Running into a weird block when trying to transfer an active call to a specific queue via the Conversations API. The intent is straightforward: intercept the call and move it to a different queue for prioritized handling. The PATCH request to /api/v2/conversations/calls/{id} is returning a 400 Bad Request with a generic validation error.

I’ve checked the token scopes. conversation:write and queue:read are present. The call state is connected. I’m sending the transfer action in the body, but the platform seems to reject the target queue ID. Here is the payload structure I’m using in Kotlin:

val body = TransferAction(
 target = Target(
 type = "queue",
 id = "queue-uuid-from-architect"
 ),
 action = "transfer"
)

The response body just says "message": "Invalid request". No specific field error. I’ve verified the queue ID exists and is active.

  • Android SDK version: 12.5.0
  • API Endpoint: PATCH /api/v2/conversations/calls/{id}
  • HTTP Status: 400
  • Token Scope: conversation:write, queue:read

Does the transfer action require a different type value for queues? Or is there a hidden state requirement I’m missing. The docs are vague on the exact JSON schema for the transfer object when targeting a queue vs an agent.