Generated banner for Build Zoom Rest API App
Generated logo for Build Zoom Rest API App

Build Zoom Rest API App

OpenAIOfficialCreated by ZoomDistributed by OpenAI

  • Skill
  • Tool integration
  • Software development
  • MIT
  • Medium risk

From the author

Use when calling REST APIs.
— the description by Zoom

AutoGineer summary

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

This skill provides a structured approach to interacting with the Zoom REST API. It offers guidance on selecting appropriate authentication flows, managing resources such as meetings and users, and implementing robust API interaction patterns like pagination and rate-limit handling. It includes reference documentation for various Zoom product areas, including account management and AI Companion services, to assist developers in building API-integrated applications.

What it does

  • Provides endpoint inventories for Zoom API product areas.
  • Outlines authentication requirements for user-level, account-level, and server-to-server workflows.
  • Defines patterns for implementing API wrappers with pagination and retry logic.
  • Offers guidance on webhook processing, including signature verification.
  • Assists in troubleshooting common API issues like scope mismatches and rate limits.

When to use it

  • When developing applications that need to programmatically manage Zoom meetings, users, or recordings.
  • When integrating Zoom account settings or dashboard metrics into custom software.
  • When setting up event-driven workflows using Zoom webhooks.
  • When debugging authentication or scope-related errors during Zoom API integration.

Advantages

  • Centralizes access to official Zoom API endpoint documentation.
  • Standardizes the implementation of API interaction patterns.
  • Clarifies the selection of correct authentication scopes for different API operations.
  • Provides a clear methodology for handling API rate limits and resource management.

Usage examples

“How do I list meeting participants using the Zoom API?”
The agent provides the correct endpoint path from the dashboard references and explains the necessary OAuth scopes and pagination requirements.
“What authentication should I use for an account-level Zoom integration?”
The agent guides you through the account-level OAuth flow requirements as defined in the authentication documentation.

Install

  1. Download the skill as a ZIP:

    https://autogineer.com/agent-skills/openai/build-zoom-rest-api-app/download
  2. Unzip it into the cross-client skills folder of your project:

    mkdir -p .agents/skills && unzip build-zoom-rest-api-app.zip -d .agents/skills

Documentation by Zoom

Build Zoom REST API App

Use this skill when the task needs deterministic Zoom API calls or resource management from application code.

Workflow

  1. Define the resource and actor: user, meeting, webinar, recording, docs, chat, phone, account, or admin-level workflow.

  2. Select the endpoint and required scopes from the reference files before coding.

  3. Confirm auth fit: user-level OAuth for user-owned resources, account-level OAuth for admin workflows, and only use server-to-server OAuth where the target API documents support for it.

  4. Implement narrow API wrappers with explicit pagination, retry, idempotency, and rate-limit handling.

  5. Treat webhook processing as a separate event-ingestion path with signature verification and replay protection.

  6. Debug by checking token audience, missing scopes, resource ownership, account settings, API enablement, and rate-limit headers.

References

Files

references/rooms.md

Zoom Rooms API

Authoritative endpoint inventory for Rooms. This file mirrors the official Zoom API Hub OpenAPI document for this product area.

Canonical Source

Notes

  • Endpoint methods and paths below are generated from the official Zoom API Hub paths object.

  • Scope names are defined per operation and frequently use granular scope names. Check the API Hub operation page for the exact scopes before implementation.

  • Use this file for endpoint discovery and inventory. Use ../examples/ for orchestration patterns, not as the canonical source of path names.

Coverage

MetricValue
Endpoint operations121
Path templates70
Tags10

Tag Index

TagOperations
Room Apps1
Visitor Management6
Workspaces33
Zoom Rooms20
Zoom Rooms Account4
Zoom Rooms Calendar7
Zoom Rooms Content31
Zoom Rooms Devices2
Zoom Rooms Location10
Zoom Rooms Tags7

Endpoints by Tag

