Generated banner for Zoom Oauth
Generated logo for Zoom Oauth

Zoom Oauth

AnthropicOfficialCreated by ZoomDistributed by Anthropic

  • Skill
  • Tool integration
  • Automation and integrations
  • MIT
  • No issues found

From the author

Reference skill for Zoom authentication. Use after routing to an auth workflow when choosing app credentials, grant types, scopes, token refresh behavior, or debugging Zoom OAuth failures.
— the description by Zoom

AutoGineer summary

Written by AutoGineer from the skill’s own files, not by the author

This skill provides comprehensive documentation for Zoom API authentication. It covers the four primary OAuth authorization flows, token lifecycle management, scope configuration, and common error resolution. It serves as a technical reference for developers integrating Zoom services, offering guidance on choosing the correct grant type, implementing PKCE for public clients, and handling token refresh logic.

What it does

  • Explains four Zoom OAuth flows: Server-to-Server, User Authorization, Device Authorization, and Client Authorization.
  • Details token lifecycle management, including expiration, refresh, and revocation procedures.
  • Provides implementation patterns for PKCE to secure public clients.
  • Lists common OAuth error codes and their corresponding solutions.
  • Outlines the differences between classic and granular OAuth scopes.
  • Offers guidance on handling deauthorization webhooks and pre-approval requirements.

When to use it

  • When determining the appropriate OAuth flow for a new Zoom integration.
  • When implementing token refresh logic or handling token expiration.
  • When troubleshooting specific Zoom OAuth error codes.
  • When configuring app credentials, redirect URIs, or required scopes.
  • When securing public-facing applications using PKCE.

Advantages

  • Centralizes technical documentation for all Zoom authentication methods.
  • Provides clear decision matrices for selecting the correct authorization flow.
  • Includes specific troubleshooting steps for common integration failures.
  • Offers structured guidance on scope management and migration.

Usage examples

“Which Zoom OAuth flow should I use for a backend service?”
The agent identifies the Server-to-Server (S2S) OAuth flow as the appropriate choice for backend automation without user interaction.
“How do I fix a 4709 error in Zoom OAuth?”
The agent explains that error 4709 indicates a redirect URI mismatch and advises verifying the URI in the Zoom Marketplace app configuration.
“Explain the difference between classic and granular scopes.”
The agent provides a comparison of the two scope types and links to the migration documentation for updating existing apps.
“How do I implement PKCE for my mobile app?”
The agent outlines the PKCE flow, including code verifier generation and the token exchange process.

Install

  1. Download the skill as a ZIP:

    https://mp-staging.autogineer.com/agent-skills/anthropics/zoom-oauth/download
  2. Unzip it into the cross-client skills folder of your project:

    mkdir -p .agents/skills && unzip zoom-oauth.zip -d .agents/skills

Documentation by Zoom

Zoom OAuth

Background reference for Zoom auth and token lifecycle behavior. Prefer setup-zoom-oauth first, then use this skill for the exact flow, scope, and error details.

Zoom OAuth

Authentication and authorization for Zoom APIs.

📖 Complete Documentation

For comprehensive guides, production patterns, and troubleshooting, see Integrated Index section below.

Quick navigation:

Prerequisites

  • Zoom app created in Marketplace

  • Client ID and Client Secret

  • For S2S OAuth: Account ID

Four Authorization Use Cases

Use CaseApp TypeGrant TypeIndustry Name
Account AuthorizationServer-to-Serveraccount_credentialsClient Credentials Grant, M2M, Two-legged OAuth
User AuthorizationGeneralauthorization_codeAuthorization Code Grant, Three-legged OAuth
Device AuthorizationGeneralurn:ietf:params:oauth:grant-type:device_codeDevice Authorization Grant (RFC 8628)
Client AuthorizationGeneralclient_credentialsClient Credentials Grant (chatbot-scoped)
Industry Terminology
TermMeaning
Two-legged OAuthNo user involved (client ↔ server)
Three-legged OAuthUser involved (user ↔ client ↔ server)
M2MMachine-to-Machine (backend services)
Public clientCan't keep secrets (mobile, SPA) → use PKCE
Confidential clientCan keep secrets (backend servers)
PKCEProof Key for Code Exchange (RFC 7636), pronounced "pixy"
Which Flow Should I Use?
                              ┌─────────────────────┐
                              │  What are you       │
                              │  building?          │
                              └──────────┬──────────┘
                                         │
                    ┌────────────────────┼────────────────────┐
                    │                    │                    │
                    ▼                    ▼                    ▼
          ┌─────────────────┐  ┌─────────────────┐  ┌─────────────────┐
          │  Backend        │  │  App for other  │  │  Chatbot only   │
          │  automation     │  │  users/accounts │  │  (Team Chat)    │
          │  (your account) │  │                 │  │                 │
          └────────┬────────┘  └────────┬────────┘  └────────┬────────┘
                   │                    │                    │
                   ▼                    │                    ▼
          ┌─────────────────┐           │           ┌─────────────────┐
          │    ACCOUNT      │           │           │     CLIENT      │
          │   (S2S OAuth)   │           │           │   (Chatbot)     │
          └─────────────────┘           │           └─────────────────┘
                                        │
                                        ▼
                              ┌─────────────────────┐
                              │  Does device have   │
                              │  a browser?         │
                              └──────────┬──────────┘
                                         │
                         ┌───────────────┴───────────────┐
                         │ NO                         YES│
                         ▼                               ▼
          ┌─────────────────────────┐         ┌─────────────────┐
          │        DEVICE           │         │      USER       │
          │     (Device Flow)       │         │  (Auth Code)    │
          │                         │         │                 │
          │ Examples:               │         │ + PKCE if       │
          │ • Smart TV              │         │   public client │
          │ • Meeting SDK device    │         │                 │
          └─────────────────────────┘         └─────────────────┘

Account Authorization (Server-to-Server OAuth)

For backend automation without user interaction.

Request Access Token
POST https://zoom.us/oauth/token?grant_type=account_credentials&account_id={ACCOUNT_ID}

Headers:
Authorization: Basic {Base64(ClientID:ClientSecret)}
Response
{
  "access_token": "eyJ...",
  "token_type": "bearer",
  "expires_in": 3600,
  "scope": "user:read:user:admin",
  "api_url": "https://api.zoom.us"
}
Refresh

Access tokens expire after 1 hour. No separate refresh flow - just request a new token.


User Authorization (Authorization Code Flow)

For apps that act on behalf of users.

Step 1: Redirect User to Authorize
https://zoom.us/oauth/authorize?response_type=code&client_id={CLIENT_ID}&redirect_uri={REDIRECT_URI}

Use https://zoom.us/oauth/authorize for consent, but https://zoom.us/oauth/token for token exchange.

Optional Parameters:

ParameterDescription
stateCSRF protection, maintains state through flow
code_challengeFor PKCE (see below)
code_challenge_methodS256 or plain (default: plain)
Step 2: User Authorizes
  • User signs in and grants permission

  • Redirects to redirect_uri with authorization code:

    https://example.com/?code={AUTHORIZATION_CODE}
Step 3: Exchange Code for Token
POST https://zoom.us/oauth/token?grant_type=authorization_code&code={CODE}&redirect_uri={REDIRECT_URI}

Headers:
Authorization: Basic {Base64(ClientID:ClientSecret)}

With PKCE: Add code_verifier parameter.

