iOS Client Version: 5.10.6
Zoom Room Controller Version: 5.14.0
To initialize and start using the SDK, you must first call zoomSdk.config
to verify your application with Zoom. Without completing this step, your application won’t be able to use any of the APIs or event listeners provided by the SDK. In the request body of this API call, specify the list of APIs and event listeners that you plan to use in your app as shown below. Ensure that the list of capabilities provided in this request corresponds to the list of APIs and events that you have added in your app build flow on Marketplace (Zoom App > Feature > Zoom App SDK).
The Zoom Apps SDK relies on a token that is generated and used internally by the Zoom client to authorize API calls on behalf of the app. This token is bound to the openURL that you provide when you call zoomSdk.config
. If your URL changes, your configuration will be invalidated, and you will need to call zoomSdk.config
with the new URL again.
If your Zoom App is a single page app, we suggest modifying your navigation methods to automate this.
const configResponse = await zoomSdk.config({
version: '0.16',
// The `version` param is only required if using the Cloud SDK (not NPM SDK).
// See README for more details.
popoutSize: { width: 480, height: 360 },
capabilities: [
//APIs
"shareApp",
"listCameras",
"setCamera",
"setVideoMirrorEffect",
"getMeetingParticipants",
"cloudRecording",
"allowParticipantToRecord",
"getRunningContext",
"getMeetingContext",
"getSupportedJsApis",
"showNotification",
"openUrl",
"setVirtualBackground",
"listCameras",
"setCamera",
"sendAppInvitation",
"sendAppInvitationToAllParticipants",
"getUserContext",
"getRecordingContext",
"getMeetingContext",
"getMeetingJoinUrl",
"getMeetingUUID",
"expandApp",
"connect",
"postMessage",
//Events
"onShareApp",
"onSendAppInvitation",
"onCloudRecording",
"onActiveSpeakerChange",
"onAppPopout",
"onCohostChange",
"onParticipantChange",
"onReaction",
"onConnect",
"onExpandApp",
"onMessage",
"onMeeting",
],
});
Desktop Client Version: 5.6.7
iOS Client Version: 5.10.6
Zoom Room Controller Version: 5.14.0
Returns an array of APIs and events supported by the current running context.
Supported roles: Host, Co-Host, Participant, Panelist, Attendee
Supports Guest Mode: Yes
await zoomSdk.getSupportedJsApis();
Error codes ZoomApiError
Status Code | Status Message |
---|---|
10013 | Request to get supported APIs list failed.[Error from web: xxxx] |
Desktop Client Version: 5.6.7
iOS Client Version: 5.10.6
Opens a URL in the system browser of a user's device.
Supported roles: Host, Co-Host, Participant, Panelist, Attendee
Supports Guest Mode: Yes
await zoomSdk.openUrl({ url: "https://awesome-zoom-app.com/login" });
You must whitelist the URL domain in your Marketplace app configuration, otherwise the browser will show a warning "Accessing Untrusted Website". And the user has to manually click the link to trigger marketplace to redirect them to the specified url. Error codes ZoomApiError
Status Code | Status Message |
---|---|
10015 | Request to open URL failed, please make sure the domain has been whitelisted by the Zoom App.[Error from web: xxxx] |
Desktop Client Version: 5.6.7
iOS Client Version: 5.10.6
Zoom Room Controller Version: 5.14.0
Returns the context in which the Zoom App is launched. This is useful for controlling your app's behavior based on the presence of a single user or multiple collaborative users.
Supported roles: Host, Co-Host, Participant, Panelist, Attendee
Supports Guest Mode: Yes
await zoomSdk.getRunningContext();
Desktop Client Version: 5.8.3
iOS Client Version: 5.10.6
Starts a new meeting or joins an existing meeting and launches the app in the meeting.
Supported roles: Host, Co-Host, Participant, Panelist
Supports Guest Mode: No
await zoomSdk.launchAppInMeeting({ joinURL: 'xxx' })
with joinURL | without joinURL | |
---|---|---|
inMainClient | Joins meeting associated with the joinURL and launches app in it |
Starts a new meeting and launches app in it |
Error codes ZoomApiError
Status Code | Status Message |
---|---|
10054 | This API can only be used in the main client. |
10058 | Launch app in meeting failed. |
Desktop Client Version: 5.11.3
iOS Client Version: 5.11.3
Zoom Room Controller Version: 5.14.0
Beta API may undergo some changes
This API returns app context token that contains signed app context data for secure backend validation. See https://developers.zoom.us/docs/zoom-apps/zoom-app-context/ for more details.
Running context: all
Supported roles: Host, Co-Host, Participant, Panelist, Attendee
Supports Guest Mode: Yes
zoomSdk.getAppContext()
.then((appContext) => console.log(appContext))
.catch((err) => console.log(err))
Error codes ZoomApiError
Status Code | Status Message |
---|---|
10118 | Failed to get app context |
Desktop Client Version: 5.6.7
The API can only be called in meeting. Allows the App to communicate with the instance of the app running on the main client.
Supported roles: Host, Co-Host, Participant, Panelist
Supports Guest Mode: Yes
await zoomSdk.connect()
Error codes ZoomApiError
Status Code | Status Message |
---|---|
10039 | Failed to connect with the app in main client. |
Desktop Client Version: 5.6.7
Send a message with the current state of the mirrored app. The structure of the payload depends on the needs of the app.
Payload limit is <512KB
Supported roles: Host, Co-Host, Participant, Panelist
Supports Guest Mode: Yes
await zoomSdk.postMessage({ JSON })
Error codes ZoomApiError
Status Code | Status Message |
---|---|
10041 | Failed to do this action because app instances aren’t connected. |
10038 | Failed to post message to connect app. |
Desktop Client Version: 5.7.3
Tells the client to end the data communication between connected apps. Note that the client will close the connection between the apps when endSyncData is called or 10 seconds after the onMeeting event with event.action == 'ended' is received, whichever comes first.
Supported roles: Host, Co-Host, Participant, Panelist
Supports Guest Mode: Yes
await zoomSdk.endSyncData()
Error codes ZoomApiError
Status Code | Status Message |
---|---|
10041 | Failed to do this action because app instances aren’t connected. |
10053 | This API can only be used after meeting ends. |
Desktop Client Version: 5.6.7
In order to maintain state after a meeting, the instance of the app that is running in the meeting must communicate with the instance of the app running in the main client. The following events facilitate that process.
Notify the event listener when the API call connect
has finished attempting to connect to the app instance running in the main client. This event can only be received in meeting.
Supported roles: Host, Co-Host, Participant, Panelist
Supports Guest Mode: Yes
Desktop Client Version: 5.6.7
In order to maintain state after a meeting, the instance of the app that is running in the meeting must communicate with the instance of the app running in the main client. The following events facilitate that process.
Receive a sent message from the mirrored app. The structure of the payload depends on the needs of the app.
Updated in Desktop Client Version 5.15.5: This event triggers when sendMessage
is invoked on another participant's app instance, and receives the JSON data message payload sent. See sendMessage
documentation for more information regrading message delivery guarantees.
Running context: inMeeting, inWebinar, inMainClient, inCollaborate
Supported roles: Host, Co-Host, Participant, Panelist, Attendee
Supports Guest Mode: Yes
Product: desktop
Desktop Client Version: 5.6.7
In order to maintain state after a meeting, the instance of the app that is running in the meeting must communicate with the instance of the app running in the main client. The following events facilitate that process.
Meeting is closed, then notify the mirrored app and update state one more time.
Supported roles: Host, Co-Host, Participant, Panelist
Supports Guest Mode: No
Desktop Client Version: 5.15.5
Triggers a broadcast of JSON message data to instances of the same app for all participants in a meeting. Participants with their apps open will receive an onMessage
event containing a JSON payload.
Message delivery is guranteed to current meeting participants; participants who leave the meeting before message send or who join after the message send will not see the message. Order delivery is not guranteed. A successful reponse upon invocation indicates the message was sent, but does not indicate delivery status or whether it was received by any participants.
Apps that first call the connect
API will be able to broadcast messages to instances of the same app in the main client.
Running context: inMeeting, inWebinar, inCollaborate
Supported roles: Host, Co-Host, Participant, Panelist, Attendee
Supports Guest Mode: yes
product: desktop
Error codes ZoomApiError
Status Code | Status Message |
---|---|
10229 | Message payload too large - exceeds 1Kb |
Desktop Client Version: 5.6.7
iOS Client Version: 5.10.6
Zoom Room Controller Version: 5.14.0
This API is only available in meetings. It returns an object containing basic information about the meeting.
Supported roles: Host, Co-Host
Supports Guest Mode: No
await zoomSdk.getMeetingContext();
Desktop Client Version: 5.6.7
iOS Client Version: 5.10.6
Zoom Room Controller Version: 5.14.0
Mirror my video/virtual background.
Supported roles: Host, Co-Host, Participant, Panelist, Attendee
Supports Guest Mode: Yes
zoomSdk.setVideoMirrorEffect({
mirrorMyVideo: true
});
Desktop Client Version: 5.6.7
iOS Client Version: 5.10.6
Get information of the participants in the current meeting. Note that for breakout rooms, the participants in the current room will be returned, not those of the parent meeting.
Supported roles: Host, Co-Host
Supports Guest Mode: No
await zoomSdk.getMeetingParticipants();
Desktop Client Version: 5.6.7
iOS Client Version: 5.10.6
It returns basic information about the meeting participant while in a meeting.
Supported roles: Host, Co-Host, Participant, Panelist, Attendee
Supports Guest Mode: Yes
zoomSdk.getUserContext().then((result) => {
// e.g. { screenName: 'Happy Zoomineer', role: 'host', participantUUID: "xxxx", status: "authorized"}
})
.catch(function(error){
// there was an error
})
Desktop Client Version: 5.6.7
iOS Client Version: 5.10.6
Zoom Room Controller Version: 5.14.0
This API endpoint is only available in meetings. It allows the app to access the JoinUrl while in a meeting.
Supported roles: Host, Co-Host
Supports Guest Mode: No
zoomSdk.getMeetingJoinUrl()
.then((result) => {
// e.g. { joinUrl: "xxxxxx"}
})
.catch(function(error){
// there was an error
})
Desktop Client Version: 5.6.7
iOS Client Version: 5.10.6
Zoom Room Controller Version: 5.14.0
This API endpoint is only available in meetings. It allows the app to access the meetingUUID while in a meeting.
In breakout rooms,meetingUUID identifies the specific breakout room, and parentUUID helps connect individual rooms to the main meeting. Note that the value of parentUUID must be used for REST API calls inside of breakout rooms, while meetingUUID is otherwise used.
Supported roles: Host, Co-Host, Participant, Panelist, Attendee
Supports Guest Mode: Yes
zoomSdk.getMeetingUUID()
.then(function(result){
// e.g. { meetingUUID: 'abcdefghijklmnopqrstuvwx'}
})
.catch(function(error){
// there was an error
})
Desktop Client Version: 5.6.7
iOS Client Version: 5.10.6
This event is triggered when a user joins or leaves a meeting or when a participant's role changes for that meeting.
Note The event triggers twice in some situations, such as when a participant leaves a meeting with one role and rejoins the meeting with a new role. The participantUUID of the user might change when the role changes.
Supported roles: Host, Co-Host
Supports Guest Mode: No
Desktop Client Version: 5.6.7
iOS Client Version: 5.10.6
This event occurs when the active speaker changes in a meeting. The response array contains all active speakers.
Supported roles: Host, Co-Host
Supports Guest Mode: No
Desktop Client Version: 5.7.3
iOS Client Version: 5.10.6
Notifies Zoom App when current user starts or stops speaking.
Supported roles: Host, Co-Host, Participant, Panelist
Supports Guest Mode: No
Desktop Client Version: 5.7.3
iOS Client Version: 5.10.6
This event is triggered when the current user’s role changes.
onMyUserContextChange
will be available to apps regardless of whether the app user is an owner, host or attendee in a meeting, but would only provide data for the user that’s running the app (and not the other participants in the meeting).
IMPORTANT: Some changes to user context (for example, change to status following onMyUserContextChange
), will require the application to configure again, by invoking config
once more.
Supported roles: Host, Co-Host
Supports Guest Mode: Yes
Desktop Client Version: 5.9.0
Zoom Room Controller Version: 5.14.0
Notifies the app when the current user's video settings change, when it’s toggled on or off, and when the audio is muted or unmuted.
For example, when the user chooses a different camera, mutes or unmutes their primary audio, or toggles: "Original ratio", "HD" in video settings, or primary camera on or off.
Supported roles: Host, Co-Host, Participant, Panelist, Attendee
Supports Guest Mode: Yes
Desktop Client Version: 5.13.5
iOS Client Version: 5.13.5
Zoom Room Controller Version: 5.14.0
This event triggers when a user in the meeting starts or stops sharing their screen.
Supported roles: Host, Co-Host, Panelist, Participant, and Attendee
Running context: inMeeting, inWebinar
Product: desktop, zoomRoomController
Supports Guest Mode: Yes
Desktop Client Version: 5.13.5
Zoom Room Controller Version: 5.14.0
This event triggers when a user in the meeting starts or stops sharing their computer audio or screen with audio.
Supported roles: Host, Co-Host, Panelist, Participant, and Attendee
Running context: inMeeting, inWebinar
Product: desktop, zoomRoomController
Supports Guest Mode: Yes
Desktop Client Version: 5.9.3
The event triggers when the user closes the app for participants. It is only triggered for the user who performed the action. Example: The host uses an app to poll participants. When the host closes the app for participants, the app displays the results.
Supported roles: Host, Co-Host, Panelist
Supports Guest Mode: No
Usage:
zoomSdk.onCloseAppForParticipants((event) => {
console.log(event)
});
everyone
: App closes for all users, including the current user.attendees
: App closes for only attendees.everyoneButMe
: App closes for everyone except the current user.Desktop Client Version: 5.12.6
iOS Client Version: 5.12.6
Notifies the app about the incoming audio status change for the participants.
Running context: inMeeting
Supported roles: Host, Co-Host, Participant
Supports Guest Mode: Yes
Desktop Client Version: 5.13.10
Fired when a photo is successfully taken. For non-hosts only returns the result of takeMyPhoto.
Running context: inMeeting, inWebinar, inCamera, inCollaborate
Supported roles: Host, Co-Host, Participant, Panelist
Supports Guest Mode: Yes
Product: desktop
Desktop Client Version: 5.11.6
iOS Client Version: 5.11.6
Zoom Room Controller Version: 5.14.0
Turn on or off the primary video.
Supported roles: Host, Co-Host, Participant, Panelist
Supports Guest Mode: No
Desktop Client Version: 5.11.6
iOS Client Version: 5.11.6
Zoom Room Controller Version: 5.14.0
Mute or unmute the primary audio.
Supported roles: Host, Co-Host, Participant, Panelist
Supports Guest Mode: No
Desktop Client Version: 5.11.6
iOS Client Version: 5.11.6
Zoom Room Controller Version: 5.14.0
Gets the on or off status of the primary video.
Supported roles: Host, Co-Host, Participant, Panelist
Supports Guest Mode: No
Desktop Client Version: 5.11.6
iOS Client Version: 5.11.6
Zoom Room Controller Version: 5.14.0
Gets the mute or unmute status of the primary audio.
Supported roles: Host, Co-Host, Participant, Panelist
Supports Guest Mode: No
Desktop Client Version: 5.10.3
iOS Client Version: 5.10.6
Allows hosts and co-hosts to mute and unmute all, or specific, meeting participants. The action doesn't affect the person initiating the request.
Running context: inMeeting, inWebinar
Supported roles: Host, Co-Host
Supports Guest Mode: No
Confirmation / Consent moments
"[AppName] wants to unmute all participants" [Don’t Allow] [Allow]
"[AppName] wants to unmute this participant: [Screen name]" [Don’t Allow] [Allow]
"[AppName] wants to unmute these participants: [Screen name 1], [Screen name 2], [Screen name 3],…" [Don’t Allow] [Allow]
zoomSdk.toggleParticipantMediaAudio({
"participantUUIDs":['participantUUID1','participantUUID2'....],
"audio": true | false
})
.then((response) => { console.log(response); })
.catch((e) => { console.log(e); })
Error codes ZoomApiError
Status Code | Status Message |
---|---|
10105 | Fail to mute or unmute all participants. |
10106 | Fail to mute or unmute specific participants. |
10107 | A maximum of 10 participants can be muted or unmuted at a time. Consider mute/unmute all instead! |
10108 | Self participant is not allowed to include. Consider setAudioState instead! |
10109 | This participant didn't join audio. |
Desktop Client Version: 5.12.6
Add one participant to the current spotlight, without overwriting the current set of participants in the spotlight.
Running context: inMeeting, inWebinar
Supported roles: Host, Co-Host
Supports Guest Mode: No
Confirmation / Consent moments: none
zoomSdk.addParticipantSpotlight({
participantUUID: participantUUID1
})
.then((response) => { console.log(response); })
.catch((e) => { console.log(e); })
Error codes ZoomApiError
Status Code | Status Message |
---|---|
10211 | Spotlight feature is not available in this room |
10212 | Spotlighted user doesn’t have video |
10230 | Too many users spotlighted (maximum: 9) |
10231 | Spotlight feature is not available when number of panelists is less than 3 |
10232 | Webinar attendees cannot be spotlighted |
Desktop Client Version: 5.12.6
Removes one or more participants from the current spotlight.
When there is no array or empty array, it should remove all spotlights.
Running context: inMeeting, inWebinar
Supported roles: Host, Co-Host
Supports Guest Mode: No
Confirmation / Consent moments: none
zoomSdk.removeParticipantSpotlights({
participantUUIDs: [participantUUID1, participantUUID2, ...]
})
.then((response) => { console.log(response); })
.catch((e) => { console.log(e); })
Desktop Client Version: 5.12.6
Returns an array of participants who are currently in the spotlight.
Running context: inMeeting, inWebinar
Supported roles: Host, Co-Host, Participant, Panelist, Attendee
Supports Guest Mode: Yes
Confirmation / Consent moments: none
zoomSdk.getParticipantSpotlights()
.then((response) => { console.log(response); })
.catch((e) => { console.log(e); })
Desktop Client Version: 5.12.6
The functionality of this API is to help add participants on a Zoom Meeting to pins.
Running context: inMeeting, inWebinar
Supported roles: Host, Co-Host, Participant, Panelist, Attendee
Supports Guest Mode: Yes
zoomSdk.addParticipantPins( {participantUUIDs: [ participantUUID1, ... ], secondaryDisplay: true|false })
.then((response) => console.log(response))
.catch((err) => console.log(err))
Error codes ZoomApiError
Status Code | Status Message |
---|---|
10123 | User not permitted to pin multiple participants |
10124 | Multi-pinning is not allowed on second screen |
Desktop Client Version: 5.12.6
The functionality of this API is to help remove participants on a Zoom Meeting from pins.
Running context: inMeeting, inWebinar
Supported roles: Host, Co-Host, Participant, Panelist, Attendee
Supports Guest Mode: Yes
zoomSdk.removeParticipantPins( {participantUUIDs: [ participantUUID1, ... ], secondaryDisplay: true|false })
.then((response) => console.log(response))
.catch((err) => console.log(err))
Desktop Client Version: 5.12.6
The functionality of this API is to retrieve incoming speaker audio status for all or selected participants.
Running context: inMeeting
Supported roles: Host, Co-Host, Participant
Supports Guest Mode: Yes
zoomSdk.getIncomingParticipantAudioState({participantUUIDs: [ participantUUID1, ... ]})
.then((response) => console.log(response))
.catch((err) => console.log(err))
Response is an array of participantUUIDs and their respective audio state. Example:
{“participants": [{"participantUUID": "participantUUID1", "audio": "true"},...]}
Desktop Client Version: 5.12.6
The functionality of this API is to toggle on/off incoming speaker audio for all or selected participants.
Running context: inMeeting
Supported roles: Host, Co-Host, Participant
Supports Guest Mode: Yes
zoomSdk.setIncomingParticipantAudioState({participantUUIDs: [ participantUUID1, ... ], audio: true|false})
.then((response) => console.log(response))
.catch((err) => console.log(err))
Error codes ZoomApiError
Status Code | Status Message |
---|---|
10119 | A maximum of 10 participants' speakers can be locally turned on/off at a time. Consider it for all participants instead! |
10120 | Failed to set incoming speaker audio for participants. |
Desktop Client Version: 5.13.0
Zoom Room Controller Version: 5.15.0
Change user's video settings
The API is available in inMainClient running context from client version 5.13.5
Note: At least one parameter is required. The API only changes the values that are passed in
Supported roles: Host, Co-Host, Participant, Panelist, Attendee
Running context: inMainClient, inMeeting, inImmersive, inWebinar, inCollaborate, inCamera
Supports Guest Mode: Yes
await zoomSdk.setVideoSettings({hdVideo: true})
Desktop Client Version: 5.13.0
iOS Client Version: 5.13.0
Zoom Room Controller Version: 5.15.0
Retrieves the user’s current video settings . The API retrieves only the video settings that can be changed by setVideoSettings
The API is available in inMainClient running context from client version 5.13.5
Supported roles: Host, Co-Host, Participant, Panelist, Attendee
Running context: inMainClient, inMeeting, inImmersive, inWebinar, inCollaborate, inCamera
Supports Guest Mode: Yes
await zoomSdk.getVideoSettings()
Desktop Client Version: 5.13.0
Zoom Room Controller Version: 5.15.0
Changing a user’s audio settings
The API is available in inMainClient running context from client version 5.13.5
Note: At least one parameter is required. The API only changes the values that are passed in
Supported roles: Host, Co-Host, Participant, Panelist, Attendee
Running context: inMainClient, inMeeting, inImmersive, inCollaborate, inCamera, inWebinar
Supports Guest Mode: Yes
await zoomSdk.setAudioSettings({originalSound: true})
Desktop Client Version: 5.13.0
iOS Client Version: 5.13.0
Zoom Room Controller Version: 5.15.0
Retrieves the current audio settings of the user. It retrieves only the audio settings that can be changed by setAudioSettings
The API is available in inMainClient running context from client version 5.13.5
Supported roles: Host, Co-Host, Participant, Panelist, Attendee
Running context: inMainClient, inMeeting, inImmersive, inCollaborate, inCamera, inWebinar
Supports Guest Mode: Yes
Product: Desktop
await zoomSdk.getAudioSettings()
Desktop Client Version: 5.14.5
Change your screen name in meeting, persists only for that meeeting. Triggers onMyUserContextChange
event. getUserContext
will return the changed name.
Running context: inMeeting, inImmersive, inCollaborate, inCamera, inWebinar
Supported roles: Host, Co-Host, Participant, Panelist, Attendee
Supports Guest Mode: Yes
Product: desktop
Desktop Client Version: 5.14.5
Changes participant's screen name in meeting, persists only for that meeting. Triggers onMyUserContextChange
event for the targeted participant's app. Also, triggers the onParticipantChange
event for the host's app.
Running context: inMeeting, inImmersive, inCollaborate, inCamera, inWebinar
Supported roles: Host, Co-Host
Supports Guest Mode: No
Product: desktop
Desktop Client Version: 5.14.10
For participants, leave the meeting while it continues for the other participants.
For hosts only, assign another participant or co-host to be the new host and leave.
Running context: inMeeting, inImmersive, inWebinar, inCollaborate, inCamera, inMainClient
Supported roles: Host, Co-Host, Participant, Panelist, Attendee
Supports Guest Mode: Yes (applicable to participants only)
Product: Desktop
Error codes ZoomApiError
Status Code | Status Message |
---|---|
10207 | User leave meeting Failed. |
10209 | Specified newHost participantUUID ignored because it is not applicable when the user is not in a meeting or a host. |
Optional
options: LeaveMeetingOptionsDesktop Client Version: 5.14.10
Join specified meeting, or a new meeting when unspecified. The app is open when the meeting starts.
If a participant is in an ongoing meeting, leave the current meeting, then join specified meeting, or a new meeting when unspecified (logged in participants).
For hosts in meetings, assign another participant or co-host to be the new host, leave the meeting, then join specified meeting, or a new meeting when unspecified (and user is logged in).
If a participant joins a webinar where they are an attendee, the app will not open because Zoom Apps are not supported for attendees in webinars.
Running context: inMeeting, inImmersive, inWebinar, inCollaborate, inCamera, inMainClient
Supported roles: Host, Co-Host, Participant, Panelist, Attendee
Supports Guest Mode: Yes (applicable to participants only)
Product: Desktop
Error codes ZoomApiError
Status Code | Status Message |
---|---|
10207 | User leave meeting Failed. |
10208 | User join meeting Failed. |
10209 | Specified newHost participantUUID ignored because it is not applicable when the user is not in a meeting or a host. |
10210 | JoinUrl is invalid. |
Optional
options: JoinMeetingOptionsDesktop Client Version: 5.14.10
Allows hosts and co-hosts to ask specified meeting participants to turn on or off video. When enabling video, method will return success if the request to enable video was sent; participants still can decline the prompt.
Running context: inMeeting, inWebinar
Supported roles: Host, Co-Host
Supports Guest Mode: yes
product: desktop
Error codes ZoomApiError
Status Code | Status Message |
---|---|
10213 | Participants are not allowed to enable video by meeting security settings |
10214 | Webinar attendee cannot enable video |
10215 | Fail to turn off video for participants |
10216 | Fail to turn on video for participants |
10217 | A maximum of 10 participants' video can be started or stopped at a time |
10218 | Method doesn’t support current user as a parameter |
10219 | Cannot detect participant’s camera |
Desktop Client Version: 5.16.10
Allow the app user to retrieve a list of interpretation settings for the current meeting. Includes pre-configured languages from the web portal as well as runtime configured languages from the client.
Additional context: https://support.zoom.us/hc/en-us/articles/360034919791-Using-Language-Interpretation-in-your-meeting-or-webinar
Running context: inMeeting, inImmersive, inCollaborate, inCamera
Supported roles: Host, Co-Host, Participant, Panelist, Attendee
Supports Guest Mode: yes
product: desktop
Desktop Client Version: 5.16.10
Event triggered when the list of interpretation settings for the current meeting changes.
Additional context: https://support.zoom.us/hc/en-us/articles/360034919791-Using-Language-Interpretation-in-your-meeting-or-webinar
Running context: inMeeting, inImmersive, inCollaborate, inCamera
Supported roles: Host, Co-Host, Participant, Panelist, Attendee
Supports Guest Mode: yes
product: desktop
Desktop Client Version: 5.16.10
Get emails and participant UUIDs of the participants in the current meeting. Note that for breakout rooms, the participants in the current room will be returned, not those of the parent meeting. Consent is required from the host, co-host or individual participants to get the email, depending on the scenario.
Running context: inMeeting, inImmersive, inCollaborate, inCamera
Supported roles: Host, Co-Host, Participant
Supports Guest Mode: No
product: desktop
Optional
options: GetMeetingParticipantsEmailOptionsDesktop Client Version: 5.16.10
Triggered when a meeting participant responds to the consent asking for their email initiated using zoomSdk.getMeetingParticipantsEmail()
. This is returned one object at a time, as and when consents are given by participants
Running context: inMeeting, inImmersive, inCollaborate, inCamera
Supported roles: Host, Co-Host, Participant
Supports Guest Mode: No
product: desktop
Desktop Client Version: 5.17.5
Method returns UUID of continous meeting chat channel for the current meeting. Id can be used by REST API method to send messages to the meeting chat during and after the meeting.
Running context: inMeeting, inImmersive, inCollaborate, inCamera, inWebinar
Supported roles: Host, Co-Host, Participant
Supports Guest Mode: Yes
product: desktop
Desktop Client Version: 5.13.10
Allows a host to take high quality photos of an array of participants.
Running context: inMeeting, inWebinar, inCamera, inCollaborate
Supported roles: Host, Co-Host
Supports Guest Mode: No
Desktop Client Version: 5.13.10
Allows a participant to take a high quality photo of themselves.
Running context: inMeeting, inWebinar, inCamera, inCollaborate
Supported roles: Host, Co-Host, Participant, Panelist
Supports Guest Mode: Yes
Desktop Client Version: 6.2.5
Sends a message to a chat channel or meeting chat channel. There are three contexts this can be used in: For CMC contexts, the message will be sent to the chat channel linked to the meeting For non-CMC contexts, the message will be posted to the legacy meeting chat For Zoom Apps opened in the sidebar, the message will be posted to a channel of the user’s choosing. The API will render a dialog that allows users to search their chat channels.
Running context*: inMeeting, inChat, inMeetingChat
Supported roles: Host, Co-host, Participant, and Panelist
Supports Guest Mode: Yes
product: desktop
Desktop Client Version: 5.13.10
Triggers when the user changes their gallery view page or setGalleryPage
method is fired.
Running context: inMeeting, inWebinar, inImmersive, inCamera, inCollaborate
Supported roles: Host, Co-Host, Participant, Panelist, Attendee
Supports Guest Mode: Yes
Product: desktop
Desktop Client Version: 5.14.5
Event triggers when participants order in the gallery is changed (could be triggered by new people joining the meeting, reactions, spotlighting, host changing order and pushing it to others)
Running context: inMeeting, inImmersive, inWebinar, inCollaborate, inCamera
Supported roles: Host, Co-Host, Participant, Panelist, Attendee
Supports Guest Mode: Yes
Product: desktop
Desktop Client Version: 5.13.10
Changes the local meeting screen to a page number in the gallery view.
Running context: inMeeting, inWebinar, inImmersive, inCamera, inCollaborate
Supported roles: Host, Co-Host, Participant, Panelist, Attendee
Supports Guest Mode: Yes
Error codes ZoomApiError
Status Code | Status Message |
---|---|
10139 | Invalid meeting page number. |
10141 | Meeting View must be in gallery view. |
Desktop Client Version: 5.13.10
Returns the current gallery page and the total number of gallery pages for the user.
Running context: inMeeting, inWebinar, inImmersive, inCamera, inCollaborate
Supported roles: Host, Co-Host, Participant, Panelist, Attendee
Supports Guest Mode: Yes
Product: desktop
Error codes ZoomApiError
Status Code | Status Message |
---|---|
10141 | Meeting View must be in gallery view. |
Desktop Client Version: 5.14.5
Method returns participant uuids sorted by their order (linearized top left to bottom right) in gallery view.
Running context: inMeeting, inImmersive, inWebinar, inCollaborate, inCamera
Supported roles: Host, Co-Host, Participant, Panelist, Attendee
Supports Guest Mode: Yes
Product: desktop
Desktop Client Version: 5.14.5
Zoom Room Controller Version: 5.15.0
Called by any participant to get information on their meeting view.
Running context: inMeeting, inWebinar, inImmersive, inCamera
Supported roles: Host, Co-host, Panelist, Participant, Attendee
Supports Guest Mode: Yes
Product: Desktop
await zoomSdk.getMeetingView()
Desktop Client Version: 5.14.5
Zoom Room Controller Version: 5.15.0
Called by any participant to set information on their meeting view.
Running context: inMeeting, inWebinar, inImmersive, inCamera, inCollaborate
Supported roles: Host, Co-host, Panelist, Participant, Attendee
Supports Guest Mode: Yes
Product: Desktop
await zoomSdk.setMeetingView({view: 'speaker'})
Error codes ZoomApiError
Status Code | Status Message |
---|---|
10110 | Speaker view is not available during screen sharing. Use standardView, sidebysideSpeakerView, or sidebysideGalleryView instead. |
10111 | Gallery view is not available during screen sharing. Use standardView, sidebysideSpeakerView, or sidebysideGalleryView instead. |
10112 | Standard view is only available during screen sharing. |
10113 | Gallery view is not available during screen sharing. Use speakerView or galleryView instead when not screen sharing. |
10114 | Gallery view is not available during screen sharing. Use speakerView or galleryView instead when not screen sharing |
10115 | This view is currently unsupported. |
10116 | This running context is currently unsupported. |
10117 | Already in this view |
10202 | Only host can enable followHostsVideoOrder |
Desktop Client Version: 5.14.5
Zoom Room Controller Version: 5.15.0
Event fired for when the user’s meeting view is changed.
Running context: inMeeting, inWebinar, inImmersive, inCamera
Supported roles: Host, Co-host, Panelist, Participant, Attendee
Supports Guest Mode: Yes
Product: Desktop
await zoomSdk.onMeetingViewChange((event) => console.log(event))
Desktop Client Version: 5.6.7
iOS Client Version: 5.10.6
Screenshare current app. Optionally share sound as well.
Supported roles: Host, Co-Host, Participant, Panelist
Supports Guest Mode: Yes
await zoomSdk.shareApp({ action: "start", withSound: true });
Error codes ZoomApiError
Status Code | Status Message |
---|---|
10018 | Failed to share the app. |
10023 | Screen share is disabled in this meeting. |
10024 | Screen share has started in this meeting. |
10025 | Screen share did not start in this meeting. |
10059 | The client is sharing screen or other apps. |
10137 | API call succeeded, the user must choose to stop ongoing share to begin share. |
Desktop Client Version: 5.6.7
iOS Client Version: 5.10.6
This event occurs when the user clicks the share icon from the Zoom App sidebar during a meeting, and when the user stops the share.
Supported roles: Host, Co-Host, Participant, Panelist, Attendee
Supports Guest Mode: Yes
Desktop Client Version: 5.12.6
Shares audio from my computer. Pass in an action to start
or stop
the share. Does not share the screen or app. stereo
is default mode
option, optionally pass parameter to change to mono
Supported roles: Host, Co-Host, Participant, Panelist
Running context: inMeeting, inWebinar
Supported roles: Host, Co-Host, Participant, Panelist, Attendee
Supports Guest Mode: Yes
zoomSdk.shareComputerAudio({ action: start })
.then((response) => console.log(response)) // { message: success }
.catch((err) => console.log(err))
Error codes ZoomApiError
Status Code | Status Message |
---|---|
10129 | Computer audio share is disabled in this meeting. |
10130 | Computer audio share did not start in this meeting. |
10131 | Failed to share computer audio. |
10132 | Computer audio share is already started. |
10137 | API call succeeded, the user must choose to stop ongoing share to begin share. |
Desktop Client Version: 5.13.5
iOS Client Version: 5.14.0
Called by any participant to open the share screen modal.
Running context: inMeeting, inWebinar
Supported roles: Host, Co-Host, Participant, and Panelist
Supports Guest Mode: Yes
Product: Desktop
await zoomSdk.promptShareScreen()
Error codes ZoomApiError
Status Code | Status Message |
---|---|
10143 | Failed to prompt share screen. |
10186 | Only host and co-host can share screen to breakout rooms |
10187 | Breakout rooms are not open |
Optional
options: PromptShareScreenOptionsDesktop Client Version: 5.14.0
Stops an ongoing share screen.
Running context: inMeeting, inWebinar, inCamera
Supported roles: Host, Co-Host, Participant, Panelist, Attendee
Supports Guest Mode: Yes
Product: desktop
Error codes ZoomApiError
Status Code | Status Message |
---|---|
10189 | There is no ongoing screen share by this user. |
10190 | Collaboration in progress. |
Desktop Client Version: 5.6.7
iOS Client Version: 5.10.6
This event occurs when a meeting participant sends a reaction.
Supported roles: Host, Co-Host
Supports Guest Mode: No
Desktop Client Version: 5.7.3
iOS Client Version: 5.10.6
Notifies Zoom App when current user reacts with a reaction in a meeting.
Supported roles: Host, Co-Host, Participant, Panelist, Attendee
Supports Guest Mode: No
Desktop Client Version: 5.13.5
iOS Client Version: 5.13.5
Event triggered when a participant triggers a feedback.
Running context: inMeeting, inWebinar, inImmersive, inCamera
Supported roles: Host, Co-Host, Participant, Panelist, Attendee
Supports Guest Mode: Yes
Desktop Client Version: 5.13.5
iOS Client Version: 5.13.5
Event triggered when subscribed participant removes a feedback.
Running context: inMeeting, inWebinar, inImmersive, inCamera
Supported roles: Host, Co-Host, Participant, Panelist, Attendee
Supports Guest Mode: Yes
Desktop Client Version: 5.12.6
iOS Client Version: 5.12.6
Enable participant to set their feedback reactions.
Running context: inMeeting, inWebinar, inImmersive, inCamera
Supported roles: Host, Co-Host, Participant, Panelist, Attendee
Supports Guest Mode: Yes
zoomSdk.setFeedbackReaction( { feedback: 'yes' } )
.then((response) => console.log(response))
.catch((err) => console.log(err))
Error codes ZoomApiError
Status Code | Status Message |
---|---|
10127 | Can not process the request. The feedback feature is disabled. |
10128 | Can not process the request. The feedback is not supported in a webinar. |
Desktop Client Version: 5.12.6
iOS Client Version: 5.12.6
Removes own feedback that is currently set.
Running context: inMeeting, inWebinar, inImmersive, inCamera
Supported roles: Host, Co-Host, Participant, Panelist, Attendee
Supports Guest Mode: Yes
zoomSdk.removeFeedbackReaction()
.then((response) => console.log(response))
.catch((err) => console.log(err))
Desktop Client Version: 5.12.6
iOS Client Version: 5.12.6
Removes feedback of all participants in the meeting.
Running context: inMeeting, inWebinar
Supported roles: Host, Co-Host
Supports Guest Mode: No
zoomSdk.removeAllFeedbackReaction()
.then((response) => console.log(response))
.catch((err) => console.log(err))
Desktop Client Version: 5.14.5
Allows a user to react with an emoji.
Running context: inMeeting, inWebinar, inCamera
Supported roles: Host, Co-Host, Participant, Panelist, Attendee
Supports Guest Mode: Yes
Product: Desktop
Error codes ZoomApiError
Status Code | Status Message |
---|---|
10153 | Cannot process the request. The meeting reactions feature is disabled. |
10154 | Cannot process the request. The webinar reactions feature is disabled. |
10155 | Cannot process the request - invalid reaction. |
10156 | Emoji, unicode, or name fields are not matching. Please use only one of these fields or make sure they are matched. |
Desktop Client Version: 5.14.5
Returns a list of emojis available for developer to call setEmojiReaction with.
Running context: inMeeting, inWebinar, inCamera, Presentation Mode (Rectangle, standard)
Supported roles: Host, Co-Host, Participant, Panelist, Attendee
Supports Guest Mode: Yes
Product: Desktop Error codes ZoomApiError
Status Code | Status Message |
---|---|
10153 | Cannot process the request. The meeting reactions feature is disabled. |
10154 | Cannot process the request. The webinar reactions feature is disabled. |
Desktop Client Version: 5.14.5
Event fired when a participant reacts with an emoji.
Running context: inMeeting, inWebinar
Supported roles: Host, Co-Host, Participant, Panelist, Attendee
Supports Guest Mode: Yes
Product: Desktop
Desktop Client Version: 5.6.7
Tells the client to expand to the larger size or collapse it back to the default app UI size.
Supported roles: Host, Co-Host, Participant, Panelist, Attendee
Supports Guest Mode: Yes
await zoomSdk.expandApp({
action: 'expand' | 'collapse',
})
Desktop Client Version: 5.6.7
Added support for inContactCenter in zoomDesktopClientVersion 6.2.5 This event occurs when the popout/pop-in button is clicked on the app window.
Running context: inMeeting, inCollaborate, inCamera, inWebinar, inMainClient, inContactCenter
Supported roles: Host, Co-Host, Participant, Panelist, Attendee
Supports Guest Mode: Yes
Desktop Client Version: 5.6.7
Notifies app when the client expands or collapses the app.
Supported roles: Host, Co-Host, Participant, Panelist, Attendee
Supports Guest Mode: Yes
Desktop Client Version: 5.16.5
Added support for inContactCenter in zoomDesktopClientVersion 6.2.5
This will popout the app. This is the equivalent of the UI action of “Popout” and “Merge Back to Main Window” which are located under the ellipsis menu (...) when an app is open. This is also related to the existing onAppPopout event. The position of the dock is always in the middle of the screen. The “undock” input parameter pops out the app, and the “dock” input parameter merges the app back to the main window.
Running context: inMeeting, inCollaborate, inCamera, inWebinar, inMainClient, inContactCenter
Supported roles: Host, Co-Host, Participant, Panelist, Attendee
Supports Guest Mode: yes
Product: desktop
Error codes ZoomApiError
Status Code | Status Message |
---|---|
10247 | App is within a context where appPopout() cannot be executed. |
Desktop Client Version: 5.16.5
This will bring the app to the front of the stack when multiple apps are opened or when there are other windows such as Chat or Participants in front of the Apps window. If the app is not in view (for example, behind Chat or if the app is not in view but webview is running), then this API will make the app visible to the user.
Running context: inMeeting, inCollaborate, inCamera, inWebinar, inMainClient
Supported roles: Host, Co-Host, Participant, Panelist, Attendee
Supports Guest Mode: yes
Product: desktop
Error codes ZoomApiError
Status Code | Status Message |
---|---|
10247 | App is within a context where bringAppToFront() cannot be executed. |
Desktop Client Version: 5.16.5
This will send the app to the background and not keep it in the view for the user. The app will continue to run and Zoom Apps JS APIs and REST APIs can be called and executed. This is applicable even when one app is opened. When only one app is opened in meeting contexts, the Apps panel will also be hidden from view for the user. When executed inMainClient context, the user will remain on the My Apps list under the Apps tab.
Running context: inMeeting, inCollaborate, inCamera, inWebinar, inMainClient
Supported roles: Host, Co-Host, Participant, Panelist, Attendee
Supports Guest Mode: yes
Product: desktop
Error codes ZoomApiError
Status Code | Status Message |
---|---|
10247 | App is within a context where sendAppToBackground() cannot be executed. |
Desktop Client Version: 5.16.5
This will close the app for the user and the webview will be killed.
Running context: inMeeting, inCollaborate, inCamera, inWebinar, inMainClient
Supported roles: Host, Co-Host, Participant, Panelist, Attendee
Supports Guest Mode: yes
Product: desktop
Error codes ZoomApiError
Status Code | Status Message |
---|---|
10247 | App is within a context where closeApp() cannot be executed. |
Desktop Client Version: 5.6.7
iOS Client Version: 5.10.6/5.14.0(mainClient)
This sets a virtual background or blur the user's native background.
When setVirtualBackground is invoked in a context where the smart virtual background package is not yet installed, a dialog prompts the user to download the package. When the user clicks "Install" in the dialog box, the package is downloaded. The client will subsequently show the consent dialog for setting the background.
The API is available in inMainClient
running context from client version 5.13.5
Running context: inMeeting, inWebinar, inImmersive, inCamera, inMainClient, inCollaborate
Supported roles: Host, Co-Host, Participant, Panelist, Attendee
Supports Guest Mode: Yes
var myOptions = {
fileUrl: "https://unsplash.com/photos/itTHOJ5aUk4"
};
await zoomSdk.setVirtualBackground(myOptions);
Error codes ZoomApiError
Status Code | Status Message |
---|---|
10030 | Your device does not support setting virtual backgrounds. |
10031 | Virtual backgrounds setting is not enabled in your web settings. |
10032 | Can't set virtual background in current immersive scene. |
10044 | Failed to decode the virtual image data. |
10045 | No smart virtual backgrounds package, you need to download it. |
10056 | Can't set virtual background because the video is merged by the share resource. |
10057 | Can't remove virtual background because your admin requires users to always use virtual background. |
10064 | This action has been flushed by the subsequent action when downloading smart virtual background package. |
10150 | Meeting not ready, can’t call this api. |
10151 | Zoom App is disabled in Meeting. |
Desktop Client Version: 5.6.7
iOS Client Version: 5.10.6/5.14.0(mainClient)
Removes current virtual background and resets to use the camera.
Note that when calling removeVirtualBackground, the client will pop up a confirmation dialog to let the user allow or disallow. If the user does not allow the action, the client will return an error code of 10017 to the app.
The API is available in inMainClient
running context from client version 5.13.5
Running context: inMeeting, inWebinar, inImmersive, inCamera, inMainClient, inCollaborate
Supported roles: Host, Co-Host, Participant, Panelist, Attendee
Supports Guest Mode: Yes
zoomSdk.removeVirtualBackground().then(function() => {
// background was successfully removed
})
.catch(function(error) => {
// there was an error removing the virtual background
})
Desktop Client Version: 5.9.0
iOS Client Version: 5.14.10
Draws an image in the foreground of the user’s video.
Supported roles: Host, Co-Host, Participant, Panelist, Attendee
Supports Guest Mode: Yes
zoomSdk.setVirtualForeground({
imageData: <ImageData>
})
.then((ctx) => {
console.log("setVirtualForeground returned", ctx);
})
.catch((e) => {
console.log(e);
});
Returns
On success, this returns an object with an imageId field (string/UUID) that uniquely identifies the image.
Error codes ZoomApiError
Status Code | Status Message |
---|---|
10044 | Failed to decode the virtual image data. |
10068 | Failed to set or remove the image. |
Desktop Client Version: 5.9.0
iOS Client Version: 5.14.10
Removes the image which was set using setVirtualForeground from the foreground of the user’s video.
Supported roles: Host, Co-Host, Participant, Panelist, Attendee
Supports Guest Mode: Yes
zoomSdk.removeVirtualForeground()
.catch((e) => {
console.log(e);
});
Desktop Client Version: 5.9.0
Changes the app's rendering context from the meeting sidebar to the main meeting window, with behavior defined by the specified view option.
Only a meeting host may invoke an immersive runRenderingContext
. To transition other meeting participants to an immersive view, the meeting host’s app must use the sendAppInvitationToAllParticipants
API.
Warning: Only one app instance can create an immersive
rendering context at a time. If another attempts to, it will fail with an error.
Supported roles: Host, Co-Host, Participant, Panelist, Attendee
Supports Guest Mode: Yes
zoomSdk.runRenderingContext({
view: 'immersive'
})
Desktop Client Version: 5.9.0
Returns the rendering context of the app to the sidebar.
Supported roles: Host, Co-Host, Participant, Panelist, Attendee
Supports Guest Mode: Yes
zoomSdk.closeRenderingContext()
.then(() => {
console.log("closeRenderingContext returned");
})
.catch((e) => {
console.log(e);
});
Desktop Client Version: 5.9.0
The drawParticipant
method can be used to specify the position and size of a partipant on the screen when in camera
or immersive
rendering context. The participantUUID
option can be filled with the value from getMeetingParticipants
or getUserContext
.
When cameraModeMirroring
option is set to true, the participant will be streamed as mirrored in both the local
client and
to other
participants. This option is only available in camer mode
. Furthermore, none of the layers except of the participant layer can be mirrored in camera mode.
added in desktop client version 5.13.5
cameraModeMirroring
defaults to false.
Supported roles: Host, Co-Host
Supports Guest Mode: Yes
zoomSdk.drawParticipant({
participantUUID: 'xxx',
x: 0, y: 0, width: 1280, height: 720, zIndex: 1,
cameraModeMirroring: true;
})
.then((ctx) => {
console.log("drawParticipant returned", ctx);
})
.catch((e) => {
console.log(e);
});
Notes
getMeetingParticipants()
API is only available to the meeting host. When multiple participants are each using the same Layers app for a meeting, app-specific messaging may be used to communicate the participants list to other meeting attendees.Desktop Client Version: 5.9.0
Clears the content set by drawParticipant.
Supported roles: Host, Co-Host
Supports Guest Mode: Yes
zoomSdk.clearParticipant({
participantUUID: 'xxx'
})
.catch((e) => {
console.log(e);
});
Desktop Client Version: 5.9.0
Draws an image in the rendering context's canvas.
Supported roles: Host, Co-Host, Participant, Panelist, Attendee
Supports Guest Mode: Yes
zoomSdk.drawImage({
imageData: <ImageData (includes width/height properties)>,
x: 0, y: 0, zIndex: 3
})
.then((ctx) => {
console.log("drawImage returned", ctx);
})
.catch((e) => {
console.log(e);
});
Notes
Drawing an image with the same x
/ y
/ zIndex
/ width
/ height
as an existing image replaces the previous image and may return the same imageId.
In order to move an image, use clearImage
first, and then redraw the image in the intended position.
Desktop Client Version: 5.9.0
Clears the content set by drawImage.
Supported roles: Host, Co-Host, Participant, Panelist, Attendee
Supports Guest Mode: Yes
zoomSdk.clearImage({
imageId: 'xxx'
})
.catch((e) => {
console.log(e);
});
Desktop Client Version: 5.10.6
Draws the OSR webview with the specified size, location and zIndex [Layers Camera Mode].
Supported roles: Host, Co-Host, Participant, Panelist, Attendee
Supports Guest Mode: Yes
zoomSdk.drawWebView({
x: 0,
y: 0,
width: 1280,
height: 720,
zIndex: 2
})
.catch((e) => {
console.log(e);
});
Desktop Client Version: 5.10.6
Clears the content set by drawWebView. [Layers Camera Mode].
Supported roles: Host, Co-Host, Participant, Panelist, Attendee
Supports Guest Mode: Yes
zoomSdk.clearWebView()
.catch((e) => {
console.log(e);
});
Desktop Client Version: 5.14.5
Sets an image as the static foreground image of the user’s video. Supports image transparency. Any video filter set via this method will rewrite previous filters set using this method.
Running context: inMeeting, inWebinar
Supported roles: Host, Co-Host, Participant, Panelist, Attendee
Supports Guest Mode: Yes
Product: desktop
Error codes ZoomApiError
Status Code | Status Message |
---|---|
10196 | Failed to set or remove video filter. |
10197 | No video filter package, you need to download it. |
10198 | Video filter feature is disabled. |
10199 | Video filter saved to Settings, but could not be applied. |
Desktop Client Version: 5.14.5
Deletes the video filter that was set using the setVideoFilter method, including video filters set by other apps. This method removes the video filter from the user’s Video Filters list in Settings. If the video filter is currently applied, it sets the Video Filters Setting to “None”.
Running context: inMeeting, inWebinar
Supported roles: Host, Co-Host, Participant, Panelist, Attendee
Supports Guest Mode: Yes
Product: desktop
Error codes ZoomApiError
Status Code | Status Message |
---|---|
10195 | No video filter exists. |
10196 | Failed to set or remove video filter. |
10198 | Video filter feature is disabled. |
Desktop Client Version: 5.6.7
iOS Client Version: 5.10.6
The cloud recording API allows you to control cloud recording actions during a meeting.
Supported roles: Host, Co-Host
Supports Guest Mode: No
await zoomSdk.cloudRecording({ action: "start" });
Error codes ZoomApiError
Status Code | Status Message |
---|---|
10021 | You do not have privilege to start cloud recording. |
10022 | Invalid cloud recording action. |
10040 | Local recording is in progress |
Desktop Client Version: 5.6.7
iOS Client Version: 5.10.6
This API endpoint is only available in meetings. It returns basic information about the meeting recording while in a meeting.
Supported roles: Host, Co-Host
Supports Guest Mode: No
zoomSdk.getRecordingContext().then((result) => {
// e.g. { cloudRecordingStatus: 'stopped'|'started'|'paused'|'connecting'}
})
.catch(function(error){
// there was an error
})
Desktop Client Version: 5.8.3
iOS Client Version: 5.10.6
Allow a specific participant to start a local recording. This API will trigger a pop-up consent dialog in the client to let the host allow or not allow.
Supported roles: Host, Co-Host
Supports Guest Mode: No
This API is not available in webinars.
This API requires participantUUID
await zoomSdk.allowParticipantToRecord({
participantUUID: 'xxxx',
action: "grant"
})
Error codes ZoomApiError
Status Code | Status Message |
---|---|
10048 | Failed to allow participant to record |
10050 | The participant already has permission to do local recording. |
10051 | Invalid user or can’t perform action on this user. |
10052 | The participant doesn’t have the permission to do local recording. There’s no need to revoke. |
10055 | Local record feature is disabled, please check your web settings. |
10061 | Only the host can perform this action. |
Desktop Client Version: 5.6.7
iOS Client Version: 5.10.6
The cloud recording events occur when a user starts, pauses, stops or resumes recording a Zoom meeting (where your app is being run) to the cloud using the Zoom UI or programmatically using the JS APIs. Additionally, the "connecting"
event action will be trigered prior to the start of a cloud recording.
Supported roles: Host, Co-Host
Supports Guest Mode: No
Desktop Client Version: 5.6.7
iOS Client Version: 5.10.6
Zoom Room Controller Version: 5.14.0
Get all available cameras.
Supported roles: Host, Co-Host, Participant, Panelist, Attendee
Supports Guest Mode: Yes
await zoomSdk.listCameras();
Returns
{
"cameras": [
{ "id": "0x14424000046d085b", "name": "Logitech Webcam C925e #2" },
{ "id": "0x8020000005ac8514", "name": "FaceTime HD Camera (Built-in)" }
]
}
Desktop Client Version: 5.6.7
iOS Client Version: 5.10.6
Zoom Room Controller Version: 5.14.0
Choose a camera input to use.
Supported roles: Host, Co-Host, Participant, Panelist, Attendee
Supports Guest Mode: Yes
zoomSdk.setCamera({
id: 1,
save: true
});
Desktop Client Version: 5.6.7
iOS Client Version: 5.10.6
Triggers a push notification. The embedded browser does not support the Web Notification API, so we have provided a similar API via the JS SDK.
Supported roles: Host, Co-Host, Participant, Panelist, Attendee
Supports Guest Mode: Yes
await zoomSdk.showNotification({
type: "info",
title: "Hello",
message: "This is an info notification"
});
Error codes ZoomApiError
Status Code | Status Message |
---|---|
10042 | Not allowed to show notification for do-not-disturb-mode. |
Desktop Client Version: 5.6.7
iOS Client Version: 5.10.6
Send app to list of participants in the meeting.
Supported roles: Host, Co-Host
Supports Guest Mode: No
await zoomSdk.sendAppInvitation({
participantUUIDs: [participantUUID1, participantUUID2, ...],
});
Returns
{ "invitationUUID": "AnQlE6dxT9yx+jxeI8ZXuQ==" }
Error codes ZoomApiError
Status Code | Status Message |
---|---|
10026 | Failed to send the app invitation. |
10027 | You do not have privilege to send app invitation! |
10028 | A maximum of 10 individual invites can be sent at a time. Consider sending to everyone instead! |
10049 | You haven't access the participant information. |
Desktop Client Version: 5.7.3
iOS Client Version: 5.10.6
Shows client participant selection dialog window for sending an app invitation.
Triggers client built in participant selection UI, so that apps running in non-owner context that do not have screen names can invite specific users.
From Desktop client version 5.16.10 showAppInvitationDialog accepts optional parameters to customize invitation.
Supported roles: Host, Co-Host, Participant, Panelist
Supports Guest Mode: No
await zoomSdk.showAppInvitationDialog();
Error codes ZoomApiError
Status Code | Status Message |
---|---|
10257 | DialogHeading is more than 40 characters. |
10258 | MessageText is more than 90 characters. |
Optional
options: ShowAppInvitationDialogOptionsDesktop Client Version: 5.7.3
iOS Client Version: 5.10.6
Sends invitation of current app to the meeting owner (person who scheduled the meeting).
Sends app invitations specifically to the meeting owner. Sent to both meeting & persistent chat when the meeting owner is in the meeting. Sent to persistent chat when the meeting owner is not in the meeting that might be ongoing.
Supported roles: Host, Co-Host, Participant, Panelist
Supports Guest Mode: No
await zoomSdk.sendAppInvitationToMeetingOwner();
Desktop Client Version: 5.7.6
iOS Client Version: 5.10.6
Sends invitation for the current app to all participants currently in the meeting.
In breakout rooms, this will only send invitations to participants within the current room.
This API may behave differently depending on the in-meeting chat setting enabled by the host for the meeting participants. The meeting host can determine whether meeting participants can chat with: No one, Hosts and Co-Hosts, Everyone, Everyone and Anyone directly.
Supported roles: Host, Co-Host, Participant
Supports Guest Mode: No
await zoomSdk.sendAppInvitationToAllParticipants()
.then(function(){
// success
})
.catch(function(error){
// there was an error
})
Desktop Client Version: 5.6.7
iOS Client Version: 5.10.6
This event occurs when the user clicks the invite icon from the Zoom App sidebar during a meeting. All attendees and participants receive an invitation. The sender receives an event.
Supported roles: Host, Co-Host
Supports Guest Mode: No
Desktop Client Version: 5.13.10
Called by any participant to open the invite-people modal.
Running context: inMeeting, inWebinar, inImmersive, inCamera
Supported roles: Host, Co-host, Panelist, Participant
Supports Guest Mode: Yes
Product: Desktop, Mobile
await zoomSdk.showMeetingInvitationDialog()
Error codes ZoomApiError
Status Code | Status Message |
---|---|
10163 | Can’t invite participants |
Desktop Client Version: 5.9.0
iOS Client Version: 5.10.6
Notifies the third-party app that the user has finished the in-client OAuth.
Supported roles: Host, Co-Host, Participant, Panelist
Supports Guest Mode: No
Desktop Client Version: 5.10.0
iOS Client Version: 5.10.6
This method is part of in-client OAuth feature. It initiates on OAuth authorization request from the Zoom Client - Zoom Apps tab - to the Zoom marketplace.
Invoke the authorize
method with PKCE codeChallenge and optional state:
Notes The application must create a cryptographically secure string for OAuth2.0 code verifier, which is used to generate the challenge.
Upon user authorization, an onAuthorized
event is triggered with an authorization code. You have to add an event listener for this event to get authorization code.
Supported roles: Host, Co-Host, Participant, Panelist
Supports Guest Mode: No
zoomSdk.authorize({
state: 'TIA5UgoM38',
codeChallenge: 'o0qAEF...'
}).then((ret) => {
console.log(ret);
}).catch((e) => {
console.log(e);
})
Desktop Client Version: 5.10.6
iOS Client Version: 5.14.0
Triggers a contextual prompt for the user to sign in with Zoom (if the user context status is not "authenticated"), or add the app (if the user context status is "authenticated"). The prompt is asynchronous and non-blocking, users can continue using the app while it is visible, or close the prompt.
If user context is "unauthenticated", Zoom does not know the user, and only some Zoom APIs are allowed. Invoking promptAuthorize
will ask the user to log in to Zoom, upon which user context status will update to "authenticated".
If user is authenticated, but they have not yet added the app and/or consented to app scopes, invoke promptAuthorize
once more to ask the authenticated user to consent and add the app. This will invoke the in-client OAuth flow and update user context status to "authorized".
IMPORTANT: Calling promptAuthorize
will update user context status, per the states noted above. You MUST reconfigure the application upon user context status change, by re-calling the config method. The recommended approach is to listen for the onMyUserContextChange
event and invoke config
once more if the user context status has changed.
Supported roles: Host, Co-Host, Participant, Panelist, Attendee
Supports Guest Mode: Yes
zoomSdk.promptAuthorize()
.then((res) => console.log(res))
.catch((err) => console.log(err))
Desktop Client Version: 5.10.0
The event is triggered when changes such as start, end, leave, join happen in Collaborate mode or end sidecar collaboration. This method informs the app when the host or co-hosts start or end a collaboration, and when meeting participants leave or join a collaboration.
The event is applicable to users based on their role in the meeting. For participants, the join and leave actions will apply. For hosts and co hosts, the start and end actions will apply. The event does not provide detailed information about the specific change, so the app needs to make an additional API request to retrieve the updated data.
Supported roles: Host, Co-Host, Participant, Panelist
Supports Guest Mode: No
Desktop Client Version: 6.1.5
Runs a side-car webview instance of the app, with home URL of the app loaded by default.
Supported roles: Host, Co-Host, Participant
Supports Guest Mode: No
Product: desktop
Running context: inCollaborate
Error codes ZoomApiError
Status Code | Status Message |
---|---|
10283 | API is not supported in collaborateSidecar. |
10284 | API is not support in guest mode. |
10285 | JsCall already in pending. |
10287 | API is not supported in system browser collaboration. |
Desktop Client Version: 6.1.5
Ends the side-car webview instance of the app.
Supported roles: Host, Co-Host, Participant
Supports Guest Mode: No
Product: desktop
Running context: inCollaborate, inCollaborateSidecar
Error codes ZoomApiError
Status Code | Status Message |
---|---|
10282 | App is not in the inCollaborate or inCollaborateSidecar running contexts. |
Desktop Client Version: 5.10.0
Supported roles: Host, Co-Host, Participant, Panelist
Supports Guest Mode: No
Desktop Client Version: 5.10.0
Starts Collaborate mode in a meeting. Can be initiated by host, co-host, participant. Use the optional shareScreen parameter to opt out of sharing the Host’s app screen with participants as a preview or when participants ignore the Collaborate invite.
update: API is extended to Participant from desktop client version 5.12.6
Supported roles: Host, Co-Host, Participant
Supports Guest Mode: No
zoomSdk.startCollaborate(
{ "shareScreen": true || false } // default true}(Host / Co-Host)
).then(function(response) {})
.catch(function(error) {
// handle error
})
Error codes ZoomApiError
Status Code | Status Message |
---|---|
10084 | The app is in collaborate mode. |
10090 | Collaboration isn't supported in webinar and breakout meeting. |
10089 | This app cannot support collaborate mode. |
Desktop Client Version: 5.10.0
Ends Collaborate mode in a meeting. Can be initiated by hosts or co-hosts.
update: API is extended to Participant from desktop client version 5.12.6
Supported roles: Host, Co-Host, Participant
Supports Guest Mode: No
zoomSdk.endCollaborate()
.then(function(response) {}) // (Host / Co-Host)
.catch(function(error) {
// handle error
})
Error codes ZoomApiError
Status Code | Status Message |
---|---|
10087 | you aren‘t in collaborate mode. |
10088 | You can only end collaboration. |
10085 | The app isn't in collaborate mode. |
Desktop Client Version: 5.10.0
Leave Collaborate mode. Can be initiated by participants in a meeting who are currently in Collaborate mode.
Supported roles: Host, Co-Host, Participant, Panelist
Supports Guest Mode: No
zoomSdk.leaveCollaborate()
.then(function(response) {}) // (other participant)
.catch(function(error) {
// handle error
})
Error codes ZoomApiError
Status Code | Status Message |
---|---|
10087 | you aren‘t in collaborate mode. |
10085 | The app isn't in collaborate mode. |
Desktop Client Version: 5.10.0
Join Collaborate mode. Can be initiated by participants in a meeting when they are invited to collaborate.
Supported roles: Host, Co-Host, Participant, Panelist
Supports Guest Mode: No
zoomSdk.joinCollaborate()
.then(function(response) {}) // (other participant)
.catch(function(error) {
// handle error
})
Error codes ZoomApiError
Status Code | Status Message |
---|---|
10086 | you are already in collaborate mode. |
10085 | The app isn't in collaborate mode. |
Desktop Client Version: 5.8.6
iOS Client Version: 5.10.6
The event is triggered when any change happens to breakout rooms configuration. This method informs the app when the host changes the configuration manually, or when another app changes the configuration.
The event does not provide detailed information about the specific change, so the app needs to make an additional API request to retrieve the updated data.
Supported roles: Host, Co-Host, Participant
Supports Guest Mode: Yes
Desktop Client Version: 5.8.3
iOS Client Version: 5.10.6
Notifies Zoom App when a user leaves or joins a breakout room.
Supported roles: Host, Co-Host, Participant
Supports Guest Mode: Yes
Desktop Client Version: 5.8.6
Deletes all existing breakout rooms and creates new ones. Response is same as getBreakoutRoomList.
Supported roles: Host, Co-Host
Supports Guest Mode: No
Error codes ZoomApiError
Status Code | Status Message |
---|---|
10122 | Bo count and the name size do not match. |
10095 | The count is over the max count. |
10096 | The assignment type is incorrect. |
10097 | Create Breakout Room failed. |
Desktop Client Version: 5.8.6
Change breakout room settings.
Supported roles: Host, Co-Host
Supports Guest Mode: No
Note: Each parameter is optional. If the parameter is missing, the related setting is not changed.
Response is a JSON object with information about the current configuration.
Example
{
"allowParticipantsChooseRoom": true,
"allowParticipantsReturnToMainSession": true,
"automaticallyMoveParticipantsIntoRooms": true,
"closeAfter": 1,
"countDown": 60
"automaticallyMoveParticipantsIntoMainRoom": false
}
Error codes ZoomApiError
Status Code | Status Message |
---|---|
10099 | Config Breakout Room failed. |
Desktop Client Version: 5.8.6
Open breakout rooms.
Supported roles: Host, Co-Host
Supports Guest Mode: No
Error codes ZoomApiError
Status Code | Status Message |
---|---|
10121 | Breakout Rooms are already open. |
10100 | Start Breakout Rooms failed. |
Desktop Client Version: 5.8.6
iOS Client Version: 5.10.6
Close breakout rooms.
Supported roles: Host, Co-Host
Supports Guest Mode: No
Error codes ZoomApiError
Status Code | Status Message |
---|---|
10092 | Breakout Rooms are not open. |
10101 | End Breakout Rooms failed. |
Desktop Client Version: 5.9.3
iOS Client Version: 5.10.6
List all breakout rooms. Host and Co-Host get list of rooms and participants for each breakout room. Participants get only list of rooms. The method works for participants only when breakout rooms are open.
Supported roles: Host, Co-Host, Participant
Supports Guest Mode: Yes
Example payload
{
rooms: [{
breakoutRoomId: "room uuid",
name: "room name",
participants: [{
participantUUID,
displayName,
participantStatus = ["assigned"|"joined"]
}, …],
state = [“open”|”closed”],
unassigned: [{
participantUUID,
displayName
}, …]
}]
}
Returns an array of breakout rooms with their names, UUID, and an array of participant id's.
Error codes ZoomApiError
Status Code | Status Message |
---|---|
10092 | Breakout Rooms are not open. |
Desktop Client Version: 5.8.6
Add one more breakout room. This method is allowed only when breakout rooms are closed. Returns UUID of newly created breakout room.
Supported roles: Host, Co-Host
Supports Guest Mode: No
Error codes ZoomApiError
Status Code | Status Message |
---|---|
10095 | The count is over the max count. |
10098 | Update Breakout Room failed. |
Desktop Client Version: 5.8.6
Delete one breakout room. This method is allowed only when breakout rooms are closed.
Supported roles: Host, Co-Host
Supports Guest Mode: No
Error codes ZoomApiError
Status Code | Status Message |
---|---|
10102 | Delete Breakout Room failed. |
10093 | The id of the Breakout room is incorrect. |
Desktop Client Version: 5.8.6
Renames a breakout room. This method is allowed only when breakout rooms are closed.
Supported roles: Host, Co-Host
Supports Guest Mode: No
Error codes ZoomApiError
Status Code | Status Message |
---|---|
10093 | The id of the Breakout room is incorrect. |
10091 | Can not edit the Breakout Room. |
10098 | Update Breakout Room failed. |
Desktop Client Version: 5.9.0
Assigns a participant to a breakout room (other than the host / co-host). Only one user assigned per call. For open breakout rooms, the method triggers a user flow to join the room.
Supported roles: Host, Co-Host
Supports Guest Mode: No
Note:
Error codes ZoomApiError
Status Code | Status Message |
---|---|
10075 | The participant ID is error, please get the newest participant ID. |
10078 | Participant is not in Breakout Room. |
10103 | Assign user to Breakout Room failed. |
10094 | The id of the user is incorrect. |
10093 | The id of the Breakout room is incorrect. |
Desktop Client Version: 5.8.6
Called by a host / co-host / participant. Allows single participant user to join or leave a breakout room.
Supported roles: Host, Co-Host, Participant
Supports Guest Mode: Yes
Note:
allowParticipantsToChooseRoom=true
when using configureBreakoutRooms
)success
when changing breakout rooms is initiated, but the transition for the user might not be completed in some scenarios. Use onBreakoutRoomChange
to confirm successful transition. If the event doesn’t fire, repeat changeBreakoutRoom
callError codes ZoomApiError
Status Code | Status Message |
---|---|
10092 | Breakout Rooms are not open. |
10093 | The id of the Breakout room is incorrect. |
Desktop Client Version: 5.14.0
Starts or stops broadcasting voice to breakout rooms. Voice will be broadcasted to all rooms until it is stopped.
Running context: inMeeting, inWebinar
Supported roles: Host, Co-Host
Supports Guest Mode: Yes
Product: desktop
Error codes ZoomApiError
Status Code | Status Message |
---|---|
10191 | Broadcast voice to breakout rooms failed |
10192 | Stop broadcast voice to breakout rooms failed |
10193 | muted, can’t broadcast voice to breakout rooms |
10194 | broadcasting voice stopped |
10200 | Can’t operate in Breakout Rooms. |
10201 | Broadcast disabled by settting. |
Desktop Client Version: 5.15.10
Returns the status of the waiting room (whether it is enabled or disabled)
Running context: inMeeting, inImmersive, inCollaborate, inCamera
Supported roles: Host, Co-Host
Supports Guest Mode: yes
product: desktop
Desktop Client Version: 5.15.10
Sets the status of the waiting room (whether it is enabled or disabled)
Running context: inMeeting, inImmersive, inCollaborate, inCamera
Supported roles: Host, Co-Host
Supports Guest Mode: yes
product: desktop
Error codes ZoomApiError
Status Code | Status Message |
---|---|
10233 | Waiting room is locked |
10234 | Waiting room is enabled/disabled already |
10235 | Method is not supported in this meeting |
10236 | Method is not supported inside breakout room |
Desktop Client Version: 5.15.10
Put participant from the meeting into waiting room.
Running context: inMeeting, inImmersive, inCollaborate, inCamera
Supported roles: Host, Co-Host
Supports Guest Mode: yes
product: desktop
Error codes ZoomApiError
Status Code | Status Message |
---|---|
10237 | Participant is already in the waiting room |
10239 | Hosts and co-hosts cannot be put in waiting room |
10240 | Waiting room is not supported for this meeting |
Desktop Client Version: 5.15.10
Admit participant from waiting room into the meeting.
Running context: inMeeting, inImmersive, inCollaborate, inCamera
Supported roles: Host, Co-Host
Supports Guest Mode: yes
product: desktop
Error codes ZoomApiError
Status Code | Status Message |
---|---|
10238 | Participant is not in a waiting room |
10240 | Waiting room is not supported for this meeting |
Desktop Client Version: 5.15.10
List participants in the waiting room
Running context: inMeeting, inImmersive, inCollaborate, inCamera
Supported roles: Host, Co-Host
Supports Guest Mode: yes
product: desktop
Error codes ZoomApiError
Status Code | Status Message |
---|---|
10240 | Waiting room is not supported for this meeting |
Desktop Client Version: 5.16.0
Fires when a participant leaves the waiting room by leaving the meeting or by being admitted to the meeting by UI or API
Running context: inMeeting, inImmersive, inCollaborate, inCamera
Supported roles:Host, Co-Host
Supports Guest Mode: yes (co-host could be a guest)
product: desktop
Desktop Client Version: 5.16.0
Fires when a participant joins a meeting and enters the waiting room, or being put to waiting room by UI or API.
Running context: inMeeting, inImmersive, inCollaborate, inCamera
Supported roles:Host, Co-Host
Supports Guest Mode: yes (co-host could be a guest)
product: desktop
Desktop Client Version: 5.16.0
Fires when the waiting room has either been enabled or disabled through UI or API. Event doesn’t fire if API call doesn’t lead to a value change.
Running context: inMeeting, inImmersive, inCollaborate, inCamera
Supported roles:Host, Co-Host
Supports Guest Mode: yes (co-host could be a guest)
product: desktop
Desktop Client Version: 5.12.6
This API permits Hosts and Co-Hosts to allow Webinar Attendees to speak.
Running context: inWebinar
Supported roles: Host, Co-Host
Supports Guest Mode: No
zoomSdk.allowAttendeesToSpeak( {participantUUIDs: [ participantUUID1, ... ]})
.then((response) => console.log(response))
.catch((err) => console.log(err))
Error codes ZoomApiError
Status Code | Status Message |
---|---|
10134 | Unable to allow attendee(s) to speak. |
Desktop Client Version: 5.12.6
This API permits Hosts and Co-Hosts to disallow Webinar Attendees to speak.
Running context: inWebinar
Supported roles: Host, Co-Host
Supports Guest Mode: No
zoomSdk.disallowAttendeesToSpeak( {participantUUIDs: [ participantUUID1, ... ]})
.then((response) => console.log(response))
.catch((err) => console.log(err))
Error codes ZoomApiError
Status Code | Status Message |
---|---|
10135 | Unable to disallow attendee(s) to speak. |
Desktop Client Version: 5.12.6
This API permits Hosts and Co-Hosts to eject Attendees from a Webinar.
Running context: inWebinar
Supported roles: Host, Co-Host
Supports Guest Mode: No
zoomSdk.removeWebinarAttendees( {participantUUIDs: [ participantUUID1, ... ]})
.then((response) => console.log(response))
.catch((err) => console.log(err))
Error codes ZoomApiError
Status Code | Status Message |
---|---|
10133 | Unable to remove webinar attendees. |
Zoom Room Controller Version: 5.14.0
Zoom Rooms Client Version: 5.14.5
The API is available to apps running in Zoom Rooms. Returns information about the current room and device in which the app is running.
Running context: inDigitalSignage, inMeeting, inMainClient, inWebinar
Supported roles: Host, Co-Host, Participant, Panelist
Supports Guest Mode: No
product: digitalSignage, zoomRoomController
await zoomSdk.getZoomRoomContext()
Zoom Room Controller Version: 5.14.0
This API allows apps running on Zoom Room Controllers to request configuration credentials for in-room control processors.
Running context: inMeeting, inMainClient, inWebinar
Supported roles: Host, Co-Host, Participant, Panelist
Supports Guest Mode: No
product: zoomRoomController
Desktop Client Version: 5.13.0
Get Contextual Chat Context. If App is launched from Message ellipsis, method should return the message from where it is launched.
Supported roles: N/A
Running context: inChat
Supports Guest Mode: No
await zoomSdk.getChatContext()
Desktop Client Version: 5.13.0
Sends Interactive message and its preview to user’s compose box in chat context. When user posts the card, actual content of the message will be rendered as interactive message
Supported roles: N/A
Running context: inChat
Supports Guest Mode: No
await zoomSdk.composeCard({
"type": "interactiveCard",
"message": "some message",
"signature": "some signature",
"timestamp": "some timestamp",
"previewCard": "stringified object" // { "title": "some title", "description":"some description" }
})
Desktop Client Version: 5.15.10
Allows to get information on tabs accessed, current call status and an indentifier for the current call.
Running context: inPhone
product: desktop
Error codes ZoomApiError
Status Code | Status Message |
---|---|
10001 | The Zoom client encountered an error while processing the request |
Desktop Client Version: 5.15.10
Event triggers every time an incoming call is answered
Running context: inPhone
Product: Desktop
Desktop Client Version: 5.15.10
Event triggers every time an active call is ended by caller
Running context: inPhone
Product: Desktop
Desktop Client Version: 5.15.10
Event triggers every time an active call is ended by receiver
Running context: inPhone
Product: Desktop
Desktop Client Version: 5.15.10
Event triggers when caller rejects an incoming phone call
Running context: inPhone
Product: Desktop
Desktop Client Version: 5.15.10
Event triggers when a caller escalates a phone call to meeting.
Running context: inPhone
Product: Desktop
Desktop Client Version: 5.15.10
Event triggers when a callee escalates a zoom phone call to meeting.
Running context: inPhone
Product: Desktop
Desktop Client Version: 5.15.10
Event triggers every time current phone status changes.
Running context: inPhone
Product: Desktop
Desktop Client Version: 5.16.10
Make a zoom phone call on phone tab
Running context: inPhone
product: desktop
Desktop Client Version: 6.2.5
The event is triggered and sent to the 3rd party app when the value of any selected variable changes.
Running context: inContactCenter
Supported roles: Agent, Supervisor
product: desktop, pwa
Desktop Client Version: 6.0.0
API to get details of the current ZCC engagement (for e.g. engagementId, start time, engagement channel, queue name etc.) when a user accesses the app.
Note: Get details of the current ZCC engagement. When processing the response, check the ‘engagementId’ field as it is possible that the agent user has switched between engagements during the time of this API request. Your app should be “engagement-aware” meaning that it is capable of storing data about multiple engagements independently and maintaining proper engagement state to support agents switching between multiple engagements. Running context: inContactCenter
Supported roles: Agent, Supervisor
product: desktop
Optional
options: GetEngagementContextOptionsDesktop Client Version: 6.0.0
The event triggers and is sent to the 3rd party app when the user moves from one engagement to another.
Running context: inContactCenter
Supported roles: Agent, Supervisor
product: desktop
Desktop Client Version: 6.0.0
Get details of the current ZCC engagement.
Note: Get details of the current ZCC engagement. When processing the response, check the ‘engagementId’ field as it is possible that the agent user has switched between engagements during the time of this API request. Your app should be “engagement-aware” meaning that it is capable of storing data about multiple engagements independently and maintaining proper engagement state to support agents switching between multiple engagements.
Running context: inContactCenter
Supported roles: Agent, Supervisor
product: desktop
Desktop Client Version: 6.0.0
The event triggers and is sent to the 3rd party app when any of the fields in the EngagementStatus object changes.
The event returns only the difference between the previous status and new status.
Running context: inContactCenter
Supported roles: Agent, Supervisor
product: desktop
Desktop Client Version: 6.0.0
This API will return the securable status of a call.
Running context: inContactCenter
Supported roles: Agent, Supervisor
Supports Guest Mode: No
product: desktop
Error codes ZoomApiError
Status Code | Status Message |
---|---|
10241 | Unable to retrieve Securable Status for phone number |
10242 | Method not available outside Zoom Contact Center |
10243 | Method not available outside Engagement context |
Desktop Client Version: 6.0.0
This API will enable an agent to start media redirection with the PCI vendor. When the customer calls ZCC, the phone call will be on Zoom carrier trunks. Upon initiating media redirection the telecom carrier will 'redirect' the SIP call to the app. The app will then bridge the call with Zoom over a different SIP trunk where the agent will be able to talk to the customer but unable to hear credit card number and additional details.
Note: This API will work only for PCI vendors registered with Zoom.
Running context: inContactCenter
Supported roles: Agent, Supervisor
Supports Guest Mode: No
product: desktop
Error codes ZoomApiError
Status Code | Status Message |
---|---|
10242 | Method not available outside Zoom Contact Center |
10243 | Method not available outside Engagement context |
10244 | Request to start media redirection failed |
Desktop Client Version: 6.0.0
Event to check the media redirection status
Running context: inContactCenter
Supported roles: Agent, Supervisor
Supports Guest Mode: No
product: desktop
Desktop Client Version: 6.2.5
The app calls the Zoom Apps SDK to get the value of the selected variables associated with the current engagement when a user access the app.
Running context: inContactCenter
Supported roles: Agent, Supervisor
product: desktop, pwa
Desktop Client Version: 6.2.5
The app calls the Zoom Apps SDK to get the list of variables which are configured by ZCC admin to expose to the app. This is to be called when an agent launches an app for the 1st time after completely closing the app.
Running context: inContactCenter
Supported roles: Agent, Supervisor
product: desktop, pwa
Desktop Client Version: 6.1.0
Returns an object containing mail context when the app is opened, including the email provider, user's email address, and optional thread id and message id.
Running context: inMail
Supported roles: N/A
Supports Guest Mode: No
product: desktop
Desktop Client Version: 6.1.0
Get the messages info of the specified mail thread.
Running context: inMail
Supported roles: N/A
Supports Guest Mode: No
product: desktop
Desktop Client Version: 6.1.0
Get the info of the specified mail message.
Running context: inMail
Supported roles: N/A
Supports Guest Mode: No
product: desktop
Low-level method used to register event handlers in the SDK. This is useful because it allows you to use new events in the client without needing to update the JS SDK. You can register multiple listeners per event.
Use this method to remove a previously registered listener.
Note that the removeEventListener method requires that you registered a named listener function. If you use an anonymous function, you will not be able to remove it using this method.
Alias for addEventListener
Alias for removeEventListener
Desktop Client Version: 5.17.5
Set a dynamic indicator to be seen by all participants.
Running context: inMeeting, inCollaborate, inCamera, inWebinar
Supported roles: Host, Co-host, Participant, and Panelist
Supports Guest Mode: Yes
product: desktop
Desktop Client Version: 5.17.5
Returns the current dynamic indicator information.
Running context: inMeeting, inCollaborate, inCamera, inWebinar
Supported roles: Host, Co-host, Panelist, Participant, and Attendee
Supports Guest Mode: Yes
product: desktop
Desktop Client Version: 5.17.5
Removes the current dynamic indicator (including style) and the app option in the dropdown menu.
Running context: inMeeting, inCollaborate, inCamera, inWebinar
Supported roles: Host, Co-host, Participant, and Panelist
Supports Guest Mode: Yes
product: desktop
Desktop Client Version: 5.17.5
Event fired when the dynamic indicator is set or changed.
Supported roles: Host, Co-Host, Participant, Panelist, Attendee
Supports Guest Mode: Yes
product: desktop
Desktop Client Version: 5.17.5
Event fired when the dynamic indicator is removed by calling removeDynamicIndicator.
Supported roles: Host, Co-Host, Participant, Panelist
Supports Guest Mode: Yes
product: desktop
Desktop Client Version: 5.17.5
Called by the host to set the dynamic indicator style to be seen by all participants.
Running context: inMeeting, inCollaborate, inCamera, inWebinar
Supported roles: Host, Co-host, Participant, and Panelist
Supports Guest Mode: Yes
product: desktop
Desktop Client Version: 5.17.5
Event fired when the dynamic indicator style is set or changed using setDynamicIndicatorStyle.
Supported roles: Host, Co-Host, Participant, Panelist, and Attendee
Supports Guest Mode: Yes
product: desktop
Desktop Client Version: 5.17.5
Adds additional time to an existing dynamic indicator timer. Only works for timers with a down direction.
Running context: inMeeting, inCollaborate, inCamera, inWebinar
Supported roles: Host, Co-host, Participant, and Panelist
Supports Guest Mode: Yes
product: desktop
Desktop Client Version: 5.17.5
Event fired when the dynamic indicator timer is extended using extendDynamicIndicator.
Supported roles: Host, Co-Host, Participant, Panelist
Supports Guest Mode: Yes
product: desktop
Generated using TypeDoc
Zoom Apps SDK
The Zoom Apps SDK is a JavaScript library that facilitates communication between your Zoom App and the Zoom client. The SDK allows you to take advantage of the many APIs and events Zoom exposes in its embedded browser.
Installation
There are two ways to install the Zoom Apps SDK into your frontend project
NPM
You can install it from NPM, if you are using a module bundler such as Webpack:
CDN
Alternatively, you can load the SDK from a CDN, using a script tag in your HTML document:
You can also load a minified SDK, using a script tag in your HTML document:
Usage
If you installed Zoom Apps SDK from NPM, import
zoomSdk
into the component where you wanted to use the SDK and callconfig
as your first call to verify your application with Zoom.When you load the SDK using a script tag, zoomSDK is served as a global object and can be called across components. Even in this case
zoomSdk.config
should be the first call.The cloud SDK is designed to provide on-demand patch updates, and it does not support exact versions. You will always get the latest patch version within the major version specified in the version parameter of
zoomSdk.config
. In other words, if you supplied an exact version like0.16.1
, you will get the latest patch within the0.16
major version.zoomSdk.config
response object. Read more about zoomSdk.configRole and running context change
Listen to
zoomSdk.onMyUserContextChange
andzoomSdk.onRunningContextChange
events for role and running context changes respectively.zoomSdk.config
needs to be called again to update API permissions.Note
Zoom Desktop Client is a native application. Depending on the Zoom Desktop Client version a user has installed, they might have access to different Zoom Apps APIs and events. With the cloud version of the SDK, you automatically get the latest patches as we release new client versions, and your apps avoid potential breaks due to missing patches.
When using SDK via npm, check for updates in our monthly release of Zoom Desktop Client. You must manually update your app when needed to the latest SDK to maintain compatibility with newer client versions.
The SDK module installed via npm includes the
sdk.d.ts
file which provides type definitions forsdk.es.js
andsdk.module.js
. The cloud-based SDK does not provide this file.How do compatibility patches work?
This is an example of how compatibility patches delivered via cloud-based SDK help your app run on the latest client versions.
Note: This example is only for illustrating the concept, and does not imply Zoom is planning to change the
sendAppInvitation
API schema.Example: Your app is developed against the 3.4.0 client version and uses the
sendAppInvitation
API.Client version 3.4.0. The
sendAppInvitation
API schema isClient version 4.0.0 introduces a breaking change to the
sendAppInvitation
API that requires one additional parametermessage
to customize your invitation. The new API schema isApps based on the client version 3.4.0 will break when used on the 4.0.0 client because the client is expecting the
message
parameter as part of the API call. Whereas, when you use the cloud-based SDK, the compatibility patch can accept your API request and transform it internally to use a default value for themessage
parameter.Original call from app to SDK
SDK transforms the call internally to
Release notes
Refer to release notes to discover changes made in the Apps SDK.
Resources to create a Zoom App
Need help?