Zoom · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Zoom REST User API

21 actions 21 updates phrasing extends openapi/zoom-user-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Zoom's API. It is a proposal applied on top of the contract, not a document Zoom publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 21 · first 16 shown; the file carries all of them

$.info
$.paths['/user/assistant/delete'].post
$.paths['/user/assistant/set'].post
$.paths['/user/autocreate'].post
$.paths['/user/checkemail'].post
$.paths['/user/checkzpk'].post
$.paths['/user/create'].post
$.paths['/user/custcreate'].post
$.paths['/user/activate'].post
$.paths['/user/deactivate'].post
$.paths['/user/delete'].post
$.paths['/user/get'].post
$.paths['/user/getbyemail'].post
$.paths['/user/list'].post
$.paths['/user/pending'].post
$.paths['/user/permanentdelete'].post

OpenAPI Overlay

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for Zoom REST User API
  version: 1.0.0
extends: openapi/zoom-user-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-09-24'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 20
- target: $.paths['/user/assistant/delete'].post
  update:
    x-apievangelist-phrasing:
      intent: Remove a host's scheduling assistant
      effect: destructive
      questions:
      - Can I take away someone's assistant access so they stop scheduling meetings for a host?
      - What do I need to identify a host when removing their assistant in Zoom?
      instructions:
      - text: Remove the scheduling assistant from host {host_email}.
        slots:
          host_email: requestBody.host_email
      - text: Delete the assistant assigned to the host with user ID {id}.
        slots:
          id: requestBody.id
      method: generated
      generated: '2026-09-24'
- target: $.paths['/user/assistant/set'].post
  update:
    x-apievangelist-phrasing:
      intent: Assign a scheduling assistant to a host
      effect: write
      questions:
      - How can I let an assistant schedule meetings on behalf of a host?
      - Can a host delegate meeting scheduling to someone else by email address?
      instructions:
      - text: Make {assistant_email} the scheduling assistant for host {host_email}.
        slots:
          assistant_email: requestBody.assistant_email
          host_email: requestBody.host_email
      - text: Let {assistant_email} schedule meetings for the host with user ID {id}.
        slots:
          assistant_email: requestBody.assistant_email
          id: requestBody.id
      method: generated
      generated: '2026-09-24'
- target: $.paths['/user/autocreate'].post
  update:
    x-apievangelist-phrasing:
      intent: Auto-create a user with a password on a managed domain
      effect: write
      questions:
      - Can an enterprise account on a managed domain create users with a password set up front?
      - Why is auto-creating users with a password disabled by default?
      instructions:
      - text: Auto-create a managed-domain user {email} of type {type} with password {password}.
        slots:
          email: requestBody.email
          type: requestBody.type
          password: requestBody.password
      - text: Auto-create {email} as type {type} with password {password} and name them {first_name} {last_name}.
        slots:
          email: requestBody.email
          type: requestBody.type
          password: requestBody.password
          first_name: requestBody.first_name
          last_name: requestBody.last_name
      method: generated
      generated: '2026-09-24'
- target: $.paths['/user/checkemail'].post
  update:
    x-apievangelist-phrasing:
      intent: Check whether a user email already exists
      effect: read
      questions:
      - Is there already a Zoom user registered with this email address?
      - Can I check for an existing account before trying to create a user?
      instructions:
      - text: Check whether {email} already exists as a user.
        slots:
          email: requestBody.email
      - text: Tell me if the email {email} is taken on our account.
        slots:
          email: requestBody.email
      method: generated
      generated: '2026-09-24'
- target: $.paths['/user/checkzpk'].post
  update:
    x-apievangelist-phrasing:
      intent: Check whether a user's zpk token has expired
      effect: read
      questions:
      - What is a zpk and how can I tell if it has expired?
      - Can I validate a user's zpk authentication token before using it?
      instructions:
      - text: Check whether zpk {zpk} is expired.
        slots:
          zpk: requestBody.zpk
      - text: Validate the zpk token {zpk} for this user.
        slots:
          zpk: requestBody.zpk
      method: generated
      generated: '2026-09-24'