Response
{
  "access_token": "eyJ...",
  "token_type": "bearer",
  "refresh_token": "eyJ...",
  "expires_in": 3600,
  "scope": "user:read:user",
  "api_url": "https://api.zoom.us"
}
Refresh Token
POST https://zoom.us/oauth/token?grant_type=refresh_token&refresh_token={REFRESH_TOKEN}

Headers:
Authorization: Basic {Base64(ClientID:ClientSecret)}
  • Access tokens expire after 1 hour

  • Refresh token lifetime can vary; ~90 days is common for some user-based flows. Treat it as configuration/behavior that can change and rely on runtime errors + re-auth fallback.

  • Always use the latest refresh token for the next request

  • If refresh token expires, redirect user to authorization URL to restart flow

User-Level vs Account-Level Apps
TypeWho Can AuthorizeScope Access
User-levelAny individual userScoped to themselves
Account-levelUser with admin permissionsAccount-wide access (admin scopes)

Device Authorization (Device Flow)

For devices without browsers (e.g., Meeting SDK apps).

Prerequisites

Enable "Use App on Device" in: Features > Embed > Enable Meeting SDK

Step 1: Request Device Code
POST https://zoom.us/oauth/devicecode?client_id={CLIENT_ID}

Headers:
Authorization: Basic {Base64(ClientID:ClientSecret)}
Response
{
  "device_code": "DEVICE_CODE",
  "user_code": "abcd1234",
  "verification_uri": "https://zoom.us/oauth_device",
  "verification_uri_complete": "https://zoom.us/oauth/device/complete/{CODE}",
  "expires_in": 900,
  "interval": 5
}
Step 2: User Authorization

Direct user to:

  • verification_uri and display user_code for manual entry, OR

  • verification_uri_complete (user code prefilled)

User signs in and allows the app.

Step 3: Poll for Token

Poll at the interval (5 seconds) until user authorizes:

POST https://zoom.us/oauth/token?grant_type=urn:ietf:params:oauth:grant-type:device_code&device_code={DEVICE_CODE}

Headers:
Authorization: Basic {Base64(ClientID:ClientSecret)}
Response
{
  "access_token": "eyJ...",
  "token_type": "bearer",
  "refresh_token": "eyJ...",
  "expires_in": 3599,
  "scope": "user:read:user user:read:token",
  "api_url": "https://api.zoom.us"
}
Polling Responses
ResponseMeaningAction
Token returnedUser authorizedStore tokens, done
error: authorization_pendingUser hasn't authorized yetKeep polling at interval
error: slow_downPolling too fastIncrease interval by 5 seconds
error: expired_tokenDevice code expired (15 min)Restart flow from Step 1
error: access_deniedUser denied authorizationHandle denial, don't retry
Polling Implementation
async function pollForToken(deviceCode, interval) {
  while (true) {
    await sleep(interval * 1000);
    
    try {
      const response = await axios.post(
        `https://zoom.us/oauth/token?grant_type=urn:ietf:params:oauth:grant-type:device_code&device_code=${deviceCode}`,
        null,
        { headers: { 'Authorization': `Basic ${credentials}` } }
      );
      return response.data; // Success - got tokens
    } catch (error) {
      const err = error.response?.data?.error;
      if (err === 'authorization_pending') continue;
      if (err === 'slow_down') { interval += 5; continue; }
      throw error; // expired_token or access_denied
    }
  }
}
Refresh

Same as User Authorization. If refresh token expires, restart device flow from Step 1.


Client Authorization (Chatbot)

For chatbot message operations only.

Request Token
POST https://zoom.us/oauth/token?grant_type=client_credentials

Headers:
Authorization: Basic {Base64(ClientID:ClientSecret)}
Response
{
  "access_token": "eyJ...",
  "token_type": "bearer",
  "expires_in": 3600,
  "scope": "imchat:bot",
  "api_url": "https://api.zoom.us"
}
Refresh

Tokens expire after 1 hour. No refresh flow - just request a new token.


Using Access Tokens

Call API
GET https://api.zoom.us/v2/users/me

Headers:
Authorization: Bearer {ACCESS_TOKEN}
Me Context

Replace userID with me to target the token's associated user:

EndpointMethods
/v2/users/meGET, PATCH
/v2/users/me/tokenGET
/v2/users/me/meetingsGET, POST

Revoke Access Token

Works for all authorization types.

POST https://zoom.us/oauth/revoke?token={ACCESS_TOKEN}

Headers:
Authorization: Basic {Base64(ClientID:ClientSecret)}
Response
{
  "status": "success"
}

PKCE (Proof Key for Code Exchange)

For public clients that can't securely store secrets (mobile apps, SPAs, desktop apps).

When to Use PKCE
Client TypeUse PKCE?Why
Mobile appYesCan't securely store client secret
Single Page App (SPA)YesJavaScript is visible to users
Desktop appYesBinary can be decompiled
Meeting SDK (client-side)YesRuns on user's device
Backend serverOptionalCan keep secrets, but PKCE adds security
How PKCE Works
┌──────────┐                              ┌──────────┐                    ┌──────────┐
│  Client  │                              │   Zoom   │                    │   Zoom   │
│   App    │                              │  Auth    │                    │  Token   │
└────┬─────┘                              └────┬─────┘                    └────┬─────┘
     │                                         │                              │
     │ 1. Generate code_verifier (random)      │                              │
     │ 2. Create code_challenge = SHA256(verifier)                            │
     │                                         │                              │
     │ ─────── /authorize + code_challenge ──► │                              │
     │                                         │                              │
     │ ◄────── authorization_code ──────────── │                              │
     │                                         │                              │
     │ ─────────────── /token + code_verifier ─┼────────────────────────────► │
     │                                         │                              │
     │                                         │     Verify: SHA256(verifier) │
     │                                         │            == challenge      │
     │                                         │                              │
     │ ◄───────────────────────────────────────┼─────── access_token ──────── │
     │                                         │                              │
Implementation (Node.js)
const crypto = require('crypto');

function generatePKCE() {
  const verifier = crypto.randomBytes(32).toString('base64url');
  const challenge = crypto.createHash('sha256').update(verifier).digest('base64url');
  return { verifier, challenge };
}

const pkce = generatePKCE();

const authUrl = `https://zoom.us/oauth/authorize?` +
  `response_type=code&` +
  `client_id=${CLIENT_ID}&` +
  `redirect_uri=${REDIRECT_URI}&` +
  `code_challenge=${pkce.challenge}&` +
  `code_challenge_method=S256`;

// Store pkce.verifier in session for callback
Token Exchange with PKCE
POST https://zoom.us/oauth/token?grant_type=authorization_code&code={CODE}&redirect_uri={REDIRECT_URI}&code_verifier={VERIFIER}

Headers:
Authorization: Basic {Base64(ClientID:ClientSecret)}

Deauthorization

When a user removes your app, Zoom sends a webhook to your Deauthorization Notification Endpoint URL.

Webhook Event
{
  "event": "app_deauthorized",
  "event_ts": 1740439732278,
  "payload": {
    "account_id": "ACCOUNT_ID",
    "user_id": "USER_ID",
    "signature": "SIGNATURE",
    "deauthorization_time": "2019-06-17T13:52:28.632Z",
    "client_id": "CLIENT_ID"
  }
}
Requirements
  • Delete all associated user data after receiving this event

  • Verify webhook signature (use secret token, verification token deprecated Oct 2023)

  • Only public apps receive deauthorization webhooks (not private/dev apps)


Pre-Approval Flow

Some Zoom accounts require Marketplace admin pre-approval before users can authorize apps.

  • Users can request pre-approval from their admin

  • Account-level apps (admin scopes) require appropriate role permissions


