Trying to programmatically drop a single participant from a three-way conference call using the Conversations API. The endpoint is PATCH /api/v2/conversations/voice/{conversationId}/participants. I’m sending a JSON body with "state": "terminated" and "reason": "user_cancel" targeting the specific participantId.
The request returns a 409 Conflict with the message "Cannot terminate participant while they are in a connected state". This feels counterintuitive since terminating is exactly how you disconnect them. I’ve verified the participantId is correct and the user is indeed connected in the conversation object.
Is there a specific sequence required? Do I need to set the state to waiting first? Or is there a different endpoint for kicking a leg out of a conference? I’ve checked the docs but they just say to use the participants endpoint. Here’s the payload:
{
"participantId": "89234-12345-67890",
"state": "terminated",
"reason": "user_cancel"
}
Stuck on this.