Disconnecting a single participant from a conference via Conversations API

Running into a wall trying to drop a specific user from an active conference call using the REST Proxy. We have a script that joins multiple parties, but the requirement is to kick one out without ending the whole session.

I’m targeting the endpoint DELETE /api/v2/conversations/voice/{conversationId}/participants/{participantId}. The script successfully retrieves the conversationId and the target participantId via earlier Get Data blocks. The token used for the REST Proxy has the conversation:view and conversation:write scopes.

When the script hits the DELETE, the proxy returns a 409 Conflict. The response body looks like this:

{
 "code": "conflict",
 "message": "Participant cannot be removed from the conversation because there are fewer than 2 participants remaining."
}

This is confusing. The conference has four participants total. I’m only trying to remove one. I verified the IDs are correct by logging them to the transcript before the call. If I remove two people at once, it works fine, which suggests the API isn’t actually checking the current state correctly, or my token context is stale.

I tried adding a 2-second delay between the join and the leave just in case the state wasn’t propagating, but the 409 persists.

Is there a specific header I’m missing? Or does the Conversations API require a different flow for removing members, like updating the participant state to ‘left’ instead of a hard delete? The docs for the endpoint are pretty sparse on error conditions.

Here is the code for the REST call:

ASSIGN rest = GetRESTProxy()
ASSIGN response = rest.Delete("/api/v2/conversations/voice/" + conversationId + "/participants/" + participantId)

The response.Status is 409. I’m stuck.