Active Apps Notifier (AAN)

In-meeting feature showing apps with real-time access to content.

  • Displays icon + tooltip with app info, content type being accessed, approving account

  • Supported: Zoom client 5.6.7+, Meeting SDK 5.9.0+


OAuth Scopes

Scope Types
TypeDescriptionFor
Classic scopesLegacy scopes (user, admin, master levels)Existing apps
Granular scopesNew fine-grained scopes with optional supportNew apps
Classic Scopes

For previously-created apps. Three levels:

  • User-level: Access to individual user's data

  • Admin-level: Account-wide access, requires admin role

  • Master-level: For master-sub account setups, requires account owner

Full list: https://developers.zoom.us/docs/integrations/oauth-scopes/

Granular Scopes

For new apps. Format: <service>:<action>:<data_claim>:<access>

ComponentValues
servicemeeting, webinar, user, recording, etc.
actionread, write, update, delete
data_claimData category (e.g., participants, settings)
accessempty (user), admin, master

Example: meeting:read:list_meetings:admin

Full list: https://developers.zoom.us/docs/integrations/oauth-scopes-granular/

Optional Scopes

Granular scopes can be marked as optional - users choose whether to grant them.

Basic authorization (uses build flow defaults):

https://zoom.us/oauth/authorize?response_type=code&client_id={CLIENT_ID}&redirect_uri={REDIRECT_URI}

Advanced authorization (custom scopes per request):

https://zoom.us/oauth/authorize?client_id={CLIENT_ID}&response_type=code&redirect_uri={REDIRECT_URI}&scope={required_scopes}&optional_scope={optional_scopes}

Include previously granted scopes:

https://zoom.us/oauth/authorize?...&include_granted_scopes&scope={additional_scopes}
Migrating Classic to Granular
  1. Manage > select app > edit

  2. Scope page > Development tab > click Migrate

  3. Review auto-assigned granular scopes, remove unnecessary, mark optional

  4. Test

  5. Production tab > click Migrate

Notes:

  • No review needed if only migrating or reducing scopes

  • Existing user tokens continue with classic scope values until re-authorization

  • New users get granular scopes after migration


Common Error Codes

CodeMessageSolution
4700Token cannot be emptyCheck Authorization header has valid token
4702/4704Invalid clientVerify Client ID and Client Secret
4705Grant type not supportedUse: account_credentials, authorization_code, urn:ietf:params:oauth:grant-type:device_code, or client_credentials
4706Client ID or secret missingAdd credentials to header or request params
4709Redirect URI mismatchEnsure redirect_uri matches app configuration exactly (including trailing slash)
4711Refresh token invalidToken scopes don't match client scopes
4717App has been disabledContact Zoom support
4733Code is expiredAuthorization codes expire in 5 minutes - restart flow
4734Invalid authorization codeRegenerate authorization code
4735Owner of token does not existUser was removed from account - re-authorize
4741Token has been revokedUse the most recent token from latest authorization

See references/oauth-errors.md for complete error list.


Quick Reference

FlowGrant TypeToken ExpiryRefresh
Account (S2S)account_credentials1 hourRequest new token
Userauthorization_code1 hourUse refresh_token (90 day expiry)
Deviceurn:ietf:params:oauth:grant-type:device_code1 hourUse refresh_token (90 day expiry)
Client (Chatbot)client_credentials1 hourRequest new token

Demo Guidance

If you build an OAuth demo app, document its runtime base URL in that demo project's own README or .env.example, not in this shared skill.

Resources


Integrated Index

This section was migrated from SKILL.md.

Quick Start Path

If you're new to Zoom OAuth, follow this order:

  1. Run preflight checks first → RUNBOOK.md

  2. Choose your OAuth flow → concepts/oauth-flows.md

    • 4 flows: S2S (backend), User (SaaS), Device (no browser), Chatbot

    • Decision matrix: Which flow fits your use case?

  3. Understand token lifecycle → concepts/token-lifecycle.md

    • CRITICAL: How tokens expire, refresh, and revoke

    • Common pitfalls: refresh token rotation

  4. Implement your flow → Jump to examples:

  5. Fix redirect URI issues → troubleshooting/redirect-uri-issues.md

    • Most common OAuth error: Redirect URI mismatch

  6. Implement token refresh → examples/token-refresh.md

    • Automatic middleware pattern

    • Handle refresh token rotation

  7. Troubleshoot errors → troubleshooting/common-errors.md

    • Error code tables (4700-4741 range)

    • Quick diagnostic workflow


Documentation Structure

oauth/
├── SKILL.md                           # Main skill overview
├── SKILL.md                           # This file - navigation guide
│
├── concepts/                          # Core OAuth concepts
│   ├── oauth-flows.md                # 4 flows: S2S, User, Device, Chatbot
│   ├── token-lifecycle.md            # Expiration, refresh, revocation
│   ├── pkce.md                       # PKCE security for public clients
│   ├── scopes-architecture.md        # Classic vs Granular scopes
│   └── state-parameter.md            # CSRF protection with state
│
├── examples/                          # Complete working code
│   ├── s2s-oauth-basic.md            # S2S OAuth minimal example
│   ├── s2s-oauth-redis.md            # S2S OAuth with Redis caching (production)
│   ├── user-oauth-basic.md           # User OAuth minimal example
│   ├── user-oauth-mysql.md           # User OAuth with MySQL + encryption (production)
│   ├── device-flow.md                # Device authorization flow
│   ├── pkce-implementation.md        # PKCE for SPAs/mobile apps
│   └── token-refresh.md              # Auto-refresh middleware pattern
│
├── troubleshooting/                   # Problem solving guides
│   ├── common-errors.md              # Error codes 4700-4741
│   ├── redirect-uri-issues.md        # Most common OAuth error
│   ├── token-issues.md               # Expired, revoked, invalid tokens
│   └── scope-issues.md               # Scope mismatch errors
│
└── references/                        # Reference documentation
    ├── oauth-errors.md                # Complete error code reference
    ├── classic-scopes.md              # Classic scope reference
    └── granular-scopes.md             # Granular scope reference

By Use Case

I want to automate Zoom tasks on my own account
  1. OAuth Flows - S2S OAuth explained

  2. S2S OAuth Redis - Production pattern with Redis caching

  3. Token Lifecycle - 1hr token, no refresh

I want to build a SaaS app for other Zoom users
  1. OAuth Flows - User OAuth explained

  2. User OAuth MySQL - Production pattern with encryption

  3. Token Refresh - Automatic refresh middleware

  4. Redirect URI Issues - Fix most common error

I want to build a mobile or SPA app
  1. PKCE - Why PKCE is required for public clients

  2. PKCE Implementation - Complete code example

  3. State Parameter - CSRF protection

I want to build an app for devices without browsers (TV, kiosk)
  1. OAuth Flows - Device flow explained

  2. Device Flow Example - Complete polling implementation

  3. Common Errors - Device-specific errors

I'm building a Team Chat bot
  1. OAuth Flows - Chatbot flow explained

  2. S2S OAuth Basic - Similar pattern, different grant type

  3. Scopes Architecture - Chatbot-specific scopes

I'm getting redirect URI errors (4709)
  1. Redirect URI Issues - START HERE!

  2. Common Errors - Error details

  3. User OAuth Basic - See correct pattern

I'm getting token errors (4700-4741)
  1. Token Issues - Diagnostic workflow

  2. Token Lifecycle - Understand expiration

  3. Token Refresh - Implement auto-refresh

  4. Common Errors - Error code tables

