Skip to content
Business
Skill

/rest-api

Reference skill for Zoom REST API. Use after choosing an API-based workflow when you need endpoint selection, resource-management patterns, OAuth requirements, rate-limit awareness, or API error debugging.

From plugin
knowledge-work-plugins
35k200 skills5 agents15 commands40 MCP

Claude Code

$ npx -y skills add anthropics/knowledge-work-plugins --skill rest-api --agent claude-code

SKILL.md

rest-api.SKILL.md
name: build-zoom-rest-api-app
description: "Reference skill for Zoom REST API. Use after choosing an API-based workflow when you need endpoint selection, resource-management patterns, OAuth requirements, rate-limit awareness, or API error debugging."
triggers:
  - "api call"
  - "rest api"
  - "api create meeting"
  - "api get meeting"
  - "api list meetings"
  - "api update meeting"
  - "api delete meeting"
  - "meeting endpoint"
  - "/v2/meetings"
  - "create user"
  - "zoom api"
  - "api endpoint"
  - "recordings api"
  - "users api"
  - "webinars api"
  - "server-to-server oauth"
  - "account_credentials"
  - "account id"
  - "invalid access token"
  - "does not contain scopes"
  - "access token is expired"
  - "webhook verification"
  - "crc"
  - "download_url"

/build-zoom-rest-api-app

Background reference for deterministic server-side Zoom automation and resource management. Prefer `plan-zoom-product`, `plan-zoom-integration`, or `debug-zoom` first, then route here for endpoint-level detail.

Zoom REST API

Expert guidance for building server-side integrations with the Zoom REST API. This API provides 600+ endpoints for managing meetings, users, webinars, recordings, reports, and all Zoom platform resources programmatically.

**Official Documentation**: https://developers.zoom.us/api-hub/ **API Hub Reference**: https://developers.zoom.us/api-hub/meetings/ **OpenAPI Inventories**: `https://developers.zoom.us/api-hub/<domain>/methods/endpoints.json`

Quick Links

**New to Zoom REST API? Follow this path:**

1. **[API Architecture](concepts/api-architecture.md)** - Base URLs, regional URLs, `me` keyword, ID vs UUID, time formats 2. **[Authentication Flows](concepts/authentication-flows.md)** - OAuth setup (S2S, User, PKCE, Device Code) 3. **[Meeting URLs vs Meeting SDK](concepts/meeting-urls-and-sdk-joining.md)** - Stop mixing `join_url` with Meeting SDK 3. **[Meeting Lifecycle](examples/meeting-lifecycle.md)** - Create → Update → Start → End → Delete with webhooks 4. **[Rate Limiting Strategy](concepts/rate-limiting-strategy.md)** - Plan tiers, per-user limits, retry patterns

**Reference:**

  • **[Meetings](references/meetings.md)** - Meeting CRUD, types, settings
  • **[Users](references/users.md)** - User provisioning and management
  • **[Recordings](references/recordings.md)** - Cloud recording access and download
  • **[AI Services](references/ai-services.md)** - Scribe endpoint inventory and current AI Services path surface
  • **[GraphQL Queries](examples/graphql-queries.md)** - Alternative query API (beta)
  • **Integrated Index** - see the section below in this file

Most domain files under `references/` are aligned to the official API Hub `endpoints.json` inventories. Treat those files as the local source of truth for method/path discovery.

**Having issues?**

  • Start with preflight checks → [5-Minute Runbook](RUNBOOK.md)
  • 401 Unauthorized → [Authentication Flows](concepts/authentication-flows.md) (check token expiry, scopes)
  • 429 Too Many Requests → [Rate Limiting Strategy](concepts/rate-limiting-strategy.md)
  • Error codes → [Common Errors](troubleshooting/common-errors.md)
  • Pagination confusion → [Common Issues](troubleshooting/common-issues.md)
  • Webhooks not arriving → [Webhook Server](examples/webhook-server.md)
  • Forum-derived FAQs → [Forum Top Questions](troubleshooting/forum-top-questions.md)
  • Token/scope failures → [Token + Scope Playbook](troubleshooting/token-scope-playbook.md)