- target: $.paths['/user/create'].post
  update:
    x-apievangelist-phrasing:
      intent: Provision a new user as a trusted partner
      effect: write
      questions:
      - Which privilege does my account need to provision users through the API?
      - Will a newly provisioned user get an email from Zoom to activate?
      instructions:
      - text: Provision a new user {email} with user type {type}.
        slots:
          email: requestBody.email
          type: requestBody.type
      - text: Provision {email} as type {type} and place them in group {group_id}.
        slots:
          email: requestBody.email
          type: requestBody.type
          group_id: requestBody.group_id
      method: generated
      generated: '2026-09-24'
- target: $.paths['/user/custcreate'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a passwordless API-plan user
      effect: write
      questions:
      - Can I create users who have no password and never log in to the web site or client?
      - What kind of user does the API-plan-only create call produce?
      instructions:
      - text: Create an API-plan user {email} of type {type} with no password.
        slots:
          email: requestBody.email
          type: requestBody.type
      - text: Custcreate a no-login user {email} of type {type} with meeting capacity {meeting_capacity}.
        slots:
          email: requestBody.email
          type: requestBody.type
          meeting_capacity: requestBody.meeting_capacity
      method: generated
      generated: '2026-09-24'
- target: $.paths['/user/activate'].post
  update:
    x-apievangelist-phrasing:
      intent: Activate a user
      effect: write
      questions:
      - How do I reactivate a Zoom user who was deactivated?
      - Can I turn a user back on using their user ID?
      instructions:
      - text: Activate user {id}.
        slots:
          id: requestBody.id
      - text: Turn the account for user {id} back on.
        slots:
          id: requestBody.id
      method: generated
      generated: '2026-09-24'
- target: $.paths['/user/deactivate'].post
  update:
    x-apievangelist-phrasing:
      intent: Deactivate a user
      effect: write
      questions:
      - Can I suspend a user's access without deleting them?
      - What happens when I deactivate someone instead of removing them?
      instructions:
      - text: Deactivate user {id}.
        slots:
          id: requestBody.id
      - text: Suspend the user {id} without deleting their account.
        slots:
          id: requestBody.id
      method: generated
      generated: '2026-09-24'
- target: $.paths['/user/delete'].post
  update:
    x-apievangelist-phrasing:
      intent: Delete a user
      effect: destructive
      questions:
      - How can I remove a user from my account?
      - Does deleting a user here remove them permanently or is there a separate permanent delete?
      instructions:
      - text: Delete user {id} from the account.
        slots:
          id: requestBody.id
      - text: Remove user {id} using delete type {type}.
        slots:
          id: requestBody.id
          type: requestBody.type
      method: generated
      generated: '2026-09-24'
- target: $.paths['/user/get'].post
  update:
    x-apievangelist-phrasing:
      intent: Get a user's info by user ID
      effect: read
      questions:
      - What details can I look up about a user when I know their user ID?
      - Can I pull a single user's profile and settings?
      instructions:
      - text: Get the info for user ID {id}.
        slots:
          id: requestBody.id
      - text: Look up user {id} using API key {api_key} and secret {api_secret}.
        slots:
          id: requestBody.id
          api_key: requestBody.api_key
          api_secret: requestBody.api_secret
      method: generated
      generated: '2026-09-24'
- target: $.paths['/user/getbyemail'].post
  update:
    x-apievangelist-phrasing:
      intent: Find a user by email and login type
      effect: read
      questions:
      - Can I find a user's record from just their email address?
      - Why do I need the login type when looking someone up by email?
      instructions:
      - text: Find the user with email {email} and login type {login_type}.
        slots:
          email: requestBody.email
          login_type: requestBody.login_type
      - text: Get the user info for {email} signing in with login type {login_type}.
        slots:
          email: requestBody.email
          login_type: requestBody.login_type
      method: generated
      generated: '2026-09-24'
- target: $.paths['/user/list'].post
  update:
    x-apievangelist-phrasing:
      intent: List all users on the account
      effect: read
      questions:
      - Which users are on my Zoom account?
      - Can I page through every user on the account?
      instructions:
      - text: List all users on my account.
      - text: Show page {page_number} of users, {page_size} per page.
        slots:
          page_number: requestBody.page_number
          page_size: requestBody.page_size
      method: generated
      generated: '2026-09-24'
- target: $.paths['/user/pending'].post
  update:
    x-apievangelist-phrasing:
      intent: List pending users
      effect: read
      questions:
      - Who has been invited but hasn't activated their account yet?
      - Can I see the users still in a pending state?
      instructions:
      - text: List users who are still pending activation.
      - text: Show page {page_number} of pending users.
        slots:
          page_number: requestBody.page_number
      method: generated
      generated: '2026-09-24'
- target: $.paths['/user/permanentdelete'].post
  update:
    x-apievangelist-phrasing:
      intent: Permanently delete a user
      effect: destructive
      questions:
      - Can I erase a user from the Zoom system for good?
      - Is there a way to permanently delete someone by email instead of user ID?
      instructions:
      - text: Permanently delete the user {email} from the system.
        slots:
          email: requestBody.email
      - text: Erase user ID {id} permanently.
        slots:
          id: requestBody.id
      method: generated
      generated: '2026-09-24'
- target: $.paths['/user/revoketoken'].post
  update:
    x-apievangelist-phrasing:
      intent: Revoke a user's SSO token
      effect: destructive
      questions:
      - How can I force a user's single sign-on session to end?
      - Can I revoke someone's SSO token using their email?
      instructions:
      - text: Revoke the SSO token for {email}.
        slots:
          email: requestBody.email
      - text: Invalidate the single sign-on token of user ID {id}.
        slots:
          id: requestBody.id
      method: generated
      generated: '2026-09-24'
- target: $.paths['/user/scheduleforhost/list'].post
  update:
    x-apievangelist-phrasing:
      intent: List hosts a user can schedule for
      effect: read
      questions:
      - Which hosts have given this user schedule-for privilege?
      - Can I see who someone is allowed to schedule meetings on behalf of?
      instructions:
      - text: List the hosts that {host_email} holds scheduling privilege for.
        slots:
          host_email: requestBody.host_email
      - text: Show schedule-for-host assignments for user ID {id}.
        slots:
          id: requestBody.id
      method: generated
      generated: '2026-09-24'
- target: $.paths['/user/ssocreate'].post
  update:
    x-apievangelist-phrasing:
      intent: Pre-provision an SSO user
      effect: write
      questions:
      - Can I create single sign-on users ahead of their first login?
      - What setting must be enabled before pre-provisioning SSO users?
      instructions:
      - text: Pre-provision SSO user {email} with type {type}.
        slots:
          email: requestBody.email
          type: requestBody.type
      - text: Create SSO user {email} as type {type} with personal meeting ID {pmi}.
        slots:
          email: requestBody.email
          type: requestBody.type
          pmi: requestBody.pmi
      method: generated
      generated: '2026-09-24'
- target: $.paths['/user/update'].post
  update:
    x-apievangelist-phrasing:
      intent: Update a user's info and settings
      effect: write
      questions:
      - Can I change an existing user's name, timezone or meeting features?
      - What settings on a user can I switch on or off after they are created?
      instructions:
      - text: Update user {id} to timezone {timezone}.
        slots:
          id: requestBody.id
          timezone: requestBody.timezone
      - text: Change the existing user {id} to be named {first_name} {last_name}.
        slots:
          id: requestBody.id
          first_name: requestBody.first_name
          last_name: requestBody.last_name
      - text: Set the vanity name of user {id} to {vanity_name}.
        slots:
          id: requestBody.id
          vanity_name: requestBody.vanity_name
      method: generated
      generated: '2026-09-24'
- target: $.paths['/user/updatepassword'].post
  update:
    x-apievangelist-phrasing:
      intent: Upload a user's profile picture
      effect: write
      questions:
      - Can I set a user's profile picture by uploading an image file?
      - What does the updatepassword endpoint actually change for a user?
      instructions:
      - text: Upload {pic_file} as the profile picture for user {id}.
        slots:
          pic_file: requestBody.pic_file
          id: requestBody.id
      - text: Replace user {id}'s avatar image with {pic_file}.
        slots:
          id: requestBody.id
          pic_file: requestBody.pic_file
      method: generated
      generated: '2026-09-24'