I'm getting scope errors (4711)
  1. Scope Issues - Mismatch causes

  2. Scopes Architecture - Classic vs Granular

  3. Classic Scopes - Complete scope reference

  4. Granular Scopes - Granular scope reference

I need to refresh tokens
  1. Token Lifecycle - When to refresh

  2. Token Refresh - Middleware pattern

  3. Token Issues - Common mistakes

I want to understand the difference between Classic and Granular scopes
  1. Scopes Architecture - Complete comparison

  2. Classic Scopes - resource:level format

  3. Granular Scopes - service:action:data_claim:access format

I need to secure my OAuth implementation
  1. PKCE - Public client security

  2. State Parameter - CSRF protection

  3. User OAuth MySQL - Token encryption at rest

I want to migrate from JWT app to S2S OAuth
  1. S2S OAuth Redis - Modern replacement

  2. Token Lifecycle - Different token behavior

Note: JWT App Type was deprecated in June 2023. Migrate to S2S OAuth for server-to-server automation.


Most Critical Documents

1. OAuth Flows (DECISION DOCUMENT)

concepts/oauth-flows.md

Understand which of the 4 flows to use:

  • S2S OAuth: Backend automation (your account)

  • User OAuth: SaaS apps (users authorize you)

  • Device Flow: Devices without browsers

  • Chatbot: Team Chat bots only

2. Token Lifecycle (MOST COMMON ISSUE)

concepts/token-lifecycle.md

99% of OAuth issues stem from misunderstanding:

  • Token expiration (1 hour for all flows)

  • Refresh token rotation (must save new refresh token)

  • Revocation behavior (invalidates all tokens)

3. Redirect URI Issues (MOST COMMON ERROR)

troubleshooting/redirect-uri-issues.md

Error 4709 ("Redirect URI mismatch") is the #1 OAuth error. Must match EXACTLY (including trailing slash, http vs https).


Key Learnings

Critical Discoveries:
  1. Refresh Token Rotation

    • Each refresh returns a NEW refresh token

    • Old refresh token becomes invalid

    • Failure to save new token causes 4735 errors

    • See: Token Refresh

  2. S2S OAuth Uses Redis, User OAuth Uses Database

  3. Redirect URI Must Match EXACTLY

    • Trailing slash matters: /callback ≠ /callback/

    • Protocol matters: http:// ≠ https://

    • Port matters: :3000 ≠ :3001

    • See: Redirect URI Issues

  4. PKCE Required for Public Clients

    • Mobile apps CANNOT keep secrets

    • SPAs CANNOT keep secrets

    • PKCE prevents authorization code interception

    • See: PKCE

  5. State Parameter Prevents CSRF

    • Generate random state before redirect

    • Store in session

    • Verify on callback

    • See: State Parameter

  6. Token Storage Must Be Encrypted

  7. JWT App Type is Deprecated (June 2023)

    • No new JWT apps can be created

    • Existing apps still work but will eventually be sunset

    • Migrate to S2S OAuth or User OAuth

  8. Scope Levels Determine Authorization Requirements

    • No suffix (user-level): Any user can authorize

    • :admin: Requires admin role

    • :master: Requires account owner (multi-account)

    • See: Scopes Architecture

  9. Authorization Codes Expire in 5 Minutes

    • Exchange code for token immediately

    • Don't cache authorization codes

    • See: Token Lifecycle

  10. Device Flow Requires Polling

    • Poll at interval returned by /devicecode (usually 5s)

    • Handle authorization_pending, slow_down, expired_token

    • See: Device Flow


Quick Reference

"Which OAuth flow should I use?"

→ OAuth Flows

"Redirect URI mismatch error (4709)"

→ Redirect URI Issues

"Token expired or invalid"

→ Token Issues

"Refresh token invalid (4735)"

→ Token Refresh - Must save new refresh token

"Scope mismatch error (4711)"

→ Scope Issues

"How do I secure my OAuth app?"

→ PKCE + State Parameter

"How do I implement auto-refresh?"

→ Token Refresh

"What's the difference between Classic and Granular scopes?"

→ Scopes Architecture

"What error code means what?"

→ Common Errors


Document Version

Based on Zoom OAuth API v2 (2024+)

Deprecated: JWT App Type (June 2023)


Happy coding!

Remember: Start with OAuth Flows to understand which flow fits your use case!

Environment Variables

Files

references/classic-scopes.md

Classic OAuth Scopes

Source: https://developers.zoom.us/docs/integrations/oauth-scopes/

Account

account:master

View and manage sub accounts

Associated APIs:

account:read:admin

View account info

Associated APIs:

account:write:admin

View and manage account info

Associated APIs:

Billing

billing:master

View and manage sub account's billing info

Associated APIs:

Calendar

calendar:read

View calendar

Associated APIs:

calendar:read:admin

View calendar

Associated APIs:

calendar:write

Manage calendar

Associated APIs:

calendar:write:admin

Manage calendar

Associated APIs:

Chat

chat:read

View Chat Message Info

Associated APIs:

chat:read:admin

View Chat Message Info

Associated APIs:

chat:write

Manage Chat Message Info

Associated APIs:

chat:write:admin

Manage Chat Message Info

Associated APIs:

chat_channel:read

View current user's team chat channels

Associated APIs:

chat_channel:read:admin

View all users' team chat channels

Associated APIs:

chat_channel:read:member

View team chat channels as a member

Associated APIs:

chat_channel:write

View and manage current user's team chat channels

Associated APIs:

chat_channel:write:admin

View and manage all users' team chat channels

Associated APIs:

chat_contact:read

View current user's team chat contact information

Associated APIs:

chat_contact:write

Send Contact Invitation

Associated APIs:

chat_contact:write:admin

Send contact invitation

Associated APIs:

chat_event:write

Manage your chat event info

Associated APIs:

chat_event:write:admin

Manage account's chat event info

Associated APIs:

View Chat History Legal Hold Info

Associated APIs:

Manage Chat History Legal Hold Info

Associated APIs:

chat_message:read

View current user's team chat messages

Associated APIs:

chat_message:read:admin

View all users' team chat messages

Associated APIs:

chat_message:write

View and manage current user's team chat messages

Associated APIs:

chat_message:write:admin

View and manage all users' team chat messages

Associated APIs:

chat_migration:read:admin

View information about a chat history migration

Associated APIs:

chat_migration:write:admin

Migrate chat history from another vendor

Associated APIs:

imchat:bot

Enable Chatbot within Zoom Team Chat Client

Associated APIs:

imchat:read:admin

View all users history and channels

Associated APIs:

imchat:write

Send a team chat message to a Zoom Team Chat user or channel

Associated APIs:

Clips

clips:read

View your clips information

Associated APIs:

clips:read:admin

View your clips information

Associated APIs:

clips:write

Manage your clips information

Associated APIs:

clips:write:admin

Manage your clips information

Associated APIs:

Conference Room Connector (CRC)

apiconnector:master

This scope allows an app to view and manage sub account’s API Connector information

Associated APIs:

apiconnector:read:admin

This scope allow an app to view all API Connector information

Associated APIs:

apiconnector:write:admin

This scope allow an app to view and manage all API Connector information

Associated APIs:

crc:master

View and manage sub account's CRC configuration

Associated APIs:

crc:read:admin

View and manage CRC configuration

Associated APIs:

crc_account:master

View and manage all sub account's Cisco/Polycom room account setting

Associated APIs:

crc_account:read:admin

