Setting the file. One moment.
Subchapter 157.1
references/apis.mdMarkdown5 KBView on GitHub
Complete reference for all @zoom/appssdk methods organized by category.
Must be called first. Initializes the SDK and declares capabilities.
const configResponse = await zoomSdk.config({
capabilities: ['getMeetingContext', 'shareApp', ...],
version: '0.16'
});
// Returns: { runningContext, clientVersion, unsupportedApis }Check which APIs are available in the current client.
const { supportedApis } = await zoomSdk.getSupportedJsApis();
// Returns: { supportedApis: ['getMeetingContext', 'shareApp', ...] }const context = await zoomSdk.getMeetingContext();
// { meetingID, meetingTopic, meetingStatus }const user = await zoomSdk.getUserContext();
// { screenName, role, participantId, status }
// role: 'host' | 'coHost' | 'attendee' | 'panelist'
// status: 'authorized' | 'authenticated' | 'unauthenticated'const { context } = await zoomSdk.getRunningContext();
// 'inMeeting' | 'inMainClient' | 'inWebinar' | 'inImmersive' | ...const { meetingUUID } = await zoomSdk.getMeetingUUID();const { joinUrl } = await zoomSdk.getMeetingJoinUrl();const { participants } = await zoomSdk.getMeetingParticipants();
// [{ participantId, participantUUID, screenName, role }]const recording = await zoomSdk.getRecordingContext();
// { cloudRecordingStatus, localRecordingStatus }Trigger In-Client OAuth (no browser redirect).
await zoomSdk.authorize({ codeChallenge: '...', state: '...' });
// onAuthorized event fires with { code, state }Prompt guest/authenticated users to authorize.
await zoomSdk.promptAuthorize();await zoomSdk.shareApp();await zoomSdk.sendAppInvitation({ participantUUIDs: ['uuid1'], action: 'open' });await zoomSdk.sendAppInvitationToAllParticipants();await zoomSdk.sendAppInvitationToMeetingOwner();await zoomSdk.showAppInvitationDialog();await zoomSdk.expandApp({ action: 'expand' }); // or 'collapse'await zoomSdk.openUrl({ url: 'https://example.com' });await zoomSdk.showNotification({ title: 'Alert', message: 'Something happened!', type: 'info' });const { cameras } = await zoomSdk.listCameras();await zoomSdk.setVirtualBackground({ imageData: 'base64-data' });await zoomSdk.removeVirtualBackground();await zoomSdk.setVideoMirrorEffect({ mirrorMyVideo: true });await zoomSdk.allowParticipantToRecord({ participantUUID: 'uuid', action: 'grant' });await zoomSdk.cloudRecording({ action: 'start' }); // 'stop', 'pause', 'resume'Connect to other app instances (main client <-> meeting).
await zoomSdk.connect();await zoomSdk.postMessage({ payload: JSON.stringify({ type: 'update', data: {...} }) });await zoomSdk.runRenderingContext({ view: 'immersive' }); // or 'camera'await zoomSdk.closeRenderingContext();await zoomSdk.drawParticipant({ participantUUID: 'uuid', x: 0, y: 0, width: 640, height: 480, zIndex: 1 });await zoomSdk.clearParticipant({ participantUUID: 'uuid' });await zoomSdk.drawImage({ imageData: canvas.toDataURL(), x: 0, y: 0, width: 1280, height: 720, zIndex: 0 });await zoomSdk.clearImage({ imageId: 'id' });await zoomSdk.drawWebView({ webviewId: 'my-view', x: 0, y: 0, width: 400, height: 300, zIndex: 2 });await zoomSdk.clearWebView({ webviewId: 'my-view' });await zoomSdk.startCollaborate({ shareScreen: true });zoomSdk.addEventListener('onMeeting', (event) => { ... });
zoomSdk.removeEventListener('onMeeting', handler);See events.md for complete event reference.