Trying to drop a specific participant from an active conference call using the CXone Conversations API. The standard flow works for ending the whole call, but selective removal is failing.
Endpoint: POST /api/v2/conversations/voice/{conversationId}/participants
Payload:
{
"action": "disconnect",
"participantId": "abc-123-def-456"
}
Response is a hard 409 Conflict with the message: Participant action is not allowed in current state.
Checked the conversation state via GET /api/v2/conversations/voice/{conversationId}. It shows state: connected and state_reason: agent-connected. The participant exists in the participants array with the correct ID.
What I’ve tried:
- Verified the participant ID is not the initiator.
- Checked that the participant isn’t already in a
disconnectedstate. - Confirmed the API user has
conversation:writepermissions. - Tried using the
action: dropinstead ofdisconnect(got 400 Bad Request).
The docs are vague on what “current state” actually blocks this action. Is there a specific flag or transition I’m missing? Or is this API endpoint just broken for mid-call participant removal?