View Cisco/Polycom rooms account setting

Associated APIs:

crc_account:write:admin

View and manage Cisco/Polycom rooms account setting

Associated APIs:

crc_rooms:master

View and manage sub account’s managed Cisco and Polycom rooms information

Associated APIs:

crc_rooms:read:admin

View all managed Cisco and Polycom rooms information

Associated APIs:

crc_rooms:write:admin

View and manage all managed Cisco and Polycom rooms information

Associated APIs:

Contact Center

contact_center_attachment:read:admin

View your contact center attachment information

Associated APIs:

contact_center_flow:write:admin

flow write

Associated APIs:

contact_center_messaging:read:admin

Get message

Associated APIs:

contact_center_messaging:write:admin

send message

Associated APIs:

contact_center_routing_profile:write:admin

Edit agent routing profile.

Associated APIs:

contact_center_team:read:admin

View your contact center team information

Associated APIs:

contact_center_team:write:admin

Manage your contact center team information

Associated APIs:

contact_center_user_template:read:admin

View all contact center user template’s details.

Associated APIs:

contact_center_user_template:write:admin

View and manage all contact center user template's details.

Associated APIs:

ContactCenter

contact_center_asset_library:read:admin

View your contact center asset library information

Associated APIs:

contact_center_asset_library:write:admin

Manage your contact center asset library information

Associated APIs:

contact_center_contact:read:admin

View address book information

Associated APIs:

contact_center_contact:write:admin

Update address book information

Associated APIs:

contact_center_disposition:read:admin

View your contact center disposition information

Associated APIs:

contact_center_disposition:write:admin

Manage your contact center disposition information

Associated APIs:

contact_center_engagement:read:admin

View all contact center engagement information

Associated APIs:

contact_center_engagement:write:admin

Manage all contact center engagement information

Associated APIs:

contact_center_flow:read:admin

View all contact center flow information

Associated APIs:

contact_center_inbox:read:admin

View all contact center inbox information

Associated APIs:

contact_center_inbox:write:admin

Manage all contact center inbox information

Associated APIs:

contact_center_note:read:admin

View all contact center note information

Associated APIs:

contact_center_note:write

Manage all contact center note information

Associated APIs:

contact_center_operating_hours:read:admin

View all contact center operating hours information

Associated APIs:

contact_center_operating_hours:write:admin

Manage all contact center operating hours information

Associated APIs:

contact_center_operation_logs:read:admin

Read permission for Operation logs

Associated APIs:

contact_center_outbound_campaign:delete:admin

Delete an Outbound Campaign.

Associated APIs:

contact_center_outbound_campaign:read:admin

View an Outbound Campaign.

Associated APIs:

contact_center_outbound_campaign:update:admin

Update an Outbound Campaign

Associated APIs:

contact_center_outbound_campaign:write:admin

Create an Outbound Campaign

Associated APIs:

contact_center_outbound_campaign_contactlist:read:admin

Get campaign contact list

Associated APIs:

contact_center_outbound_campaign_contactlist:write:admin

Create campaign contact list

Associated APIs:

contact_center_outbound_campaign_contacts:read:admin

Get campaign contact list contact

Associated APIs:

contact_center_outbound_campaign_contacts:write:admin

Create campaign contact list contact

Associated APIs:

contact_center_preference:read:admin

View your contact center preference information

Associated APIs:

contact_center_preference:write:admin

Manage your contact center preference information

Associated APIs:

contact_center_queue:read:admin

View your contact center queue information

Associated APIs:

contact_center_queue:write:admin

Manage your contact center queue information

Associated APIs:

contact_center_recording:read

View your contact center recording information.

Associated APIs:

contact_center_recording:read:admin

View all contact center recording information

Associated APIs:

contact_center_recording:write:admin

Manage all contact center recording information

Associated APIs:

contact_center_region:read:admin

View all contact center region information

Associated APIs:

contact_center_region:write:admin

Manage all contact center region information

Associated APIs:

contact_center_report:read:admin

View all contact center report information

Associated APIs:

contact_center_role:read:admin

View your contact center role information

Associated APIs:

contact_center_role:write:admin

Manage your contact center role information

Associated APIs:

contact_center_routing_profile:read:admin

View routing profile information.

Associated APIs:

contact_center_skill:read:admin

View all contact center skill information

Associated APIs:

contact_center_skill:write:admin

Manage all contact center skill information

Associated APIs:

contact_center_sms:master

View sub account’s SMS log information

Associated APIs:

contact_center_sms:read:admin

View all contact center SMS log information

Associated APIs:

contact_center_user:read:admin

View all contact center user’s details

Associated APIs:

contact_center_user:write:admin

View and manage all contact center user's details

Associated APIs:

contact_center_variable:read:admin

View all contact center variable information

Associated APIs:

contact_center_variable:write:admin

Manage all contact center variable information

Associated APIs:

contact_center_variable_log:read:admin

View variable log information

Associated APIs:

contact_center_variable_log:write:admin

Manage variable log information

Associated APIs:

contact_center_voice_call:master

View sub account’s voice call information

Associated APIs:

contact_center_voice_call:read:admin

view voice call information

Associated APIs:

Contacts

contact:read

View current user's contacts

Associated APIs:

contact:read:admin

View all users' contacts

Associated APIs:

Dashboard

dashboard:master

View sub account's Dashboard data

Associated APIs:

dashboard:read:admin

View Dashboard data

Associated APIs:

dashboard_crc:read:admin

View all users' usage statistics of CRC

Associated APIs:

dashboard_home:read:admin

View overview of usage statistics for Meetings and Zoom Rooms

Associated APIs:

dashboard_im:read:admin

View all users' usage statistics of team chat messages and message types

Associated APIs:

dashboard_meetings:read:admin

View all users' meetings information on Dashboard

Associated APIs:

dashboard_webinars:read:admin

View all users' webinar information on Dashboard

Associated APIs:

dashboard_zr:read:admin

View all users' Zoom Room usage statistics and information

Associated APIs:

Device

device:read:admin

Manage device

Associated APIs:

device:write:admin

View and manage device

Associated APIs:

Devices (H323)

h323:master

View and manage sub account's H.323 devices

Associated APIs:

h323:read:admin

View all users' H.323 devices

Associated APIs:

h323:write:admin

View and manage all users' H.323 devices

Associated APIs:

Docs

docs:delete

Delete a file

Associated APIs:

docs:delete:admin

Delete a file

Associated APIs:

docs:read:admin

Get basic info of the file

Associated APIs:

docs:write:admin

Edit basic info of a file

Associated APIs:

docs_file_uploads:write

Create a file upload

Associated APIs:

docs_file_uploads:write:admin

Create a file upload

Associated APIs:

docs_import:read

Get import task status

Associated APIs:

docs_import:read:admin

Get import task status

Associated APIs:

docs_import:write

Create new file by import

Associated APIs:

docs_import:write:admin

Create new file by import

Associated APIs:

Group

group:master

View and manage sub account's groups

Associated APIs:

group:read:admin

View groups

Associated APIs:

group:write:admin

View and manage groups

Associated APIs:

IM Group

contact_group:read:admin

View all contact group information

Associated APIs:

contact_group:write:admin

Manage all contact group information

Associated APIs:

imgroup:master

View and manage sub account's Zoom Team Chat Groups

Associated APIs:

imgroup:read:admin

View Zoom Team Chat Group information

Associated APIs:

imgroup:write:admin

View and manage Zoom Team Chat Groups

Associated APIs:

Integration Healthcare

