Trying to programmatically drop a single participant from a three-way conference call using the Conversations API. I’m trying to update the participant state to terminate the leg. 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.