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.
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
# 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'