Disconnecting specific participant from conference call via Conversations API

Can anyone clarify the correct payload structure for disconnecting a specific participant from an active conference call using the Genesys Cloud Conversations API? I am working on a .NET 6 Azure Function that processes webhook events for call control. When I receive a conversation:participant:added event, I need to programmatically remove a specific user based on their external contact ID. I am using the PATCH /api/v2/conversations/calls/{conversationId}/participants/{participantId}/communications/{communicationId} endpoint. My code constructs the request using HttpClient and includes the Authorization: Bearer token in the header. The request returns a 204 No Content response, which suggests success, but the participant remains in the call and the webhook stream does not emit a conversation:participant:removed event for that specific user. I have verified the participantId matches the id field in the webhook payload. Here is the relevant C# snippet: var request = new HttpRequestMessage(HttpMethod.Patch, $"/api/v2/conversations/calls/{convId}/participants/{partId}/communications/{commId}"); request.Headers.Add("Authorization", $"Bearer {token}"); var response = await client.SendAsync(request);. Is there an additional step or a different endpoint required to force the disconnection, or could this be a timing issue with the Azure Function execution context?

1 Like