clinical_note:read:admin

Read Clinical Notes

clinical_note:update:admin

Update Clinical Notes

Mail

mail:read

Read user’s own mailbox content.

Associated APIs:

mail:read:admin

Read all mailboxes' content under the account, and account level settings.

Associated APIs:

mail:write

Read and write user’s own mailbox content.

Associated APIs:

mail:write:admin

Read and write all mailboxes' content under the account, and account level settings.

Associated APIs:

Marketplace

marketplace_app:master

View and manage sub accounts' marketplace app info

Associated APIs:

marketplace_app:read

View your marketplace app information

Associated APIs:

marketplace_app:read:admin

View marketplace app information for the account

Associated APIs:

marketplace_app:write

Edit marketplace app

Associated APIs:

marketplace_app:write:admin

View and Manage marketplace app information for the account

Associated APIs:

marketplace_custom_fields:read

Read custom field values

Associated APIs:

marketplace_custom_fields:read:admin

Read custom field values

Associated APIs:

marketplace_entitlement:read

View entitlements

Associated APIs:

marketplace_entitlement:read:admin

View entitlements

Associated APIs:

Meeting

information_barriers:read:admin

View information barriers

Associated APIs:

information_barriers:read:master

View information barriers

Associated APIs:

information_barriers:write:admin

View and manage information barriers

Associated APIs:

information_barriers:write:master

View and manage information barriers

Associated APIs:

meeting:master

View and manage sub account's user meetings

Associated APIs:

meeting:read

View your meetings

Associated APIs:

meeting:read:admin

View all user meetings

Associated APIs:

meeting:write

View and manage your meetings

Associated APIs:

meeting:write:admin

View and manage all user meetings

Associated APIs:

meeting:write:admin:sip_dialing

Get CRC dial string with passcode

Associated APIs:

meeting:write:sip_dialing

Get CRC dial string with passcode

Associated APIs:

meeting_summary:master

View and manage sub account's user meeting summaries

Associated APIs:

meeting_summary:read

View your meeting summaries

Associated APIs:

meeting_summary:read:admin

View all user meeting summaries

Associated APIs:

meeting_token:read:admin:live_streaming

View live streaming meeting token information

Associated APIs:

meeting_token:read:admin:local_archiving

View local archiving meeting token information

Associated APIs:

meeting_token:read:admin:local_recording

This scope allows an app to view an account's users' local recording meeting token information

Associated APIs:

meeting_token:read:live_streaming

View live streaming meeting token information

Associated APIs:

meeting_token:read:local_recording

This scope allows an app to view a user's local recording meeting token information

Associated APIs:

NumberManagement

number_management_numbers:read:admin

View all phone number detail in "Number Management".

number_management_numbers:read:master

View and manage sub account's phone number detail in "Number Management".

number_management_numbers:write:admin

Manage phone number detail in "Number Management".

number_management_numbers:write:master

Manage sub account's phone number detail in "Number Management".

PAC

pac:master

Associated APIs:

pac:read

View your audio conference info

Associated APIs:

pac:read:admin

View all users' audio conference info

Associated APIs:

Phone

phone:master

View and manage all sub accounts' Zoom Phone information

Associated APIs:

phone:read

View your phone information

Associated APIs:

phone:read:admin

View all users' phone information

Associated APIs:

phone:write

View and manage your phone information

Associated APIs:

phone:write:admin

View and manage all users' phone information

Associated APIs:

phone_call_log:master

View and manage all subaccounts' call logs

Associated APIs:

phone_call_log:read

View your call history information

Associated APIs:

phone_call_log:read:admin

View all users' call history information

Associated APIs:

phone_call_log:write

View and manage your call log information

Associated APIs:

phone_call_log:write:admin

View and manage all users' call log information

Associated APIs:

phone_peering:master

View and manage subaccounts' E164 numbers sent via peering API

Associated APIs:

phone_peering:read:admin

View the E164 numbers sent via peering API

Associated APIs:

phone_peering:write:admin

View and manage the E164 numbers sent via peering API

Associated APIs:

phone_recording:master

View and manage subaccounts' call recording information

Associated APIs:

phone_recording:read

View your call recording information

Associated APIs:

phone_recording:read:admin

View all users' recording information

Associated APIs:

phone_recording:write

View and manage your call recording information

Associated APIs:

phone_recording:write:admin

View and manage all users' call recording information

Associated APIs:

phone_sms:master

View and manage all sub accounts' Zoom Phone SMS information

Associated APIs:

phone_sms:read

View your Zoom Phone SMS information

Associated APIs:

phone_sms:read:admin

View all users' Zoom Phone SMS information

Associated APIs:

phone_sms:write

View and manage your Zoom Phone SMS information

Associated APIs:

phone_sms:write:admin

View and manage all users' Zoom Phone SMS information

Associated APIs:

phone_voicemail:master

View and manage subaccounts' call voicemails

Associated APIs:

phone_voicemail:read

View your call voicemail information

Associated APIs:

phone_voicemail:read:admin

View all users' call voicemail information

Associated APIs:

phone_voicemail:write

View and manage your call voicemail information

Associated APIs:

phone_voicemail:write:admin

View and manage all users' call voicemail information

Associated APIs:

QualityManagement

qm_evaluations:read

Read evaluations

qm_evaluations:read:admin

Read evaluations

qm_interactions:read

View interactions

qm_interactions:read:admin

View interactions

Recording

recording:master

View and manage sub account's user recordings

Associated APIs:

recording:read

View your recordings

Associated APIs:

recording:read:admin

View all user recordings

Associated APIs:

recording:write

View and manage your recordings

Associated APIs:

recording:write:admin

View and manage all user recordings

Associated APIs:

Report

report:master

View sub account's report data

Associated APIs:

report:read:admin

View report data

Associated APIs:

report_chat:read:admin

View your team chat history report

Associated APIs:

zva_report:read:admin

View zva engagements

Associated APIs:

Role

role:master

View and manage sub account user roles

Associated APIs:

role:read:admin

View all user roles

Associated APIs:

role:write:admin

View and manage all user roles

Associated APIs:

Room

room:master

View and manage sub account's Zoom Rooms information

Associated APIs:

room:read:admin

View all users' Zoom Rooms information

Associated APIs:

room:write:admin

View and manage all users' Zoom Rooms information

Associated APIs:

Rooms Web

room:read:master

View sub account's Zoom Rooms information

Associated APIs:

room:write:master

Manage sub account's Zoom Rooms information

Associated APIs:

SCIM2

scim2

Call Zoom SCIM2 API

Associated APIs:

SIP

sip_phone:master

View and manage sub account's SIP phone information

Associated APIs:

sip_phone:read:admin

View all users' SIP phone information

Associated APIs:

sip_phone:write:admin

View and manage all users' SIP phone information

Associated APIs:

sip_trunk:master

View and manage sub account's SIP trunk information

Associated APIs:

SMS

contact_center_sms:write:admin

send sms

Associated APIs:

Scheduler

scheduler:read

View scheduler

Associated APIs:

scheduler:read:admin

View scheduler

Associated APIs:

scheduler:write

Manage scheduler

Associated APIs:

scheduler:write:admin

Manage scheduler

Associated APIs:

Special

Generate an app deeplink

Associated APIs:

Generate an app deeplink

Associated APIs:

Special&ChatBot

app:notification:read

View chat app notification

Associated APIs:

app:notification:write

View and Manage chat app notification

Associated APIs:

Survey Management

survey:master

View survey information

Associated APIs:

survey:read:admin

