Setting the file. One moment.
Skill 132 · Build Zoom REST API App
Subchapter 132.21
references/openapi.mdMarkdown4 KBView on GitHub
Zoom provides OpenAPI specifications for API client generation and tooling integration.
| Property | Value |
|---|---|
| Format | Swagger 2.0 (JSON) |
| Status | Deprecated - Last updated November 2018 |
| Coverage | ~103 endpoints (subset of full API) |
| Download | openapi.v2.json (opens in a new tab) |
| Repository | github.com/zoom/api (opens in a new tab) |
| Property | Value |
|---|---|
| Format | Swagger 2.0 (JSON) |
| Status | Deprecated |
| Coverage | ~93 endpoints |
| Download | openapi.v2.json (opens in a new tab) |
| Repository | github.com/zoom/api-v1 (opens in a new tab) |
The official OpenAPI specs only cover a small subset of Zoom’s 600+ endpoints:
| Covered | NOT Covered |
|---|---|
| Meetings | Phone API |
| Users | Team Chat API |
| Accounts | Mail API |
| Groups | Calendar API |
| Reports | Rooms API |
| Webinars | Clips API |
| H.323 Devices | Whiteboard API |
| IM Groups | Contact Center API |
| AI Companion API | |
| 20+ other modern APIs |
Instead of using the outdated OpenAPI specs, Zoom recommends using Zoom Rivet - their official API client library.
npm install @zoom/rivetimport Zoom from '@zoom/rivet';
const zoom = new Zoom({
accountId: process.env.ZOOM_ACCOUNT_ID,
clientId: process.env.ZOOM_CLIENT_ID,
clientSecret: process.env.ZOOM_CLIENT_SECRET,
});
// Create a meeting
const meeting = await zoom.meetings.create({
userId: 'me',
body: {
topic: 'My Meeting',
type: 2,
duration: 60,
},
});
// List users
const users = await zoom.users.list();
// Get recordings
const recordings = await zoom.cloudRecordings.list({
userId: 'me',
from: '2024-01-01',
to: '2024-01-31',
});| Aspect | OpenAPI Specs | Zoom Rivet |
|---|---|---|
| Coverage | ~103 endpoints | Full API |
| Maintenance | Deprecated (2018) | Actively maintained |
| Type Safety | Requires codegen | Built-in TypeScript |
| Auth Handling | Manual | Automatic token management |
| Pagination | Manual | Built-in helpers |
| Rate Limiting | Manual | Built-in retry logic |
If you still need the OpenAPI specs (e.g., for custom tooling), here’s how to use them:
# Download Zoom API v2 spec
curl -o zoom-api-v2.json \
https://raw.githubusercontent.com/zoom/api/442998230a148f403c3d1de1fe7aa54937354fa9/openapi.v2.json# Using openapi-generator
npm install @openapitools/openapi-generator-cli -g
openapi-generator-cli generate \
-i zoom-api-v2.json \
-g typescript-fetch \
-o ./zoom-clientopenapi-generator-cli generate \
-i zoom-api-v2.json \
-g python \
-o ./zoom-client-pythonThe Zoom OpenAPI specs have known issues that may cause errors during code generation:
| Issue | Workaround |
|---|---|
| Enum type mismatches | Manually fix integer/string enum definitions |
| Missing required fields | Add required fields to generated models |
| Invalid syntax | Validate and fix JSON before generation |
| Outdated endpoints | Supplement with manual API calls for new endpoints |
For interactive API exploration, Zoom provides a Postman collection:
# Import to Postman
# 1. Open Postman
# 2. Click Import
# 3. Enter URL: https://www.postman.com/zoom-developer/zoom-developer-apiFor the most up-to-date API documentation, use the official reference: