Commands let you control a Jitsi meeting programmatically from the host page. CallDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/jitsi/jitsi-meet/llms.txt
Use this file to discover all available pages before exploring further.
api.executeCommand(commandName, ...arguments) to trigger any of the supported actions inside the embedded iframe. Commands are fire-and-forget — they send a postMessage to the iframe and return immediately.
Usage
Command names are camelCase strings. Passing an unrecognised command name logs a console error and has no effect. Call
api.getSupportedCommands() to get a full list of available commands at runtime.All Commands
Audio and Video Controls
Audio and Video Controls
toggleAudio — Toggle the local participant’s microphone mute state. No arguments.toggleVideo — Toggle the local participant’s camera on or off. No arguments.muteEveryone(mediaType) — Mute all participants in the conference. Requires moderator privileges.| Argument | Type | Description |
|---|---|---|
mediaType | string | 'audio' or 'video' |
setVideoQuality(height) — Set the maximum outgoing video resolution in pixels.| Argument | Type | Description |
|---|---|---|
height | number | Target height, e.g. 180, 360, 480, 720, 1080 |
toggleShareScreen — Start or stop local screen sharing. No arguments.setAudioOnly(enabled) — Force the meeting into audio-only mode.toggleNoiseSuppression — Toggle background noise suppression. No arguments.setNoiseSuppressionEnabled(enabled) — Explicitly enable or disable noise suppression.toggleCamera — Switch between the front and back cameras on mobile devices. No arguments.toggleCameraMirror — Mirror or un-mirror the local camera preview. No arguments.sendCameraFacingMode(mode) — Send a camera facing mode message to the conference.setBlurredBackground(enabled) — Enable or disable the blurred background effect.Meeting Controls
Meeting Controls
hangup — Disconnect the local participant from the conference. No arguments.endConference — End the conference for all participants. Requires moderator privileges. No arguments.toggleLobby(enabled) — Enable or disable the lobby (waiting room) for the meeting.| Argument | Type | Description |
|---|---|---|
enabled | boolean | true to enable the lobby, false to disable it |
password(password) — Set or clear the room password. Pass an empty string to remove the password.subject(subject) — Set the meeting subject (title) displayed in the toolbar.localSubject(subject) — Set the meeting subject locally (only visible to the local participant).displayName(name) — Set the local participant’s display name.email(email) — Set the local participant’s email address.avatarUrl(url) — Set the local participant’s avatar image URL.sendTones(options) — Send DTMF tones (useful for phone dial-in scenarios).submitFeedback(score, message) — Programmatically submit post-call feedback.setFollowMe(enabled) — Enable or disable Follow Me mode (moderator view control).setMeetingTimer(seconds) — Set a countdown timer visible to all participants.toggleModeration(enabled, mediaType) — Enable or disable AV moderation for the specified media type.Recording and Streaming
Recording and Streaming
startRecording(options) — Start a file recording or live stream. The mode field determines the recording type.| Option | Type | Description |
|---|---|---|
mode | string | 'file' for server recording, 'stream' for live streaming |
dropboxToken | string | OAuth2 token for Dropbox recording |
shouldShare | boolean | Whether to share the recording link with participants |
rtmpStreamKey | string | RTMP stream key for live streaming |
rtmpBroadcastID | string | Optional RTMP broadcast ID |
youtubeStreamKey | string | YouTube stream key |
youtubeBroadcastID | string | Optional YouTube broadcast ID |
stopRecording(mode) — Stop an active recording or stream.grantRecordingConsent — Grant consent for recording on behalf of the local participant. No arguments.startShareVideo(url) — Share a video URL with all participants in the conference.stopShareVideo — Stop the shared video. No arguments.setSubtitles(enabled, language?) — Enable or disable meeting subtitles/captions.toggleSubtitles — Toggle meeting subtitles on or off. No arguments.Participant Management
Participant Management
kickParticipant(participantId) — Remove a participant from the conference. Requires moderator privileges.muteRemoteParticipant(participantId, mediaType) — Mute a specific participant.grantModerator(participantId) — Grant moderator role to a participant.rejectParticipant(participantId) — Reject a participant from joining. Requires moderator privileges.approveVideo(participantId) — Approve a participant’s video in a moderated session.toggleRaiseHand — Toggle the local participant’s raised-hand status. No arguments.overwriteNames(participants) — Override the display names of one or more participants. Accepts an array of { id, name } objects.pinParticipant(participantId, videoType?) — Pin a participant to the large video stage.setParticipantVolume(participantId, volume) — Set the playback volume for a remote participant. Volume is a number from 0 (silent) to 1 (full).askToUnmute(participantId) — Send an unmute request to a participant.answerKnockingParticipant(participantId, approved) — Admit or deny a participant waiting in the lobby.Breakout Rooms
Breakout Rooms
addBreakoutRoom(name) — Create a new breakout room with the given name. Requires moderator privileges.removeBreakoutRoom(roomJid) — Remove an existing breakout room by its JID.autoAssignToBreakoutRooms — Automatically distribute participants evenly across all breakout rooms. No arguments.sendParticipantToRoom(participantId, roomId) — Move a specific participant into a breakout room.joinBreakoutRoom(roomId) — Move the local participant into a breakout room.closeBreakoutRoom(roomId) — Close a breakout room and return its participants to the main room.User Interface
User Interface
toggleChat — Show or hide the chat panel. No arguments.toggleTileView — Switch between tile (grid) view and stage view. No arguments.setTileView(enabled) — Explicitly set tile view on or off.toggleWhiteboard — Show or hide the collaborative whiteboard. No arguments.toggleFilmStrip — Show or hide the filmstrip (thumbnail strip). No arguments.resizeFilmStrip(width) — Resize the filmstrip to the specified width in pixels.toggleParticipantsPane — Show or hide the participants list panel. No arguments.showNotification(uid, type, subject, description) — Display a custom in-meeting notification banner.hideNotification(uid) — Dismiss a notification by its unique ID.setVirtualBackground(enabled, backgroundImage) — Enable a virtual background using a base64-encoded image.toggleVirtualBackgroundDialog — Open or close the virtual background picker. No arguments.setLargeVideoParticipant(participantId, videoType?) — Force a specific participant onto the large video stage.resizeLargeVideo(width, height) — Resize the large video container to the given pixel dimensions.initiatePrivateChat(participantId) — Open a private chat window with the specified participant.cancelPrivateChat — Close the active private chat window. No arguments.showPiP — Show the Picture-in-Picture window. No arguments.hidePiP — Hide the Picture-in-Picture window. No arguments.setSecondScreen(options) — Configure a second screen for the meeting.End-to-End Encryption
End-to-End Encryption
toggleE2EE(enabled) — Enable or disable End-to-End Encryption for the meeting.setMediaEncryptionKey(keyInfo) — Set a custom E2EE encryption key. The key object must contain the exported raw key bytes and an index.Chat and Messaging
Chat and Messaging
sendChatMessage(message, to?) — Send a message to the public chat, or a private message to a specific participant.| Argument | Type | Description |
|---|---|---|
message | string | The text content of the message |
to | string (optional) | Participant ID for a private message. Omit for public. |
sendEndpointTextMessage(to, message) — Send a raw data channel message directly to a specific participant. Useful for custom application-layer signalling.Network and Performance
Network and Performance
setAssumedBandwidthBps(bps) — Override the bandwidth estimate used by the video quality manager. Useful when you know the user’s network conditions ahead of time.overwriteConfig(config) — Overwrite config.js options after the meeting has started.