View survey information

Associated APIs:

TSP

tsp:master

View and manage sub account's TSP account info

Associated APIs:

tsp:read

View your TSP account info

Associated APIs:

tsp:read:admin

View TSP info

Associated APIs:

tsp:write

View and manage your TSP account info

Associated APIs:

tsp:write:admin

View and manage TSP info

Associated APIs:

Tasks

tasks:delete

Delete user's task(s)

Associated APIs:

tasks:delete:admin

Delete account's task(s)

Associated APIs:

tasks:read

Get user’s task(s)

Associated APIs:

tasks:read:admin

Get account's task(s)

Associated APIs:

tasks:write

Update or trash tasks

Associated APIs:

tasks:write:admin

Management the account's task

Associated APIs:

tasks_assignee:read

View task's assignee(s)

Associated APIs:

tasks_assignee:read:admin

View account's task assignees

Associated APIs:

tasks_assignee:write

Add or remove task's assignee

Associated APIs:

tasks_assignee:write:admin

Add or update task's assignees

Associated APIs:

tasks_collaborator:read

View user's task collaborator information

Associated APIs:

tasks_collaborator:read:admin

View account's task collaborators

Associated APIs:

tasks_collaborator:write

Add or update task's collaborator

Associated APIs:

tasks_collaborator:write:admin

View and update account's task collaborator information

Associated APIs:

tasks_comment:read

Read user's task comment

Associated APIs:

tasks_comment:read:admin

View account's task comment

Associated APIs:

tasks_comment:write

Manage and view the user's task comments

Associated APIs:

tasks_comment:write:admin

View and manage account's task comment.

Associated APIs:

TrackingField

tracking_fields:master

View and manage sub account user tracking fields

Associated APIs:

tracking_fields:read:admin

View all users' tracking fields

Associated APIs:

tracking_fields:write:admin

View and manage all users' tracking fields

Associated APIs:

User

user:master

View and manage sub account's user information

Associated APIs:

user:read

View your user information

Associated APIs:

user:read:admin

View all user information

Associated APIs:

user:write

View and manage your user information

Associated APIs:

user:write:admin

View users information and manage users

Associated APIs:

user_info:read

View user info

Associated APIs:

user_profile

View your profile information

Associated APIs:

user_zak:read

View user’s zak token

Associated APIs:

Visitor Management

visitor_management:read

View visitor management information

Associated APIs:

visitor_management:write

Update visitor management information

Associated APIs:

visitor_management:write:admin

Update visitor management information

Associated APIs:

Webinar

webinar:master

View and manage sub account's user webinars

Associated APIs:

webinar:read

View your webinars

Associated APIs:

webinar:read:admin

View all user Webinars

Associated APIs:

webinar:write

View and manage your webinars

Associated APIs:

webinar:write:admin

View and manage all user Webinars

Associated APIs:

webinar:write:admin:sip_dialing

Get CRC dial string with passcode

Associated APIs:

webinar:write:sip_dialing

Get CRC dial string with passcode

Associated APIs:

webinar_token:read:admin:live_streaming

View live streaming webinar token information

Associated APIs:

webinar_token:read:admin:local_archiving

View local archiving webinar token information

Associated APIs:

webinar_token:read:admin:local_recording

This scope allows an app to view an account's users' local recording webinar token information

Associated APIs:

webinar_token:read:live_streaming

View live streaming webinar token information

Associated APIs:

webinar_token:read:local_recording

This scope allows an app to view a user's local recording webinar token information

Associated APIs:

Whiteboard

whiteboard:read

Get my whiteboard(s)

Associated APIs:

whiteboard:read:admin

Get account’s whiteboard(s)

Associated APIs:

whiteboard:write

Update or trash my whiteboard

Associated APIs:

whiteboard:write:admin

Update or trash my whiteboard

Associated APIs:

whiteboard_collaborator:read:admin

View account's whiteboard collaborator information

Associated APIs:

whiteboard_collaborator:write:admin

View and manage account's whiteboard collaborator information

Associated APIs:

whiteboard_content:read

View and export whiteboard content

Associated APIs:

whiteboard_content:read:admin

View and export account’s whiteboard(s) content

Associated APIs:

whiteboard_export:write

Create my whiteboard export data

Associated APIs:

whiteboard_export:write:admin

Create account's whiteboard export data

Associated APIs:

whiteboard_file:read

View whiteboard file information

Associated APIs:

whiteboard_file:read:admin

View whiteboard file information

Associated APIs:

whiteboard_file:write

View and manage whiteboard file informanation

Associated APIs:

whiteboard_file:write:admin

View and manage account's whiteboard file information

Associated APIs:

whiteboard_import:read

View user's whiteboard import information

Associated APIs:

whiteboard_import:read:admin

View account's whiteboard import information

Associated APIs:

whiteboard_import:write

View and manage user's whiteboard import information

Associated APIs:

whiteboard_import:write:admin

view and manage account's whiteboard import information

Associated APIs:

whiteboard_project:read

View user's project information

Associated APIs:

whiteboard_project:read:admin

View account's project information

Associated APIs:

whiteboard_project:write

View and manage user's project information

Associated APIs:

whiteboard_project:write:admin

View and manage account's project information

Associated APIs:

whiteboard_project_collaborator:read

View user's project collaborator information

Associated APIs:

whiteboard_project_collaborator:read:admin

View account's project collaborator information

Associated APIs:

whiteboard_project_collaborator:write

View and update user's project collaborator information

Associated APIs:

whiteboard_project_collaborator:write:admin

View and update account's project collaborator information

Associated APIs:

whiteboard_share_setting:write

View and manage your whiteboard sharing settings

Associated APIs:

whiteboard_share_setting:write:admin

View and manage account's whiteboard sharing settings

Associated APIs:

Workspace

workspace:read

View workspace reservation information

Associated APIs:

workspace:read:admin

View workspace reservation information for the account

Associated APIs:

workspace:write

Edit workspace reservation information

Associated APIs:

workspace:write:admin

Edit workspace reservation information for the account

Associated APIs:

Zoom AIC

aic_archive:read:admin

View all user's AIC archive files

Zoom Account

data_request:read:admin

Allows viewing and downloading data request information

Associated APIs:

data_request:write:admin

Allows creation and modification of data requests

Associated APIs:

Zoom Auto Dialer

dialer:read:admin

View Dialer

dialer:write:admin

Manage Dialer

Zoom Clips

clips:read:master

view your subAccount clips info

Associated APIs:

Zoom Docs

docs:read

Get basic info of the file

Associated APIs:

docs:write

Edit basic info of a file

Associated APIs:

Zoom Events

View event's Access Link

Associated APIs:

View event's Access Link

Associated APIs:

View and Manage Zoom Event's access links

Associated APIs:

View and Manage Zoom Event's access links

Associated APIs:

zoom_events_attendee_actions:read

View attendee actions performed by host for an event/session

Associated APIs:

zoom_events_attendee_actions:read:admin

View attendee actions performed by host for an event/session

Associated APIs:

zoom_events_attendee_actions:write

View and manage attendee actions performed by host for an event/session

Associated APIs:

zoom_events_attendee_actions:write:admin

View and manage attendee actions performed by host for an event/session

Associated APIs:

zoom_events_basic:read

View your Zoom events

Associated APIs:

zoom_events_basic:read:admin

View all events information

Associated APIs:

zoom_events_basic:write

Manage your Zoom events

Associated APIs:

zoom_events_basic:write:admin

View and manage events information

Associated APIs:

zoom_events_coeditor:write