**Building event-driven integrations?**

  • [Webhook Server](examples/webhook-server.md) - Express.js server with CRC validation
  • [Recording Pipeline](examples/recording-pipeline.md) - Auto-download via webhook events

Quick Start

Get an Access Token (Server-to-Server OAuth)

curl -X POST "https://zoom.us/oauth/token" \
  -H "Authorization: Basic $(echo -n 'CLIENT_ID:CLIENT_SECRET' | base64)" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "grant_type=account_credentials&account_id=ACCOUNT_ID"

Response:

{
  "access_token": "eyJhbGciOiJIUzI1NiJ9...",
  "token_type": "bearer",
  "expires_in": 3600,
  "scope": "meeting:read meeting:write user:read"
}

Create a Meeting

curl -X POST "https://api.zoom.us/v2/users/HOST_USER_ID/meetings" \
  -H "Authorization: Bearer ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "topic": "Team Standup",
    "type": 2,
    "start_time": "2025-03-15T10:00:00Z",
    "duration": 30,
    "settings": {
      "join_before_host": false,
      "waiting_room": true
    }
  }'

For S2S OAuth, use an explicit host user ID or email in the path. Do not use `me`.

List Users with Pagination

curl "https://api.zoom.us/v2/users?page_size=300&status=active" \
  -H "Authorization: Bearer ACCESS_TOKEN"

Base URL

https://api.zoom.us/v2

Regional Base URLs

The `api_url` field in OAuth token responses indicates the user's region. Use regional URLs for data residency compliance:

| Region | URL | |--------|-----| | Global (default) | `https://api.zoom.us/v2` | | Australia | `https://api-au.zoom.us/v2` | | Canada | `https://api-ca.zoom.us/v2` | | European Union | `https://api-eu.zoom.us/v2` | | India | `https://api-in.zoom.us/v2` | | Saudi Arabia | `https://api-sa.zoom.us/v2` | | Singapore | `https://api-sg.zoom.us/v2` | | United Kingdom | `https://api-uk.zoom.us/v2` | | United States | `https://api-us.zoom.us/v2` |

**Note:** You can always use the global URL `https://api.zoom.us` regardless of the `api_url` value.

Key Features

| Feature | Description | |---------|-------------| | **Meeting Management** | Create, read, update, delete meetings with full scheduling control | | **User Provisioning** | Automated user lifecycle (create, update, deactivate, delete) | | **Webinar Operations** | Webinar CRUD, registrant management, panelist control | | **Cloud Recordings** | List, download, delete recordings with file-type filtering | | **Reports & Analytics** |

Read more
@anthropics-2
Ships withknowledge-work-plugins

Plugins that turn Claude into a specialist for your role, team, and company. Built for Claude Cowork, also compatible with Claude Code.

35k200 skills5 agents40 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
35.3k
Star history of anthropics/knowledge-work-plugins on GitHub, a chart by star-history.com

Other skills on knowledge-work-plugins.

More skills from other plugins.

opc-asset-ops

opc-asset-ops

Turn repeatable outputs of a one-person company into compounding assets. Use when Codex needs to explain asset-compounding…

@easychen@easychenInstall Skill
dbs

dbs

dontbesilent 商业工具箱的技能调度台,根据当前问题和反馈选择下一步,在对话中直接执行、澄清、组合或对照尝试 Skill。用户不知道从哪里开始、需要调整处理方法、第一次使用…

dbs2d11k
@dontbesilent2025@dontbesilent2025Install Skill
money

money

Main entry point for the Show Me The Money business automation suite. Dual mode: pre-task routing (which skill fits your problem)…

@iamzifei@iamzifeiInstall Skill

Questions about rest-api.

Which coding agents can use rest-api?
rest-api installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.