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://mp-staging.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/mail.md

Zoom Mail API

Authoritative endpoint inventory for Mail. 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 operations41
Path templates26
Tags10

Tag Index

TagOperations
Drafts6
History1
Labels6
Mailbox1
Messages10
Messages.Attachments1
Settings2
Settings.Delegates4
Settings.Filters4
Threads6

Endpoints by Tag

Drafts
MethodEndpointSummaryOperation ID
GET/emails/mailboxes/{email}/draftsList emails from draft folderlist_draft_emails
POST/emails/mailboxes/{email}/draftsCreate a new draft emailcreate_draft_email
POST/emails/mailboxes/{email}/drafts/sendSend out a draft emailsend_draft_email
DELETE/emails/mailboxes/{email}/drafts/{draftId}Delete an existing draft emaildelete_draft_email
GET/emails/mailboxes/{email}/drafts/{draftId}Get the specified draft emailget_draft_email
PUT/emails/mailboxes/{email}/drafts/{draftId}Update the specified draft emailupdate_draft_email
History
MethodEndpointSummaryOperation ID
GET/emails/mailboxes/{email}/historyList history of events for mailboxlist_mailbox_history
Labels
MethodEndpointSummaryOperation ID
GET/emails/mailboxes/{email}/labelsList labels in the mailboxlist_labels_in_mailbox
POST/emails/mailboxes/{email}/labelsCreate a new label in mailboxcreate_label_in_mailbox
DELETE/emails/mailboxes/{email}/labels/{labelId}Delete an existing label from mailboxdelete_label_from_mailbox
GET/emails/mailboxes/{email}/labels/{labelId}Get the specified label in mailboxget_label_in_mailbox
PATCH/emails/mailboxes/{email}/labels/{labelId}Patch the specified label in mailboxpatch_label_in_mailbox
PUT/emails/mailboxes/{email}/labels/{labelId}Update the specified label in mailboxupdate_label_in_mailbox
Mailbox
MethodEndpointSummaryOperation ID
GET/emails/mailboxes/{email}/profileGet the mailbox profileget_mailbox_profile
Messages
MethodEndpointSummaryOperation ID
GET/emails/mailboxes/{email}/messagesList emails from the mailboxlist_emails
POST/emails/mailboxes/{email}/messagesCreate a new emailcreate_email
POST/emails/mailboxes/{email}/messages/batchDeleteBatch delete the specified emailsbatch_delete_emails
POST/emails/mailboxes/{email}/messages/batchModifyBatch modify the specified emailsbatch_modify_emails
POST/emails/mailboxes/{email}/messages/sendSend out an emailsend_email
DELETE/emails/mailboxes/{email}/messages/{messageId}Delete an existing emaildelete_email
GET/emails/mailboxes/{email}/messages/{messageId}Get the specified emailget_email
POST/emails/mailboxes/{email}/messages/{messageId}/modifyUpdate the specified emailupdate_email
POST/emails/mailboxes/{email}/messages/{messageId}/trashMove the specified email to TRASH foldertrash_email
POST/emails/mailboxes/{email}/messages/{messageId}/untrashMove the specified email out of TRASH folderuntrash_email
Messages.Attachments
MethodEndpointSummaryOperation ID
GET/emails/mailboxes/{email}/messages/{messageId}/attachments/{attachmentId}Get the specified attachment for an emailget_email_attachment
Settings
MethodEndpointSummaryOperation ID
GET/emails/mailboxes/{email}/settings/vacationGet mailbox vacation response settingget_mail_vacation_response_setting
PUT/emails/mailboxes/{email}/settings/vacationUpdate mailbox vacation response settingupdate_mailbox_vacation_response_setting
Settings.Delegates
MethodEndpointSummaryOperation ID
GET/emails/mailboxes/{email}/settings/delegatesList delegates on the mailboxlist_mailbox_delegates
POST/emails/mailboxes/{email}/settings/delegatesGrant a new delegate access on the mailboxgrant_mailbox_delegate
DELETE/emails/mailboxes/{email}/settings/delegates/{delegateEmail}Revoke an existing delegate access from the mailboxrevoke_mailbox_delegate
GET/emails/mailboxes/{email}/settings/delegates/{delegateEmail}Get the specified delegate on the mailboxget_mailbox_delegate
Settings.Filters
MethodEndpointSummaryOperation ID
GET/emails/mailboxes/{email}/settings/filtersList email filterslist_email_filters
POST/emails/mailboxes/{email}/settings/filtersCreate an email filtercreate_email_filter
DELETE/emails/mailboxes/{email}/settings/filters/{filterId}Delete the specified email filterdelete_email_filter
GET/emails/mailboxes/{email}/settings/filters/{filterId}Get the specified email filterget_email_filter
Threads
MethodEndpointSummaryOperation ID
GET/emails/mailboxes/{email}/threadsList email threads from the mailboxlist_email_threads
DELETE/emails/mailboxes/{email}/threads/{threadId}Delete an existing email threaddelete_email_thread
GET/emails/mailboxes/{email}/threads/{threadId}Get the specified email threadget_email_thread
POST/emails/mailboxes/{email}/threads/{threadId}/modifyUpdate the specified threadupdate_email_thread
POST/emails/mailboxes/{email}/threads/{threadId}/trashMove the specified thread to TRASH foldertrash_email_thread
POST/emails/mailboxes/{email}/threads/{threadId}/untrashMove the specified thread out of TRASH folderuntrash_email_thread

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