Zoom Oauth
AnthropicOfficialCreated by ZoomDistributed by Anthropic
- Skill
- Tool integration
- Automation and integrations
- MIT
- No issues found
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
Download the skill as a ZIP:
https://mp-staging.autogineer.com/agent-skills/anthropics/zoom-oauth/downloadUnzip 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:
5-Minute Runbook - Preflight checks before deep debugging
OAuth Flows - Which flow to use and how each works
Token Lifecycle - Expiration, refresh, and revocation
Production Examples - Redis caching, MySQL storage, auto-refresh
Troubleshooting - Error codes 4700-4741
Prerequisites
Zoom app created in Marketplace
Client ID and Client Secret
For S2S OAuth: Account ID
Four Authorization Use Cases
| Use Case | App Type | Grant Type | Industry Name |
|---|---|---|---|
| Account Authorization | Server-to-Server | account_credentials | Client Credentials Grant, M2M, Two-legged OAuth |
| User Authorization | General | authorization_code | Authorization Code Grant, Three-legged OAuth |
| Device Authorization | General | urn:ietf:params:oauth:grant-type:device_code | Device Authorization Grant (RFC 8628) |
| Client Authorization | General | client_credentials | Client Credentials Grant (chatbot-scoped) |
Industry Terminology
| Term | Meaning |
|---|---|
| Two-legged OAuth | No user involved (client ↔ server) |
| Three-legged OAuth | User involved (user ↔ client ↔ server) |
| M2M | Machine-to-Machine (backend services) |
| Public client | Can't keep secrets (mobile, SPA) → use PKCE |
| Confidential client | Can keep secrets (backend servers) |
| PKCE | Proof 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:
| Parameter | Description |
|---|---|
state | CSRF protection, maintains state through flow |
code_challenge | For PKCE (see below) |
code_challenge_method | S256 or plain (default: plain) |
Step 2: User Authorizes
User signs in and grants permission
Redirects to
redirect_uriwith 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
| Type | Who Can Authorize | Scope Access |
|---|---|---|
| User-level | Any individual user | Scoped to themselves |
| Account-level | User with admin permissions | Account-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_uriand displayuser_codefor manual entry, ORverification_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
| Response | Meaning | Action |
|---|---|---|
| Token returned | User authorized | Store tokens, done |
error: authorization_pending | User hasn't authorized yet | Keep polling at interval |
error: slow_down | Polling too fast | Increase interval by 5 seconds |
error: expired_token | Device code expired (15 min) | Restart flow from Step 1 |
error: access_denied | User denied authorization | Handle 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:
| Endpoint | Methods |
|---|---|
/v2/users/me | GET, PATCH |
/v2/users/me/token | GET |
/v2/users/me/meetings | GET, 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 Type | Use PKCE? | Why |
|---|---|---|
| Mobile app | Yes | Can't securely store client secret |
| Single Page App (SPA) | Yes | JavaScript is visible to users |
| Desktop app | Yes | Binary can be decompiled |
| Meeting SDK (client-side) | Yes | Runs on user's device |
| Backend server | Optional | Can 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 callbackToken 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
| Type | Description | For |
|---|---|---|
| Classic scopes | Legacy scopes (user, admin, master levels) | Existing apps |
| Granular scopes | New fine-grained scopes with optional support | New 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>
| Component | Values |
|---|---|
| service | meeting, webinar, user, recording, etc. |
| action | read, write, update, delete |
| data_claim | Data category (e.g., participants, settings) |
| access | empty (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
Manage > select app > edit
Scope page > Development tab > click Migrate
Review auto-assigned granular scopes, remove unnecessary, mark optional
Test
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
| Code | Message | Solution |
|---|---|---|
| 4700 | Token cannot be empty | Check Authorization header has valid token |
| 4702/4704 | Invalid client | Verify Client ID and Client Secret |
| 4705 | Grant type not supported | Use: account_credentials, authorization_code, urn:ietf:params:oauth:grant-type:device_code, or client_credentials |
| 4706 | Client ID or secret missing | Add credentials to header or request params |
| 4709 | Redirect URI mismatch | Ensure redirect_uri matches app configuration exactly (including trailing slash) |
| 4711 | Refresh token invalid | Token scopes don't match client scopes |
| 4717 | App has been disabled | Contact Zoom support |
| 4733 | Code is expired | Authorization codes expire in 5 minutes - restart flow |
| 4734 | Invalid authorization code | Regenerate authorization code |
| 4735 | Owner of token does not exist | User was removed from account - re-authorize |
| 4741 | Token has been revoked | Use the most recent token from latest authorization |
See references/oauth-errors.md for complete error list.
Quick Reference
| Flow | Grant Type | Token Expiry | Refresh |
|---|---|---|---|
| Account (S2S) | account_credentials | 1 hour | Request new token |
| User | authorization_code | 1 hour | Use refresh_token (90 day expiry) |
| Device | urn:ietf:params:oauth:grant-type:device_code | 1 hour | Use refresh_token (90 day expiry) |
| Client (Chatbot) | client_credentials | 1 hour | Request 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
OAuth docs: https://developers.zoom.us/docs/integrations/oauth/
S2S OAuth docs: https://developers.zoom.us/docs/internal-apps/s2s-oauth/
PKCE blog: https://developers.zoom.us/blog/pcke-oauth-with-postman-rest-api/
Classic scopes: https://developers.zoom.us/docs/integrations/oauth-scopes/
Granular scopes: https://developers.zoom.us/docs/integrations/oauth-scopes-granular/
Integrated Index
This section was migrated from SKILL.md.
Quick Start Path
If you're new to Zoom OAuth, follow this order:
Run preflight checks first → RUNBOOK.md
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?
Understand token lifecycle → concepts/token-lifecycle.md
CRITICAL: How tokens expire, refresh, and revoke
Common pitfalls: refresh token rotation
Implement your flow → Jump to examples:
Backend automation → examples/s2s-oauth-redis.md
SaaS app → examples/user-oauth-mysql.md
Mobile/SPA → examples/pkce-implementation.md
Device (TV/kiosk) → examples/device-flow.md
Fix redirect URI issues → troubleshooting/redirect-uri-issues.md
Most common OAuth error: Redirect URI mismatch
Implement token refresh → examples/token-refresh.md
Automatic middleware pattern
Handle refresh token rotation
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 referenceBy Use Case
I want to automate Zoom tasks on my own account
OAuth Flows - S2S OAuth explained
S2S OAuth Redis - Production pattern with Redis caching
Token Lifecycle - 1hr token, no refresh
I want to build a SaaS app for other Zoom users
OAuth Flows - User OAuth explained
User OAuth MySQL - Production pattern with encryption
Token Refresh - Automatic refresh middleware
Redirect URI Issues - Fix most common error
I want to build a mobile or SPA app
PKCE - Why PKCE is required for public clients
PKCE Implementation - Complete code example
State Parameter - CSRF protection
I want to build an app for devices without browsers (TV, kiosk)
OAuth Flows - Device flow explained
Device Flow Example - Complete polling implementation
Common Errors - Device-specific errors
I'm building a Team Chat bot
OAuth Flows - Chatbot flow explained
S2S OAuth Basic - Similar pattern, different grant type
Scopes Architecture - Chatbot-specific scopes
I'm getting redirect URI errors (4709)
Redirect URI Issues - START HERE!
Common Errors - Error details
User OAuth Basic - See correct pattern
I'm getting token errors (4700-4741)
Token Issues - Diagnostic workflow
Token Lifecycle - Understand expiration
Token Refresh - Implement auto-refresh
Common Errors - Error code tables
I'm getting scope errors (4711)
Scope Issues - Mismatch causes
Scopes Architecture - Classic vs Granular
Classic Scopes - Complete scope reference
Granular Scopes - Granular scope reference
I need to refresh tokens
Token Lifecycle - When to refresh
Token Refresh - Middleware pattern
Token Issues - Common mistakes
I want to understand the difference between Classic and Granular scopes
Scopes Architecture - Complete comparison
Classic Scopes -
resource:levelformatGranular Scopes -
service:action:data_claim:accessformat
I need to secure my OAuth implementation
PKCE - Public client security
State Parameter - CSRF protection
User OAuth MySQL - Token encryption at rest
I want to migrate from JWT app to S2S OAuth
S2S OAuth Redis - Modern replacement
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)
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)
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:
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
S2S OAuth Uses Redis, User OAuth Uses Database
S2S: Single token for entire account → Redis (ephemeral)
User: Per-user tokens → Database (persistent)
See: S2S OAuth Redis vs User OAuth MySQL
Redirect URI Must Match EXACTLY
Trailing slash matters:
/callback≠/callback/Protocol matters:
http://≠https://Port matters:
:3000≠:3001See: Redirect URI Issues
PKCE Required for Public Clients
Mobile apps CANNOT keep secrets
SPAs CANNOT keep secrets
PKCE prevents authorization code interception
See: PKCE
State Parameter Prevents CSRF
Generate random state before redirect
Store in session
Verify on callback
See: State Parameter
Token Storage Must Be Encrypted
NEVER store tokens in plain text
Use AES-256 minimum
See: User OAuth MySQL
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
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
Authorization Codes Expire in 5 Minutes
Exchange code for token immediately
Don't cache authorization codes
See: Token Lifecycle
Device Flow Requires Polling
Poll at interval returned by
/devicecode(usually 5s)Handle
authorization_pending,slow_down,expired_tokenSee: Device Flow
Quick Reference
"Which OAuth flow should I use?"
"Redirect URI mismatch error (4709)"
"Token expired or invalid"
"Refresh token invalid (4735)"
→ Token Refresh - Must save new refresh token
"Scope mismatch error (4711)"
"How do I secure my OAuth app?"
→ PKCE + State Parameter
"How do I implement auto-refresh?"
"What's the difference between Classic and Granular scopes?"
"What error code means what?"
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
See references/environment-variables.md for standardized
.envkeys and where to find each value.
Files
- ATTRIBUTION.mdAdded by AutoGineer971 B
- LICENSELicence file added by AutoGineer1.1 KiB
- RUNBOOK.md3.3 KiB
- SKILL.md32.2 KiB
- concepts/oauth-flows.md22.2 KiB
- concepts/pkce.md13.8 KiB
- concepts/scopes-architecture.md6.7 KiB
- concepts/state-parameter.md8.1 KiB
- concepts/token-lifecycle.md15.1 KiB
- examples/device-flow.md371 B
- examples/pkce-implementation.md379 B
- examples/s2s-oauth-basic.md375 B
- examples/s2s-oauth-redis.md6.6 KiB
- examples/token-refresh.md373 B
- examples/user-oauth-basic.md376 B
- examples/user-oauth-mysql.md376 B
- references/classic-scopes.md362.3 KiB
- references/environment-variables.md863 B
- references/granular-scopes.md368.4 KiB
- references/oauth-errors.md4.8 KiB
- troubleshooting/common-errors.md458 B
- troubleshooting/redirect-uri-issues.md229 B
- troubleshooting/scope-issues.md222 B
- troubleshooting/token-issues.md222 B
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:
Move the specified event from a calendar to another specified calendar
Delete an existing calendar from the user's own calendarList
Patch the specified user calendar settings of the authenticated user
calendar:write:admin
Manage calendar
Associated APIs:
Delete an existing calendar from the user's own calendarList
Patch the specified user calendar settings of the authenticated user
Move the specified event from a calendar to another specified calendar
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:
chat_history_legal_hold:read:admin
View Chat History Legal Hold Info
Associated APIs:
chat_history_legal_hold:write:admin
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: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:
List users' phone numbers for a customized outbound caller ID
Add phone numbers for an account's customized outbound caller ID
Update opt statuses of phone numbers assigned to SMS campaign
Delete phone numbers for an account's customized outbound caller ID
List an account's customized outbound caller ID phone numbers
Remove all monitors or monitored members from a monitoring group
Update common area level outbound calling countries or regions
Get common area level outbound calling countries and regions
phone:read
View your phone information
Associated APIs:
phone:read:admin
View all users' phone information
Associated APIs:
Get common area level outbound calling countries and regions
List an account's customized outbound caller ID phone numbers
List users' phone numbers for a customized outbound caller ID
phone:write
View and manage your phone information
Associated APIs:
phone:write:admin
View and manage all users' phone information
Associated APIs:
Update opt statuses of phone numbers assigned to SMS campaign
Update common area level outbound calling countries or regions
Add phone numbers for an account's customized outbound caller ID
Delete phone numbers for an account's customized outbound caller ID
Remove all monitors or monitored members from a monitoring group
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
app:deeplink:write
Generate an app deeplink
Associated APIs:
app:deeplink:write:admin
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
zoom_events_access_links:read
View event's Access Link
Associated APIs:
zoom_events_access_links:read:admin
View event's Access Link
Associated APIs:
zoom_events_access_links:write
View and Manage Zoom Event's access links
Associated APIs:
zoom_events_access_links:write:admin
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:
Update conversation host id to new host id by conversation id [Deprecated]
Add conversation by meeting record url or meeting UUID. [Deprecated]
Update conversation host id to new host id by conversation id
iq_conversation:write:admin
Manage all conversations information
Associated APIs:
Update conversation host id to new host id by conversation id [Deprecated]
Add conversation by meeting record url or meeting UUID. [Deprecated]
Update conversation host id to new host id by conversation id
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:
Get the list of all accounts associated with a Zoom Partner/Sub-Reseller, by the account type
Gets details of all files associated with a quote or deal registration
Get detailed information about a specific invoice for a distributor or a reseller
Gets details of a deal registration by the deal registration
Retrieves all valid Zoom Campaigns which a deal registration can be associated with.
Download a file associated with a quote or deal registration.
Get trial details for an end customer by their Zoom account number or the trial ID
Gets subscription changes/versions for a given subscription number.
Get the account details for a Zoom Partner/Subreseller/End Customer
zoom_commerce:write:admin
Zoom Commerce API write access for account admin
Associated APIs:
Upload an attachment pdf file in context of a deal registration or quote
Add contacts to an existing end customer or your own account.
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