Zoom Phone · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Phone Users API
25 actions
25 updates
phrasing
extends
openapi/zoom-phone-users-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for Zoom Phone's API. It is a proposal applied on top of the contract, not a document Zoom Phone publishes.
What the actions change
x-apievangelist-phrasing
Targets 25 · first 16 shown; the file carries all of them
$.info
$.paths['/phone/users'].get
$.paths['/phone/users/batch'].put
$.paths['/phone/users/batch'].post
$.paths['/phone/users/{userId}'].get
$.paths['/phone/users/{userId}'].patch
$.paths['/phone/users/{userId}/call_forward_settings/{hourType}'].post
$.paths['/phone/users/{userId}/call_forward_settings/{hourType}'].delete
$.paths['/phone/users/{userId}/call_handling/settings'].get
$.paths['/phone/users/{userId}/call_handling/settings/{hourType}'].patch
$.paths['/phone/users/{userId}/calling_plans'].put
$.paths['/phone/users/{userId}/calling_plans'].post
$.paths['/phone/users/{userId}/calling_plans/{planType}'].delete
$.paths['/phone/users/{userId}/outbound_caller_id/customized_numbers'].get
$.paths['/phone/users/{userId}/outbound_caller_id/customized_numbers'].post
$.paths['/phone/users/{userId}/outbound_caller_id/customized_numbers'].delete
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 Phone Users API
version: 1.0.0
extends: openapi/zoom-phone-users-api-openapi.yml
actions:
- target: $.info
update:
x-apievangelist-phrasing:
method: generated
generated: '2026-10-01'
generator: build-phrasing.py
label: Generated by API Evangelist
operations: 24
- target: $.paths['/phone/users'].get
update:
x-apievangelist-phrasing:
intent: List users who have a Zoom Phone license
effect: read
questions:
- Which people in my account have a Zoom Phone license assigned?
- Can I filter the list of phone users by site, department or cost center?
- Is there a way to search licensed phone users by keyword and see only active ones?
instructions:
- text: List every phone-licensed user in my account.
- text: List phone users at site {site_id} in department {department}.
slots:
site_id: query.site_id
department: query.department
- text: Find licensed phone users matching {keyword}.
slots:
keyword: query.keyword
method: generated
generated: '2026-10-01'
- target: $.paths['/phone/users/batch'].put
update:
x-apievangelist-phrasing:
intent: Move or activate several phone users at once
effect: write
questions:
- Can I move up to ten phone users to a different site in one request?
- Is there a bulk way to activate or deactivate the phone feature for a group of users?
instructions:
- text: Move users {user_ids} to site {site_id} in one batch.
slots:
user_ids: requestBody.user_ids
site_id: requestBody.site_id
- text: Run a {batch_type} batch update with activation status {activation_status} for users {user_ids}.
slots:
batch_type: requestBody.batch_type
activation_status: requestBody.activation_status
user_ids: requestBody.user_ids
method: generated
generated: '2026-10-01'
- target: $.paths['/phone/users/batch'].post
update:
x-apievangelist-phrasing:
intent: Add up to ten phone users in one batch
effect: write
questions:
- Can I onboard several existing Zoom users onto the phone system at the same time?
- What is the maximum number of users I can add as phone users in a single batch call?
instructions:
- text: 'Add these users to Zoom Phone in one batch: {users}.'
slots:
users: requestBody.users
- text: Bulk-enroll the new hires {users} as phone users.
slots:
users: requestBody.users
method: generated
generated: '2026-10-01'
- target: $.paths['/phone/users/{userId}'].get
update:
x-apievangelist-phrasing:
intent: Get a user's Zoom Phone profile
effect: read
questions:
- Where can I see a user's phone profile, like their extension, site and calling plan?
- What phone number and extension does a particular user have in Zoom Phone?
instructions:
- text: Show the Zoom Phone profile for user {userId}.
slots:
userId: path.userId
- text: Look up the extension and phone numbers assigned to {userId}.
slots:
userId: path.userId
method: generated
generated: '2026-10-01'
- target: $.paths['/phone/users/{userId}'].patch
update:
x-apievangelist-phrasing:
intent: Update a user's phone profile
effect: write
questions:
- Can I change a user's phone extension number or move them to another site?
- Is it possible to set a different emergency address or template on a user's phone profile?
instructions:
- text: Change the extension number of user {userId} to {extension_number}.
slots:
userId: path.userId
extension_number: requestBody.extension_number
- text: Move user {userId} to site {site_id} on their phone profile.
slots:
userId: path.userId
site_id: requestBody.site_id
- text: Set emergency address {emergency_address_id} on the phone profile of {userId}.
slots:
emergency_address_id: requestBody.emergency_address_id
userId: path.userId
method: generated
generated: '2026-10-01'
- target: $.paths['/phone/users/{userId}/call_forward_settings/{hourType}'].post
update:
x-apievangelist-phrasing:
intent: Add call forwarding numbers for a user
effect: write
questions:
- Can I forward a user's incoming calls to an external number during closed hours?
- How do I add forwarding destinations for a user under a specific hour type?
instructions:
- text: Add call forwarding numbers for user {userId} during {hourType}.
slots:
userId: path.userId
hourType: path.hourType
- text: 'Forward {userId}''s calls during holiday {holiday_hour_id} to these numbers: {call_forward_settings}.'
slots:
userId: path.userId
holiday_hour_id: requestBody.holiday_hour_id
call_forward_settings: requestBody.call_forward_settings
method: generated
generated: '2026-10-01'
- target: $.paths['/phone/users/{userId}/call_forward_settings/{hourType}'].delete
update:
x-apievangelist-phrasing:
intent: Remove call forwarding numbers from a user
effect: destructive
questions:
- Can I stop a user's calls from forwarding to an external number for a given hour type?
- What's the way to delete one specific forwarding destination from a user?
instructions:
- text: Remove the call forwarding numbers for user {userId} during {hourType}.
slots:
userId: path.userId
hourType: path.hourType
- text: Delete forwarding entry {call_forward_id} from user {userId}'s {hourType} forwarding.
slots:
call_forward_id: query.call_forward_id
userId: path.userId
hourType: path.hourType
method: generated
generated: '2026-10-01'
- target: $.paths['/phone/users/{userId}/call_handling/settings'].get
update:
x-apievangelist-phrasing:
intent: Get a user's call handling setting
effect: read
questions:
- How are a user's incoming calls routed during business hours versus closed hours?
- Can I check what call handling a user has configured for a particular holiday?
instructions:
- text: Show the call handling setting for user {userId} for {hour_type}.
slots:
userId: path.userId
hour_type: query.hour_type
- text: Get user {userId}'s call routing for holiday {holiday_hour_id}.
slots:
userId: path.userId
holiday_hour_id: query.holiday_hour_id
method: generated
generated: '2026-10-01'
- target: $.paths['/phone/users/{userId}/call_handling/settings/{hourType}'].patch
update:
x-apievangelist-phrasing:
intent: Update a user's call handling for an hour type
effect: write
questions:
- Can I change how a user's calls ring and route during their closed hours?
- Is it possible to edit a user's call distribution or forwarding for a break period?
instructions:
- text: Update the {hourType} call handling for user {userId}.
slots:
hourType: path.hourType
userId: path.userId
- text: Set user {userId}'s {hourType} call distribution to {call_distribution_setting}.
slots:
userId: path.userId
hourType: path.hourType
call_distribution_setting: requestBody.call_distribution_setting
method: generated
generated: '2026-10-01'
- target: $.paths['/phone/users/{userId}/calling_plans'].put
update:
x-apievangelist-phrasing:
intent: Switch a user's calling plan
effect: write
questions:
- Can I swap a user from one calling plan type to another without unassigning first?
- What do I need to provide to switch a user's calling plan when there are several billing subscriptions?
instructions:
- text: Switch user {userId} from calling plan {source_type} to {target_type}.
slots:
userId: path.userId
source_type: requestBody.source_type
target_type: requestBody.target_type
- text: Change {userId}'s plan from {source_type} to {target_type} using subscription {target_billing_subscription_id}.
slots:
userId: path.userId
source_type: requestBody.source_type
target_type: requestBody.target_type
target_billing_subscription_id: requestBody.target_billing_subscription_id
method: generated
generated: '2026-10-01'
- target: $.paths['/phone/users/{userId}/calling_plans'].post
update:
x-apievangelist-phrasing:
intent: Assign a calling plan to a user
effect: write
questions:
- How do I give a phone user a calling plan so they can make outside calls?
- Can I assign more than one calling plan to the same user?
instructions:
- text: Assign calling plans {calling_plans} to user {userId}.
slots:
calling_plans: requestBody.calling_plans
userId: path.userId
- text: Give user {userId} a new calling plan.
slots:
userId: path.userId
method: generated
generated: '2026-10-01'
- target: $.paths['/phone/users/{userId}/calling_plans/{planType}'].delete
update:
x-apievangelist-phrasing:
intent: Remove a calling plan from a user
effect: destructive
questions:
- Can I take a calling plan away from a user who no longer needs it?
- Which billing account do I specify when unassigning a user's calling plan?
instructions:
- text: Unassign calling plan {planType} from user {userId}.
slots:
planType: path.planType
userId: path.userId
- text: Remove plan {planType} from {userId} under billing account {billing_account_id}.
slots:
planType: path.planType
userId: path.userId
billing_account_id: query.billing_account_id
method: generated
generated: '2026-10-01'
- target: $.paths['/phone/users/{userId}/outbound_caller_id/customized_numbers'].get
update:
x-apievangelist-phrasing:
intent: List numbers a user can use as custom caller ID
effect: read
questions:
- Which phone numbers can a user pick as their customized outbound caller ID?
- Can I see only the caller ID numbers already selected for a user?
instructions:
- text: List the numbers available as customized outbound caller ID for user {userId}.
slots:
userId: path.userId
- text: Show caller ID numbers for {userId} with selected set to {selected}.
slots:
userId: path.userId
selected: query.selected
method: generated
generated: '2026-10-01'
- target: $.paths['/phone/users/{userId}/outbound_caller_id/customized_numbers'].post
update:
x-apievangelist-phrasing:
intent: Add custom outbound caller ID numbers for a user
effect: write
questions:
- Can I let a user show a different company number when they place outbound calls?
- What's needed to add numbers to a user's customized caller ID list?
instructions:
- text: Add phone numbers {phone_number_ids} to user {userId}'s customized outbound caller ID.
slots:
phone_number_ids: requestBody.phone_number_ids
userId: path.userId
- text: Let user {userId} display number {phone_number_ids} as caller ID.
slots:
userId: path.userId
phone_number_ids: requestBody.phone_number_ids
method: generated
generated: '2026-10-01'
- target: $.paths['/phone/users/{userId}/outbound_caller_id/customized_numbers'].delete
update:
x-apievangelist-phrasing:
intent: Remove custom outbound caller ID numbers from a user
effect: destructive
questions:
- Can I stop a user from using a particular number as their outbound caller ID?
- Is there a way to clear numbers from a user's customized caller ID list?
instructions:
- text: Remove customized caller ID entries {customize_ids} from user {userId}.
slots:
customize_ids: query.customize_ids
userId: path.userId
- text: Clear the customized outbound caller ID numbers for {userId}.
slots:
userId: path.userId
method: generated
generated: '2026-10-01'
- target: $.paths['/phone/users/{userId}/policies/{policyType}'].get
update:
x-apievangelist-phrasing:
intent: Get a user's phone policy details
effect: read
questions:
- Is a specific user allowed to make emergency calls under their phone policy?
- Where can I read the details of one policy type applied to a user?
instructions:
- text: Show the {policyType} policy for user {userId}.
slots:
policyType: path.policyType
userId: path.userId
- text: Check user {userId}'s allow_emergency_calls policy.
slots:
userId: path.userId
method: generated
generated: '2026-10-01'
- target: $.paths['/phone/users/{userId}/policies/{policyType}'].patch
update:
x-apievangelist-phrasing:
intent: Update a user's phone policy
effect: write
questions:
- Can I change a single policy type for one user without touching the rest?
- Is it possible to adjust whether a user can place emergency calls?
instructions:
- text: Update the {policyType} policy for user {userId}.
slots:
policyType: path.policyType
userId: path.userId
- text: Change user {userId}'s emergency calls policy setting.
slots:
userId: path.userId
method: generated
generated: '2026-10-01'
- target: $.paths['/phone/users/{userId}/profile_settings/{settingType}'].post
update:
x-apievangelist-phrasing:
intent: Add holiday or break hours to a user
effect: write
questions:
- Can I add holiday hours to a user's phone schedule?
- Is there a way to create break hours for an individual phone user?
instructions:
- text: Add {settingType} to user {userId}'s phone schedule.
slots:
settingType: path.settingType
userId: path.userId
- text: Create a break hours entry for user {userId}.
slots:
userId: path.userId
method: generated
generated: '2026-10-01'
- target: $.paths['/phone/users/{userId}/profile_settings/{settingType}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a user's holiday or break hours
effect: destructive
questions:
- Can I remove a holiday from a user's phone schedule?
- What do I pass to delete one specific break period from a user?
instructions:
- text: Delete holiday {holiday_hour_id} from user {userId}'s {settingType}.
slots:
holiday_hour_id: query.holiday_hour_id
userId: path.userId
settingType: path.settingType
- text: Remove break period {break_hour_id} from user {userId}'s {settingType}.
slots:
break_hour_id: query.break_hour_id
userId: path.userId
settingType: path.settingType
method: generated
generated: '2026-10-01'
- target: $.paths['/phone/users/{userId}/settings'].get
update:
x-apievangelist-phrasing:
intent: Get a user's phone profile settings
effect: read
questions:
- What area code, caller ID and business hours does a user have set in their phone settings?
- Can I view a user's voicemail, delegation and shared line settings in one place?
instructions:
- text: Show the phone profile settings for user {userId}.
slots:
userId: path.userId
- text: Get the business hours and outbound caller ID settings of {userId}.
slots:
userId: path.userId
method: generated
generated: '2026-10-01'
- target: $.paths['/phone/users/{userId}/settings'].patch
update:
x-apievangelist-phrasing:
intent: Update a user's phone profile settings
effect: write
questions:
- Can I change a user's audio prompt language or music on hold?
- Is it possible to set a user's business hours and outbound caller ID in one update?
instructions:
- text: Set user {userId}'s outbound caller ID to {outbound_caller_id}.
slots:
userId: path.userId
outbound_caller_id: requestBody.outbound_caller_id
- text: Change the area code for {userId} to {area_code}.
slots:
userId: path.userId
area_code: requestBody.area_code
- text: Update user {userId}'s business hours to {business_hours_settings}.
slots:
userId: path.userId
business_hours_settings: requestBody.business_hours_settings
method: generated
generated: '2026-10-01'
- target: $.paths['/phone/users/{userId}/settings/{settingType}'].post
update:
x-apievangelist-phrasing:
intent: Add delegation, intercom or shared access for a user
effect: write
questions:
- Can I give an assistant delegation access to a user's phone line?
- Is there a way to share a user's voicemail or call recordings with other members?
instructions:
- text: Add delegation assistant {delegation_assistant_extension_id} to user {userId}.
slots:
delegation_assistant_extension_id: requestBody.delegation_assistant_extension_id
userId: path.userId
- text: Grant {voicemail_access_members} shared access to user {userId}'s voicemail.
slots:
voicemail_access_members: requestBody.voicemail_access_members
userId: path.userId
- text: Add a {settingType} shared access setting for user {userId}.
slots:
settingType: path.settingType
userId: path.userId
method: generated
generated: '2026-10-01'
- target: $.paths['/phone/users/{userId}/settings/{settingType}'].delete
update:
x-apievangelist-phrasing:
intent: Remove delegation, intercom or shared access from a user
effect: destructive
questions:
- Can I revoke someone's shared access to a user's voicemail?
- Is it possible to remove a delegation assistant or intercom contact from a user?
instructions:
- text: Remove shared access {shared_id} from user {userId}'s {settingType} setting.
slots:
shared_id: query.shared_id
userId: path.userId
settingType: path.settingType
- text: Remove delegation assistant {assistant_extension_id} from user {userId}'s {settingType}.
slots:
assistant_extension_id: query.assistant_extension_id
userId: path.userId
settingType: path.settingType
method: generated
generated: '2026-10-01'
- target: $.paths['/phone/users/{userId}/settings/{settingType}'].patch
update:
x-apievangelist-phrasing:
intent: Update delegation, intercom or shared access for a user
effect: write
questions:
- Can I change who already has shared access to a user's automatic call recordings?
- Is it possible to edit an existing intercom or delegation setting on a user?
instructions:
- text: Update the {settingType} shared access setting for user {userId}.
slots:
settingType: path.settingType
userId: path.userId
- text: Change the existing auto call recording access members of {userId} to {auto_call_recording_access_members}.
slots:
userId: path.userId
auto_call_recording_access_members: requestBody.auto_call_recording_access_members
method: generated
generated: '2026-10-01'