PATCH /conversations/.../participants returns 200 but call doesn't transfer to queue

Trying to transfer an active call to a different queue using the Conversations API. I’m sending a PATCH to /api/v2/conversations/voice/{id}/participants/{id} with this JSON:

{
 "action": "transfer",
 "target": {
 "type": "queue",
 "id": "target-queue-id"
 }
}

The request returns 200 OK, but the agent remains connected. The transfer action seems ignored. Am I missing a specific header or does the Android SDK handle this differently than the REST API?