My configuration keeps failing when I attempt to programmatically eject a specific participant from an active conference call using the Genesys Cloud TypeScript SDK. I am using platform.conversations.disconnectConversationParticipant with the correct conversationId and participantId, but the API returns a 404 Not Found error, claiming the resource does not exist. This is confusing because the GET /api/v2/conversations/{id}/participants endpoint successfully returns the participant object with a status of connected and a valid id. I have verified that the OAuth token has the conversation:write and conversation:view scopes. The conference call itself is active, and other participants can still interact. I suspect there might be a specific restriction or a different endpoint required for conference call participants versus standard point-to-point interactions, but the SDK documentation does not explicitly distinguish between them for the disconnect method. I have also tried using the raw REST call via fetch to rule out an SDK bug, but the result is identical. The request body is empty, as the documentation suggests for a DELETE operation. I am running this in a Node.js environment (v18) using the latest @genesyscloud/purecloud-platform-client-v2 package. Below is the code snippet I am using:
import { PlatformClient } from '@genesyscloud/purecloud-platform-client-v2';
const client = new PlatformClient();
await client.login();
const conversationId = 'abc-123-def-456';
const participantId = 'part-789-ghi-012';
try {
await client.conversations.disconnectConversationParticipant(
conversationId,
participantId
);
console.log('Participant disconnected successfully');
} catch (error) {
console.error('Failed to disconnect participant:', error);
}
Context:
I am building a moderation tool that allows supervisors to remove disruptive participants from conference calls. The tool works fine for standard 1:1 chats but fails consistently for conference calls. The environment is Genesys Cloud Enterprise. I have checked the API logs, and the request reaches the backend but fails with a 404. I have also verified that the participant is not already in a disconnected or busy state.
Question:
Is there a specific API endpoint or method in the TypeScript SDK for disconnecting participants from conference calls? If not, why does the standard disconnectConversationParticipant method return a 404 for conference participants? Are there any additional headers or parameters required for conference call operations that are not documented in the standard SDK examples?