PATCH /conversations/conferences/{conferenceId}/participants/{participantId} returns 404 for active participants

We are implementing a custom admin tool to manage conference calls and need to programmatically disconnect specific participants. The goal is to remove a user from an active conference without ending the entire call. We are using the Genesys Cloud REST API directly via HTTP requests to integrate with our New Relic custom event pipeline.

The flow works for retrieving the conference details and listing participants. However, when we attempt to disconnect a participant using the standard PATCH endpoint, we get a 404 Not Found error. The participant ID is definitely valid and shows as active in the conference details response.

Here is the request we are making:

PATCH https://api.us.genesys.cloud/v2/conversations/conferences/{conferenceId}/participants/{participantId}
Content-Type: application/json
Authorization: Bearer <token>

{
 "state": "disconnected"
}

The response is consistently:

{
 "errors": [
 {
 "code": "notFound",
 "message": "Participant not found"
 }
 ]
}

We have verified the conferenceId and participantId by calling GET /conversations/conferences/{conferenceId} immediately before the PATCH request. The participant appears in the participants array with state: "connected". We are using a service account with telephony:conference:manage permissions. We also tried using the telephony:conference:read permission, but that didn’t change the outcome.

Is there a specific state transition required before setting state: "disconnected"? Or is there a different endpoint for removing participants from conferences? The documentation suggests this PATCH method should work, but it seems to fail silently with a 404. We need this to trigger a custom event in New Relic when a participant is dropped.