Room Apps
MethodEndpointSummaryOperation ID
POST/rooms/controller/apps/configConfig Zoom Room Controller AppsConfigZoomRoomControllerApps
Visitor Management
MethodEndpointSummaryOperation ID
GET/visitor/invitationGet a list of visitors by locationinvitationList
POST/visitor/invitationSend an invitationcreateInvitation
DELETE/visitor/invitation/{invitationId}Delete an InvitationdeleteInvitation
GET/visitor/invitation/{invitationId}Invitation details by invitationIDgetInvitation
PATCH/visitor/invitation/{invitationId}Update an invitationupdateInvitation
POST/visitor/invitation/{invitationId}/checkinCheck in a visitorcheckinVisitor
Workspaces
MethodEndpointSummaryOperation ID
GET/workspacesList workspaceslistWorkspaces
POST/workspacesCreate a workspacecreateWorkspace
GET/workspaces/additional_informationsList workspace additional information with time rangeGetaworkspaceadditionalenhancements
GET/workspaces/assetsGet all workspace assetsGetallworkspaceassets
POST/workspaces/assetsCreate a workspace assetAddaWorkspaceasset
DELETE/workspaces/assets/{assetId}Delete a workspace assetDeleteaWorkspaceasset
GET/workspaces/assets/{assetId}Get a workspace assetget_workspace_asset
PATCH/workspaces/assets/{assetId}Edit a workspace assetPatchWorkspaceasset
POST/workspaces/eventsCheck in/out of a reservationreservationEvent
POST/workspaces/floormap/filesAdd or Update a Workspace floor mapAddOrUpdateAWorkspaceFloorMap
GET/workspaces/locations/{locationId}/floor_mapGet a workspace location floor mapGetlocationfloormap
GET/workspaces/released_workspaces_by_timeoutList released workspaces by timeoutgetWorksapceReservationReleaseInof
PATCH/workspaces/settingsUpdate workspace settingsupdateWorkspaceSettings
DELETE/workspaces/settings/photosDelete workspace photosDeleteaWorkspacephoto
POST/workspaces/settings/photosAdd a workspace photoAddaWorkspacephoto
GET/workspaces/usageGet a location's hot desk usagegetHotDeskUsage
GET/workspaces/users/{userId}/calendar/settingsGet Workspace Calendar Free/Busy EventGetWorkspaceCalendarFree/BusyEvent
POST/workspaces/users/{userId}/calendar/settingsSet Workspace Calendar Free/Busy EventSetCalendarFree/BusyEvent
GET/workspaces/users/{userId}/reservationsGet a user's workspace's reservationsuserListReservations
DELETE/workspaces/{locationId}/backgroundDelete Workspace floor mapDeleteWorkspaceFloorMap
DELETE/workspaces/{workspaceId}Delete a workspacedeleteWorkspace
GET/workspaces/{workspaceId}Get a workspacegetWorkspace
PATCH/workspaces/{workspaceId}Update a workspaceupdateWorkspace
DELETE/workspaces/{workspaceId}/assignmentDelete a desk assignmentDeleteadeskassignment
GET/workspaces/{workspaceId}/assignmentGet a desk assignmentGetadeskassignment
PUT/workspaces/{workspaceId}/assignmentSet a desk assignmentsetADeskAssignment
GET/workspaces/{workspaceId}/qr_codeGet a workspace QR codegetWorkspaceQRCode
GET/workspaces/{workspaceId}/reservationsGet a workspace's reservationslistReservations
POST/workspaces/{workspaceId}/reservationsCreate a reservationcreateReservation
DELETE/workspaces/{workspaceId}/reservations/{reservationId}Delete a reservationdeleteReservation
GET/workspaces/{workspaceId}/reservations/{reservationId}Get a workspace reservation by reservationIdGETGetaworkspacereservationbyreservationID
PATCH/workspaces/{workspaceId}/reservations/{reservationId}Update a reservationupdateReservation
GET/workspaces/{workspaceId}/reservations/{reservationId}/questionnairesList workspace reservation questionnairesListworkspacereservationquestionnaires
Zoom Rooms
MethodEndpointSummaryOperation ID
GET/roomsList Zoom RoomslistZoomRooms
POST/roomsAdd a Zoom RoomaddARoom
GET/rooms/digital_signageList digital signage contentslistDigitalSignageContent
PATCH/rooms/eventsUpdate E911 digital signagemanageE911signage
PATCH/rooms/{id}/eventsUse Zoom Room controlsZoomRoomsControls
GET/rooms/{id}/settingsGet Zoom Room settingsgetZRSettings
PATCH/rooms/{id}/settingsUpdate Zoom Room settingsupdateZRSettings
DELETE/rooms/{roomId}Delete a Zoom RoomdeleteAZoomRoom
GET/rooms/{roomId}Get Zoom Room profilegetZRProfile
PATCH/rooms/{roomId}Update a Zoom Room profileupdateRoomProfile
GET/rooms/{roomId}/device_profilesList device profilesgetRoomProfiles
POST/rooms/{roomId}/device_profilesCreate a device profilecreateRoomDeviceProfile
GET/rooms/{roomId}/device_profiles/devicesGet device informationgetRoomDevices
DELETE/rooms/{roomId}/device_profiles/{deviceProfileId}Delete a device profiledeleteRoomProfile
GET/rooms/{roomId}/device_profiles/{deviceProfileId}Get a device profilegetRoomProfile
PATCH/rooms/{roomId}/device_profiles/{deviceProfileId}Update a device profileupdateDeviceProfile
GET/rooms/{roomId}/devicesList Zoom Room deviceslistZRDevices
PUT/rooms/{roomId}/locationChange a Zoom Room's locationchangeZRLocation
GET/rooms/{roomId}/sensor_dataGet Zoom Room sensor datagetZRSensorData
GET/rooms/{roomId}/virtual_controllerGet Zoom Rooms virtual controller URLgetWebzrcUrl
Zoom Rooms Account
MethodEndpointSummaryOperation ID
GET/rooms/account_profileGet Zoom Room account profilegetZRAccountProfile
PATCH/rooms/account_profileUpdate Zoom Room account profileupdateZRAccProfile
GET/rooms/account_settingsGet Zoom Room account settingsgetZRAccountSettings
PATCH/rooms/account_settingsUpdate Zoom Room account settingsupdateZoomRoomAccSettings
Zoom Rooms Calendar
MethodEndpointSummaryOperation ID
GET/rooms/calendar/servicesList calendar servicesgetCalendarServices
DELETE/rooms/calendar/services/{serviceId}Delete a calendar servicedeleteACalendarService
GET/rooms/calendar/services/{serviceId}/resourcesList calendar resources by calendar servicegetCalendarResourcesByServiceId
POST/rooms/calendar/services/{serviceId}/resourcesAdd a calendar resource to a calendar serviceaddACalendarResourceToCalendarService
DELETE/rooms/calendar/services/{serviceId}/resources/{resourceId}Delete a calendar resourcedeleteACalendarResource
GET/rooms/calendar/services/{serviceId}/resources/{resourceId}Get a calendar resource by IDgetCalendarResourceById
PUT/rooms/calendar/services/{serviceId}/syncStart calendar service sync processsyncACalendarService
Zoom Rooms Content
MethodEndpointSummaryOperation ID
GET/rooms/content/background/contentsList Zoom Rooms background image library contentsListZoomRoomsbackgroundimagelibrarycontents
DELETE/rooms/content/background/contents/{contentId}Delete Zoom Rooms Background Image Library ContentDeleteZoomRoomsBackgroundImageLibraryContent
GET/rooms/content/background/contents/{contentId}Get Zoom Rooms background image library contentGetZoomRoomsBackgroundImageLibraryContent
GET/rooms/content/background/defaultsList default Zoom Rooms background image library contentsListDefaultZoomRoomsBackgroundImageLibrarycontents
GET/rooms/content/background/foldersList Zoom Rooms Background Image Library FoldersListZoomRoomsBackgroundLibraryFolders
POST/rooms/content/background/foldersAdd Zoom Rooms Background Image Library FolderAddZoomRoomsBackgroundLibraryFolder
DELETE/rooms/content/background/folders/{folderId}Delete Zoom Rooms Background Image Library FolderDeleteZoomRoomsBackgroundLibraryFolder
GET/rooms/content/background/folders/{folderId}Get Zoom Rooms Background Image Library FolderGetZoomRoomsBackgroundLibraryFolder
PATCH/rooms/content/background/folders/{folderId}Update Zoom Rooms Background Image Library FolderUpdateaZoomRoomsBackgroundLibraryFolderName
GET/rooms/content/digital_signage/contentsList Digital Signage content itemsGETListdigitalsignagecontentitems
POST/rooms/content/digital_signage/contentsAdd a digital signage URLAddadigitalsignageURL
DELETE/rooms/content/digital_signage/contents/{contentId}Delete a Digital Signage content itemDeleteadigitalsignagecontentitem
GET/rooms/content/digital_signage/contents/{contentId}Get Digital Signage content itemGetdigitalsignagecontentitem
PATCH/rooms/content/digital_signage/contents/{contentId}Update a Digital Signage content item attributesUpdateadigitalsignagecontentitemattributes
POST/rooms/content/digital_signage/foldersAdd a digital signage content folderAddadigitalsignagecontentfolder
DELETE/rooms/content/digital_signage/folders/{folderId}Delete a Digital Signage content folderDeleteadigitalsignagecontentfolder
GET/rooms/content/digital_signage/folders/{folderId}Get Digital Signage content folderGetdigitalsignagecontentfolderdetails
PATCH/rooms/content/digital_signage/folders/{folderId}Update a digital signage content folderUpdateadigitalsignagecontentfolder
GET/rooms/content/digital_signage/playlistsList Digital Signage library playlistsListDigitalSignagelibraryplaylists
POST/rooms/content/digital_signage/playlistsAdd a Digital Signage library playlistAddaDigitalSignagelibraryplaylist
DELETE/rooms/content/digital_signage/playlists/{playlistId}Delete Digital Signage library playlistDeleteDigitalSignagelibraryplaylist
GET/rooms/content/digital_signage/playlists/{playlistId}Get Digital Signage library playlistGetDigitalSignagelibraryplaylist
PATCH/rooms/content/digital_signage/playlists/{playlistId}Update a Digital Signage library playlistUpdateaDigitalSignagelibraryplaylist
GET/rooms/content/digital_signage/playlists/{playlistId}/contentsGet Digital Signage library playlist content itemsGetDigitalSignagelibraryplaylistcontentitems
PUT/rooms/content/digital_signage/playlists/{playlistId}/contentsUpdate Digital Signage library playlist content itemsUpdateDigitalSignagelibraryplaylistcontentitems
GET/rooms/content/digital_signage/playlists/{playlistId}/roomsList Digital Signage library playlist published roomsListDigitalSignagelibraryplaylistpublishedrooms
PUT/rooms/content/digital_signage/playlists/{playlistId}/roomsUpdate Digital Signage library playlist published roomsUpdateDigitalSignagelibraryplaylistpublishedrooms
POST/zrbackground/filesAdd Zoom Rooms background image library contentAddZoomRoomsBackgroundImageLibraryContent
PUT/zrbackground/filesUpdate Zoom Rooms background image library contentUpdateZoomRoomsBackgroundImageLibraryContent
POST/zrdigitalsignage/filesAdd a digital signage image or videoAdddigitalsignageimageorvideo
PUT/zrdigitalsignage/filesUpdate a Digital Signage image or video fileUpdateadigitalsignageimageorvideofile
Zoom Rooms Devices
MethodEndpointSummaryOperation ID
DELETE/rooms/{roomId}/devices/{deviceId}Delete a Zoom Room user devicedeleteDevice
PUT/rooms/{roomId}/devices/{deviceId}/app_versionChange Zoom Rooms app versionchangeZoomRoomsAppVersion
Zoom Rooms Location
MethodEndpointSummaryOperation ID
GET/rooms/locationsList Zoom Room locationslistZRLocations
POST/rooms/locationsAdd a locationaddAZRLocation
GET/rooms/locations/structureGet Zoom Room location structuregetZRLocationStructure
PUT/rooms/locations/structureUpdate Zoom Rooms location structureupdateZoomRoomsLocationStructure
DELETE/rooms/locations/{locationId}Delete a locationdeleteAZRLocation
GET/rooms/locations/{locationId}Get Zoom Room location profilegetZRLocationProfile
PATCH/rooms/locations/{locationId}Update Zoom Room location profileupdateZRLocationProfile
PUT/rooms/locations/{locationId}/locationChange the assigned parent locationchangeParentLocation
GET/rooms/locations/{locationId}/settingsGet location settingsgetZRLocationSettings
PATCH/rooms/locations/{locationId}/settingsUpdate location settingsupdateZRLocationSettings
Zoom Rooms Tags
MethodEndpointSummaryOperation ID
PATCH/rooms/locations/{locationId}/tagsAssign Tags to Zoom Rooms By Location IDAssignTagsToZoomRoomsByLocationID
GET/rooms/tagsList all Zoom Room TagslistZoomRoomTags
POST/rooms/tagsCreate a new Zoom Rooms TagcreateZoomRoomTag
DELETE/rooms/tags/{tagId}Delete TagdeleteZoomRoomTag
PATCH/rooms/tags/{tagId}Edit TageditZoomRoomTag
DELETE/rooms/{roomId}/tagsUn-assign Tags from a Zoom RoomunassignZoomRoomTag
PATCH/rooms/{roomId}/tagsAssign Tags to a Zoom RoomAssignTagsToAZoomRoom

Requirements and compatibility

Written for: OpenAI Codex

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.

Security

What our scanner noticed· Medium risk

  • Possible data-exfiltration endpoints
  • Instructions that use the network

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
OpenAI (Official)
Distributed by
OpenAI
Source
openai/plugins · plugins/zoom/skills/rest-api · commit d420d13
Licence
MIT License (redistribution allowed)
  • LICENSE (added by AutoGineer from plugins/zoom/LICENSE)
  • ATTRIBUTION.md (written by AutoGineer)
Synced

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

Download ZIP

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