GC JS SDK `mute()` call returns 403 on active conversation

Calling conversation.audio.mute() on the MediaControl object throws a 403 Forbidden even though the agent is in a connected state. The SDK version is genesys-cloud-messaging-sdk: 2.1.0. The user has telephony:conversation:modify permissions. Here’s the snippet:

const media = session.getMedia();
await media.mute(); // throws 403

Why is the SDK rejecting the mute request?

  • Check the OAuth token. telephony:conversation:modify isn’t enough for media control. You need telephony:conversation:media scope.
  • Verify the session isn’t already muted. The API rejects redundant state changes.
  • Log the exact error body. It usually points to the missing permission.