View and manage coeditor information

Associated APIs:

zoom_events_coeditor:write:admin

View and manage coeditor information

Associated APIs:

zoom_events_coeditors:read

View Zoom event coeditors information

Associated APIs:

zoom_events_coeditors:read:admin

View Zoom events coeditor information

Associated APIs:

zoom_events_email:read

View emails for an event

Associated APIs:

zoom_events_email:read:admin

View emails for an event

Associated APIs:

zoom_events_exhibitors:read

View exhibitor information for an event

Associated APIs:

zoom_events_exhibitors:read:admin

View exhibitor information for an event

Associated APIs:

zoom_events_exhibitors:write

View and manage exhibitor information for an event

Associated APIs:

zoom_events_exhibitors:write:admin

View and manage exhibitor information for an event

Associated APIs:

zoom_events_file:write

zoom events file upload

Associated APIs:

zoom_events_file:write:admin

zoom events file upload account level

Associated APIs:

zoom_events_hub:write

Update Zoom Events hub configuration

Associated APIs:

zoom_events_hub:write:admin

Update Zoom Events hub information

Associated APIs:

zoom_events_hubs:read

View all hubs information

Associated APIs:

zoom_events_hubs:read:admin

View all hubs information

Associated APIs:

zoom_events_registrants:read

View event registrants information

Associated APIs:

zoom_events_registrants:read:admin

View event registrants information

Associated APIs:

zoom_events_reports:read

View Zoom events report

Associated APIs:

zoom_events_reports:read:admin

View Zoom events reports

Associated APIs:

zoom_events_sessions:read

View event session information

Associated APIs:

zoom_events_sessions:read:admin

View event session information

Associated APIs:

zoom_events_sessions:write

View and manage event session information

Associated APIs:

zoom_events_sessions:write:admin

View and manage event session information

Associated APIs:

zoom_events_speakers:read

View event speaker information

Associated APIs:

zoom_events_speakers:read:admin

View event speaker information

Associated APIs:

zoom_events_speakers:write

Manage event speaker information

Associated APIs:

zoom_events_speakers:write:admin

Manage event speaker information

Associated APIs:

zoom_events_ticket_types:read

View all event ticket types

Associated APIs:

zoom_events_ticket_types:read:admin

View all event ticket types

Associated APIs:

zoom_events_ticket_types:write

View and manage event ticket types

Associated APIs:

zoom_events_ticket_types:write:admin

View and manage event ticket types

Associated APIs:

zoom_events_tickets:read

View event tickets and event ticket details

Associated APIs:

zoom_events_tickets:read:admin

View event tickets information

Associated APIs:

zoom_events_tickets:write

Create event tickets

Associated APIs:

zoom_events_tickets:write:admin

View and manage event tickets information

Associated APIs:

zoom_events_vod_channels:read

View on-demand video channels

Associated APIs:

zoom_events_vod_channels:read:admin

View on-demand video channels

Associated APIs:

zoom_events_vod_channels:write

View and manage on-demand video channels

Associated APIs:

zoom_events_vod_channels:write:admin

View and manage on-demand video channels

Associated APIs:

zoom_events_vod_registration:read

Read VOD channel registrations

Associated APIs:

zoom_events_vod_registration:read:admin

Read VOD channel registration settings

Associated APIs:

zoom_events_vod_registration:write

Update VOD channel registrations

Associated APIs:

zoom_events_vod_registration:write:admin

Update VOD channel registrations

Associated APIs:

zoom_events_vod_reports:read

Zoom Events VOD reports

Associated APIs:

zoom_events_vod_reports:read:admin

Zoom events VOD reports

Associated APIs:

Zoom IQ

iq_account:read:admin

View all account settings information

Associated APIs:

iq_coaching:read

View your coaching information

Associated APIs:

iq_coaching:read:admin

View all coaching information

Associated APIs:

iq_comment:read

View your comments information

Associated APIs:

iq_comment:read:admin

Manage all comments information

Associated APIs:

iq_comment:write

Mangage your comments information

Associated APIs:

iq_comment:write:admin

Manage all comments information

Associated APIs:

iq_conversation:read

View your conversations information

Associated APIs:

iq_conversation:read:admin

View all conversations information

Associated APIs:

iq_conversation:write

Manage your conversations information

Associated APIs:

iq_conversation:write:admin

Manage all conversations information

Associated APIs:

iq_deal:read

Retrieve ZoomIQ Deal information with activity

Associated APIs:

iq_deal:read:admin

Retrieve ZoomIQ Deal information with activity

Associated APIs:

iq_deal:write

View and manage deal activities

Associated APIs:

iq_deal:write:admin

View and manage deal activities

Associated APIs:

iq_playlist:read

View all playlists information

Associated APIs:

iq_playlist:read:admin

View all playlists information

Associated APIs:

iq_team:read

Get team info in User level

Associated APIs:

iq_team:read:admin

Get team info

Associated APIs:

iq_team:write:admin

team resource read&edit

Associated APIs:

Zoom Meeting

meeting_summary:write

View and manage your meeting summaries

Associated APIs:

meeting_summary:write:admin

View and manage all user meeting summaries

Associated APIs:

Zoom Quality Management

qm_interactions:write

Manage the interactions.

qm_interactions:write:admin

Manage the interactions.

Zoom User

division:read:admin

View divisions

Associated APIs:

division:wirte:admin

View and manage divisions

Associated APIs:

Zoom Video Management

video_mgmt_channels:read

View video channels information

Associated APIs:

video_mgmt_channels:read:admin

View video channels information

Associated APIs:

video_mgmt_channels:write

Manage video channels

Associated APIs:

video_mgmt_channels:write:admin

Manage video channels

Associated APIs:

video_mgmt_file:write

Upload file to video management

Associated APIs:

video_mgmt_file:write:admin

upload a file to video management

Associated APIs:

video_mgmt_playlists:read

View playlists

Associated APIs:

video_mgmt_playlists:read:admin

View playlists

Associated APIs:

video_mgmt_playlists:write

Manage playlists

Associated APIs:

video_mgmt_playlists:write:admin

Manage playlists

Associated APIs:

video_mgmt_videos:read

View videos information

Associated APIs:

video_mgmt_videos:read:admin

View videos information

Associated APIs:

ZoomCommerce

zoom_commerce:read:admin

Zoom commerce API read access for account admin

Associated APIs:

zoom_commerce:write:admin

Zoom Commerce API write access for account admin

Associated APIs:

ZoomVirtualAgent

zva:read:km_kbs

View your knowledge bases and articles

Associated APIs:

zva:write:km_kbs

View and manage your knowledge bases and articles

Associated APIs:

zva_report:read

View zva engagements

Associated APIs:

workforce_management

workforce_management:read:admin

View workforce management information

Associated APIs:

Requirements and compatibility

Written for: Claude Code, Claude apps

Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta

“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.

Needs: Claude Code frontmatter

Security

No issues found by our static scan· No issues found

A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.

Attribution and licence

Created by
Zoom
Publisher
Anthropic (Official)
Distributed by
Anthropic
Source
anthropics/knowledge-work-plugins · partner-built/zoom-plugin/skills/oauth · commit e050c2e
Licence
MIT License (redistribution allowed)
  • LICENSE (added by AutoGineer from partner-built/zoom-plugin/LICENSE)
  • ATTRIBUTION.md (written by AutoGineer)
Synced

AutoGineer is not affiliated with or endorsed by Zoom or Anthropic.

Download ZIP

The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download zoom-oauth.zip