openapi: 3.2.0
info:
title: Phone Users API
description: "You can access information from Zoom with Zoom Phone APIs to build private services or public applications on the [Zoom App Marketplace](https://marketplace.zoom.us/).\n\n To learn how to get your credentials and create private or public applications, see Zoom APIs use [OAuth 2.0 authorization](https://developers.zoom.us/docs/integrations/oauth/). \n\n All endpoints are available through `https` at `api.zoom.us/v2/`. For instance, `https://api.zoom.us/v2/users/` returns all users on an account. You'll receive a `403` error message if you have not set up Zoom Phone."
termsOfService: https://zoom.us/docs/en-us/zoom_api_license_and_tou.html
contact:
name: Zoom Developers
url: https://developer.zoom.us/
version: '2'
servers:
- url: https://api.zoom.us/v2
tags:
- name: Users
paths:
/phone/users:
get:
tags:
- Users
summary: List phone users
description: "Returns a list of all of an account's users who are assigned a Zoom Phone license.\n\n**Prerequisites** \n* A Pro or higher account plan \n* A Zoom Phone license\n\n**[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `phone:read:admin`\n\n**[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `phone:read:list_users:admin`\n\n**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `MEDIUM`"
operationId: listPhoneUsers
parameters:
- name: page_size
in: query
description: The number of records returned from a single API call.
required: false
schema:
maximum: 100
type: integer
example: 30
default: 30
- name: next_page_token
in: query
description: The next page token paginates through a large set of results. A next page token returns whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
required: false
schema:
type: string
example: BJLYC6PABbAHdjwSkGVQeeR6B1juwHqj3G2
- name: site_id
in: query
description: The unique identifier of the site. Get it from the [List Phone Sites](https://marketplace.zoom.us/docs/api-reference/phone/methods#operation/listPhoneSites) API.
required: false
schema:
type: string
example: 8f71O6rWT8KFUGQmJIFAdQ
- name: calling_type
in: query
description: ' The [type](https://marketplace.zoom.us/docs/api-reference/other-references/plans#zoom-phone-calling-plans) of calling plan.'
required: false
schema:
type: integer
example: 200
- name: status
in: query
description: "The status of the Zoom Phone user. \n\n `pending`: The users have been assigned the Zoom Workplace license, but not been assigned Zoom Phone feature."
required: false
schema:
type: string
example: Active
enum:
- activate
- deactivate
- pending
- name: department
in: query
description: The department where the user belongs.
required: false
schema:
type: string
example: Phone department
- name: cost_center
in: query
description: The cost center where the user belongs.
required: false
schema:
type: string
example: Phone cost center
- name: keyword
in: query
description: The partial string of user's name, extension number, or phone number.
required: false
schema:
type: string
example: test@zoom.us
responses:
'200':
description: "**HTTP Status Code:** `200` **OK** \n \nPhone users retrieved successfully."
content:
application/json:
schema:
type: object
properties:
next_page_token:
type: string
description: The next page token paginates through a large set of results. A next page token is returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
example: nav48KOj42vYPSG4f0cCdT575bZ980did22
page_size:
maximum: 300
type: integer
description: The number of records returned from a single API call.
example: 30
default: 30
total_records:
type: integer
description: The total records found for this query.
example: 45
users:
maxItems: 100
type: array
items:
type: object
properties:
calling_plans:
maxItems: 150
type: array
items:
type: object
properties:
name:
type: string
description: The name of the user's calling plan.
example: US/CA Metered Calling Plan
type:
type: integer
description: The type of calling plan where the user is enrolled.
example: 100
billing_account_id:
type: string
description: The billing account ID. It displays when the user is located in India.
example: 3WWAEiEjTj2IQuyDiKMd_A
billing_account_name:
type: string
description: The billing account name. It displays when the user is located in India.
example: Delhi billing
billing_subscription_id:
type: string
description: The billing subscription ID. It displays when the account supports billing multiple subscriptions.
example: FT-SUBREF-21168178
billing_subscription_name:
type: string
description: The billing subscription name. It displays when the account supports billing multiple subscriptions.Can be edited through the Billing page.
example: My Subscription
email:
type: string
description: The email address of the user.
format: email
example: 202007160003@testapi.com
extension_id:
type: string
description: The extension ID.
example: V4UobpuxRxCwN_8iNf7k4w
extension_number:
type: integer
description: The extension number assigned to the user's Zoom phone number.
format: int64
example: 1000001036
id:
type: string
description: The unique identifier of the user (userId).
example: w0RChiauQeqRlv5fgxYULQ
name:
type: string
description: The name of the user.
example: APITA AUTO
phone_user_id:
type: string
description: The Zoom phone identifier of the user.
example: BOSr0vUiTl61WLR-Q_7bUw
site:
type: object
properties:
id:
type: string
description: The unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites).
example: IjJ2D75SQJit1VdDvkK_mQ
name:
type: string
description: The name of the site.
example: ApiTA_Site_2020_07_12_02_33_45_707
status:
type: string
description: "The status of the user's Zoom Phone license. The value can be either of the following: \n \n`activate`: Active Zoom phone user. \n \n`deactivate`: User with Zoom phone license disabled. This type of user can't make or receive calls."
example: activate
activation_status:
type: string
description: "The activation status of the user. The value can be either of the following: \n \n`activated`: User have been activated, this type of user can make or receive calls.\n \n`ready to activate`: User have been assigned phone license but didn't activated, this type of user can make or receive calls.\n`not ready`: User have been assigned phone license, but the user didn't confirm the invitation. This user doesn't belong to this account yet."
example: activated
enum:
- activated
- ready to activate
- not ready
phone_numbers:
maxItems: 10
type: array
items:
type: object
properties:
id:
type: string
description: The phone number ID.
example: '---M1padRvSUtw7YihN7sA'
number:
type: string
description: The phone number.
example: '14232058798'
department:
type: string
description: The department where the user belongs.
example: Phone department
cost_center:
type: string
description: The cost center where the user belongs.
example: Phone cost center
'400':
description: "**HTTP Status Code:** `400`
\n Bad Request \n\n **Error Code:** `400`
\n The next page token is invalid or expired.\nPlease enter at least {0} valid characters.
\n**Error Code:** `124`
\n You do not have permission, because the current site `{0}` does not belong to the target sites.
\n"
'404':
description: "**HTTP Status Code:** `404`
\n Not Found \n\n **Error Code:** `2001`
\n Account does not exist.
\n"
'429':
description: "**HTTP Status Code:** `429`
\n Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/). \n\n "
security:
- openapi_oauth:
- phone:read:admin
- phone:read:list_users:admin
openapi_authorization: []
x-extensions:
x-permissions: []
x-macro-scopes:
- phone:read:admin
x-granular-scopes:
- phone:read:list_users:admin
/phone/users/batch:
put:
tags:
- Users
summary: Update multiple users' properties in batch
description: "Updates multiple users' properties in batch. For example, you can update the users' [site](https://support.zoom.us/hc/en-us/articles/360020809672) when `batchType` is equal to `move_site`. You can update 10 users at a time. \n\n**Prerequisites:**\n* Business, or Education account\n* Zoom Phone license \n\n\n\n\n\n**[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `phone:write:admin`\n\n**[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `phone:update:batch_users:admin`\n\n**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT`"
operationId: updateUsersPropertiesInBatch
requestBody:
content:
application/json:
schema:
type: object
properties:
batch_type:
type: string
description: "The type that updates in batch. \n\n You must enter `move_site`: `user_ids` and `site_id` into the current request body. \n\n `assign_pending_user`: Assign user to the Zoom Phone feature of the Zoom One license. `site_id` is not required.\n `activate`: Activate Zoom Phone feature to users, `site_id` is not required."
example: move_site
enum:
- move_site
- assign_pending_user
- activate
user_ids:
maxItems: 10
type: array
description: The IDs of user.
items:
type: string
example: DYHrdpjrS3uaOf7dPkkg8w
site_id:
type: string
description: 'The unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672) where the user should be moved or assigned. '
example: 8f71O6rWT8KFUGQmJIFAdQ
activation_status:
type: string
description: "The type that activates or deactivates in batch. \n\n You must enter \n\n `activate`: Activate Zoom Phone feature to users, `site_id` is not required.\n `deactivate`: Deactivate the Zoom Phone feature of users, users can not make or receive calls, `site_id` is not required."
example: activate
enum:
- activate
- deactivate
responses:
'204':
description: '**HTTP Status Code:** `204` **No Content**
Successfully update multiple users'' properties in batch.'
'400':
description: "**HTTP Status Code:** `400`
\n Bad Request \n\n **Error Code:** `400`
\n Current batch type does not support, batch type:{0}.
\n**Error Code:** `12007`
\n The user in Trash cannot be assigned Zoom One license.
\n**Error Code:** `12008`
\n The Zoom Phone feature of the Zoom One license cannot be supported for users assigned to India sites.
\n"
'404':
description: "**HTTP Status Code:** `404`
\n Not Found \n\n **Error Code:** `2001`
\n Account does not exist.
\n"
'429':
description: "**HTTP Status Code:** `429`
\n Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/). \n\n "
security:
- openapi_oauth:
- phone:write:admin
- phone:update:batch_users:admin
openapi_authorization: []
x-extensions:
x-permissions: []
x-macro-scopes:
- phone:write:admin
x-granular-scopes:
- phone:update:batch_users:admin
post:
tags:
- Users
summary: Batch add users
description: "Adds phone users in batch. You can add up to 10 users at a time.\n\n**Prerequisites**\n* The users must be active in your [Zoom account](https://marketplace.zoom.us/docs/api-reference/zoom-api/methods#tag/Users/operation/users). \n* Pro or higher account plan with Zoom phone license\n* Account owner or admin permissions\n\n\n\n**[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `phone:write:admin`\n\n**[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `phone:write:batch_users:admin`\n\n**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `MEDIUM`"
operationId: batchAddUsers
requestBody:
content:
application/json:
schema:
type: object
properties:
users:
maxItems: 10
type: array
items:
required:
- calling_plans
- email
- extension_number
type: object
properties:
email:
type: string
description: The user email. It ensures the users are active in your Zoom account.
example: user@example.com
first_name:
type: string
description: The user's first name. It ensures the users are active in your Zoom account.
example: Zeb
last_name:
type: string
description: The user's last name. It ensures the users are active in your Zoom account.
example: Zoomie
calling_plans:
maxItems: 150
type: array
description: "The calling plan. If the account supports billing multiple subscriptions and includes more than one type A plan, use the following format to assign a type from a specific subscription:type:billing_subscription_id or type:billing_subscription_name. \n \n* Type "AU/NZ Metered" if the assigned package is "Australia/New Zealand Metered Calling Plan". \n \n* Type "AU/NZ Unlimited" if the assigned package is "Australia/New Zealand Unlimited Calling Plan". \n \n* Type "UK/Ireland Metered" if the assigned package is "United Kingdom/Ireland Metered Calling Plan". \n \n* Type "UK/Ireland Unlimited" if the assigned package is "United Kingdom/Ireland Unlimited Calling Plan". \n \n* Type "US/CA Metered" if the assigned package is "United States/Canada Metered Calling Plan". \n \n* Type "US/CA Unlimited" if the assigned package is "United States/Canada Unlimited Calling Plan". \n \n* Type "Europe Zone A Metered" if the assigned package is "Europe Zone A Metered Calling Plan". \n \n* Type "Europe Zone A Unlimited" if the assigned package is "Europe Zone A Unlimited Calling Plan". \n \n* Type "Europe Zone B Metered" if the assigned package is "Europe Zone B Metered Calling Plan". \n \n* Type "Europe Zone B Unlimited" if the assigned package is "Europe Zone B Unlimited Calling Plan". \n \n* Type "JP Metered" if the assigned package is "Japan Metered Calling Plan". \n \n* Type "JP Unlimited" if the assigned package is "Japan Unlimited Calling Plan". \n \n* Type "IN Metered" if the assigned package is "India Metered Calling Plan". \n \n* Type "IN Unlimited" if the assigned package is "India Unlimited Calling Plan". \n \n* Type "IN Pro" if the assigned package is "Zoom Phone India Pro". \n \n* Type "IN International Calling Add-On" if the assigned package is "India International Calling Add-On". \n \n* Type "Global Select Metered" if the assigned package is "Global Select Metered Calling Plan". \n \n* Type "Global Select" if the assigned package is "Global Select Calling Plan". \n \n* Type "International Calling Add-On" if the assigned package is "International Calling Add-On". \n \n* Type "Beta" if the assigned package is "Beta Calling Plan". \n \n* Type "Pro" if the assigned package is "Zoom Phone Pro". \n \n* Type "Power Pack" if the assigned package is "Zoom Phone Power Pack".\nLeave this section blank if no package has been assigned."
items:
type: string
example: AU/NZ Metered or AU/NZ Metered:FT-SUBREF-21168178 or AU/NZ Metered:My SubRefer 1
site_code:
type: string
description: The site code. It's required if the site name is not provided or if Indian plans are assigned.
example: '1'
site_name:
type: string
description: The site name. It's required if the site code is not provided or if Indian plans are assigned.
example: Main Site
template_name:
type: string
description: The template name. Configure the user setting according to the specified template. The template must belong to the same site as the user.
example: account_user_template_01
extension_number:
type: string
description: The extension number. Do not include the site code in an extension number if the site code is enabled.
example: '100012345'
activation_status:
type: string
description: 'The activation status. Configures the activation status of user. When activation_status is not set, its value should depend on "Activate Zoom Phone users automatically" in the account settings.
`activate`: Activate the Zoom Phone feature, users can make or receive calls.
`deactivate`: Deactivate the Zoom Phone feature, users can not make or receive calls.'
example: activate
enum:
- activate
- deactivate
phone_numbers:
maxItems: 10
type: array
description: The phone numbers in E164 format. Separate multiple phone number entries with commas. Make sure that these numbers have been ported to your account as unassigned phone numbers.
items:
type: string
example: '+12055437350'
outbound_caller_id:
type: string
description: The outbound caller ID. Hides the caller ID if left blank. You can set an extension's phone number or any company number as the outbound caller ID.
example: '+12055437350'
select_outbound_caller_id:
type: boolean
description: Whether to allow this extension to change the outbound caller ID when placing calls.
example: true
sms:
type: boolean
description: Whether to enable SMS for this user.
example: true
desk_phones:
maxItems: 10
type: array
description: "Required: brand, model, and MAC address of each desk phone. \nOptional: provision template. Skips the provision template not supported by the device. For more information, see [supported devices](https://support.zoom.us/hc/en-us/articles/360001299063-Zoom-Voice-Supported-Devices).\n\nEach user can be assigned up to 3 desk phones.\n\nAll users must belong to the same site if a desk phone is assigned to multiple users."
items:
type: object
properties:
brand:
type: string
description: The manufacturer (brand) name of the device.
example: Yealink
model:
type: string
description: The model name of the device.
example: 405hd
mac:
type: string
description: The MAC address of the desk phone.
example: 80-5e-c0-3d-eb-c4
provision_template:
type: string
description: The provision template name. Supported by select devices.
example: TestProvisionTemplate
responses:
'201':
description: "**HTTP Status Code:** `201` \n \nCreated."
content:
application/json:
schema:
maxItems: 10
type: array
items:
type: object
properties:
email:
type: string
description: The imported user email.
example: ta_test_import_user_01@example.com
id:
type: string
description: The user ID.
example: FwOAeL4TRmqQrmF0jOfzkQ
'400':
description: "**HTTP Status Code:** `400`
\n Bad Request \n\n **Error Code:** `400`
\n User size must be less than 10.\nYou need to have administrative privileges to edit this site.
\n**Error Code:** `300`
\n Validation Failed.
\n"
'404':
description: "**HTTP Status Code:** `404`
\n Not Found \n\n **Error Code:** `404`
\n Template is invalid
\n"
'429':
description: "**HTTP Status Code:** `429`
\n Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/). \n\n "
security:
- openapi_oauth:
- phone:write:admin
- phone:write:batch_users:admin
openapi_authorization: []
x-extensions:
x-permissions: []
x-macro-scopes:
- phone:write:admin
x-granular-scopes:
- phone:write:batch_users:admin
/phone/users/{userId}:
get:
tags:
- Users
summary: Get a user's profile
description: "Returns a user's [Zoom phone](https://support.zoom.us/hc/en-us/articles/360001297663-Quickstart-Guide-for-Zoom-Phone-Administrators) profile. For user-level apps, pass [the `me` value](https://marketplace.zoom.us/docs/api-reference/using-zoom-apis#mekeyword) instead of the `userId` parameter.\n\n**Prerequisites**\n * A Business or Enterprise account \n* A Zoom Phone license\n\n**[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `phone:read`,`phone:read:admin`\n\n**[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `phone:read:user`,`phone:read:user:admin`\n\n**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT`"
operationId: phoneUser
parameters:
- name: userId
in: path
description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
required: true
schema:
type: string
example: DYHrdpjrS3uaOf7dPkkg8w
responses:
'200':
description: "**HTTP Status Code:** `200` \n User profile object returned. "
content:
application/json:
schema:
type: object
properties:
calling_plans:
maxItems: 150
type: array
description: The calling plan of the user
items:
type: object
properties:
type:
type: integer
description: 'The [type](https://marketplace.zoom.us/docs/api-reference/other-references/plans#zoom-phone-calling-plans) of calling plan. '
example: 600
billing_account_id:
type: string
description: The billing account ID. It displays when the user is located in India.
example: 3WWAEiEjTj2IQuyDiKMd_A
billing_account_name:
type: string
description: The billing account name. It displays when the user is located in India.
example: Delhi billing
billing_subscription_id:
type: string
description: The billing subscription ID. It displays when the account supports billing multiple subscriptions.
example: FT-SUBREF-21168178
billing_subscription_name:
type: string
description: The billing subscription name. It displays when the account supports billing multiple subscriptions.Can be edited via the Billing page.
example: My Subscription
cost_center:
type: string
description: The cost center name.
example: testCostCenter
department:
type: string
description: The department's name.
example: testDepartment
email:
type: string
description: The email address of the user.
example: suesu_test_delete3@testapi.com
emergency_address:
type: object
properties:
address_line1:
type: string
description: The address Line 1 of the [emergency address](https://support.zoom.us/hc/en-us/articles/360021062871-Setting-an-Emergency-Address) that contains the house number and street name.
example: 55 Almaden Boulevard
address_line2:
type: string
description: The address Line 2 of the [emergency address](https://support.zoom.us/hc/en-us/articles/360021062871-Setting-an-Emergency-Address) that contains the building number, floor number, unit, and others.
example: 1002 Airport Way S
city:
type: string
description: The city of the [emergency address](https://support.zoom.us/hc/en-us/articles/360021062871-Setting-an-Emergency-Address).
example: SAN JOSE
country:
maxLength: 2
minLength: 2
type: string
description: The two-lettered country code (Alpha-2 code in ISO-3166 format) standard of the site's [emergency address](https://support.zoom.us/hc/en-us/articles/360021062871-Setting-an-Emergency-Address).
example: US
id:
type: string
description: The emergency address ID.
example: CCc8zYT1SN60i7uDMzDbXA
state_code:
type: string
description: The state code of the [emergency address](https://support.zoom.us/hc/en-us/articles/360021062871-Setting-an-Emergency-Address).
example: CA
zip:
type: string
description: The zip code of the [emergency address](https://support.zoom.us/hc/en-us/articles/360021062871-Setting-an-Emergency-Address).
example: '95113'
extension_id:
type: string
description: The extension ID.
example: nNGsNx2zRDyiIXWVI23FCQ
extension_number:
type: integer
description: The extension number.
format: int64
example: 100012347
id:
type: string
description: The Zoom user ID.
example: NL3cEpSdRc-c2t8aLoZqiw
phone_numbers:
maxItems: 10
type: array
items:
type: object
properties:
id:
type: string
description: The phone number ID.
example: '---M1padRvSUtw7YihN7sA'
number:
type: string
description: The phone number.
example: '14232058798'
phone_user_id:
type: string
description: The Zoom phone user ID.
example: u7pnC468TaS46OuNoEw6GA
policy:
type: object
properties:
ad_hoc_call_recording:
type: object
properties:
enable:
type: boolean
description: Whether the current extension can record and save calls to the cloud.
example: true
recording_start_prompt:
type: boolean
description: Whether a prompt plays to call participants when the recording has started.
example: true
recording_transcription:
type: boolean
description: Whether the call recording transcription is enabled.
example: true
play_recording_beep_tone:
type: object
properties:
enable:
type: boolean
description: Whether to play the side tone beep for recorded users while recording. It displays only when ad hoc call recording policy uses the new framework.
example: true
play_beep_volume:
type: integer
description: The side tone beep volume. It displays only when `enable` is set to `true`.
example: 60
enum:
- 0
- 20
- 40
- 60
- 80
- 100
play_beep_time_interval:
type: integer
description: The beep time interval in seconds. It displays only when the `enable` is set to true.
example: 15
enum:
- 5
- 10
- 15
- 20
- 25
- 30
- 60
- 120
play_beep_member:
type: string
description: The beep sides. It displays only when the `enable` is set to true.
example: allMember
enum:
- allMember
- recordingSide
locked:
type: boolean
description: Whether the senior administrator allow users to modify the current settings.
example: true
locked_by:
type: string
description: Which level of administrator prohibits the modification of the current settings.
example: account
enum:
- account
- user_group
- site
description: A list of ad hoc call recording settings.
ad_hoc_call_recording_access_members:
maxItems: 50
uniqueItems: true
type: array
description: The shared ad hoc call recording access member list.
items:
allOf:
- type: object
properties:
access_user_id:
type: string
description: The Zoom user ID to share access permissions.
example: w0RChiauQeqRlv5fgxYULQ
allow_delete:
type: boolean
description: Whether the user has delete permissions. The default is **false**.
example: false
allow_download:
type: boolean
description: Whether the user has download permissions. The default is **false**.
example: false
- type: object
properties:
shared_id:
type: string
description: The unique identifier of the shared sub-setting that the user can access.
example: --e8ugg0SeS-9clgrDkn2w
auto_call_recording:
type: object
properties:
allow_stop_resume_recording:
type: boolean
description: Whether the stop of and resuming of automatic call recording is enabled.
example: true
disconnect_on_recording_failure:
type: boolean
description: Whether a call disconnects when there is an issue with automatic call recording and the call cannot reconnect after five seconds. It does **not** include emergency calls.
example: true
enable:
type: boolean
description: Whether the automatic call recording is enabled.
example: true
locked:
type: boolean
description: Whether the senior administrator allows users to modify the current settings.
example: true
locked_by:
type: string
description: Which level of administrator prohibits the modification of the current settings.
example: account
enum:
- account
- user_group
- site
recording_calls:
type: string
description: "The type of calls automatically recorded: \n* `inbound` \n* `outbound` \n* `both`"
example: inbound
enum:
- inbound
- outbound
- both
recording_explicit_consent:
type: boolean
description: "Whether the **Press 1** option that provides recording consent is enabled.\n\nDeprecated: This field will be deprecated in a future release. As an alternative, use the `inbound_audio_notification.recording_explicit_consent` and `outbound_audio_notification.recording_explicit_consent` to operate inbound and outbound prompt separately.\n\nNote: \n* if customers who opt OP flag named `Enable Caller Based Consent Options`, the values of `recording_explicit_consent` and `inbound_audio_notification.recording_explicit_consent` will remain consistent. When the field is updated, the `inbound_audio_notification.recording_explicit_consent` will be also updated.\n* If customers do not opt OP flag named `Enable Caller Based Consent Options`, the values of `recording_explicit_consent`, `inbound_audio_notification.recording_explicit_consent`, and `outbound_audio_notification.recording_explicit_consent` always remain consistent. When the field is updated, the `inbound_audio_notification.recording_explicit_consent`, and `outbound_audio_notification.recording_explicit_consent` will be also updated."
example: true
deprecated: true
recording_start_prompt:
type: boolean
description: "Whether a prompt plays to call participants when the recording has started.\n\nDeprecated: This field will be deprecated in a future release. As an alternative, use the `inbound_audio_notification.recording_start_prompt` and `outbound_audio_notification.recording_start_prompt` to operate inbound and outbound prompt separately.\n\nNote: \n* If customers who opt OP flag named `Enable Caller Based Consent Options`, the values of `recording_start_prompt` and `inbound_audio_notification.recording_start_prompt` will remain consistent. When the field is updated, the `inbound_audio_notification.recording_start_prompt` will be also updated.\n* If customers do not opt OP flag named `Enable Caller Based Consent Options`, the values of `recording_start_prompt`, `inbound_audio_notification.recording_start_prompt`, and `outbound_audio_notification.recording_start_prompt` always remain consistent. When the field is updated, the `inbound_audio_notification.recording_start_prompt`, and `outbound_audio_notification.recording_start_prompt` will be also updated."
example: true
deprecated: true
recording_transcription:
type: boolean
description: Whether the call recording transcription is enabled.
example: true
play_recording_beep_tone:
type: object
properties:
enable:
type: boolean
description: Whether to play the side tone beep for recorded users while recording. It displays only when auto call recording policy uses the new framework.
example: true
play_beep_volume:
type: integer
description: The side tone beep volume. It displays only when `enable` is set to `true`.
example: 60
enum:
- 0
- 20
- 40
- 60
- 80
- 100
play_beep_time_interval:
type: integer
description: The beep time interval in seconds. It displays only when the `enable` is set to true.
example: 15
enum:
- 5
- 10
- 15
- 20
- 25
- 30
- 60
- 120
play_beep_member:
type: string
description: The beep sides. It displays only when the `enable` is set to true.
example: allMember
enum:
- allMember
- recordingSide
inbound_audio_notification:
type: object
properties:
recording_start_prompt:
type: boolean
description: "Whether a prompt plays to call participants when the recording has started for inbound call is enabled.\n\nNote: \n* If customers do not opt OP flag named `Enable Caller Based Consent Options`, the values of `recording_start_prompt`, `inbound_audio_notification.recording_start_prompt`, and `outbound_audio_notification.recording_start_prompt` always remain consistent.\n* If customers do not opt OP flag named `Enable Caller Based Consent Options`, update both `inbound_audio_notification.recording_start_prompt` and `outbound_audio_notification.recording_start_prompt` with the same value."
example: true
recording_explicit_consent:
type: boolean
description: "Whether the **Press 1** option that provides recording consent for outbound call is enabled.\n\nNote: \n* If customers do not opt OP flag named `Enable Caller Based Consent Options`, the values of `recording_explicit_consent`, `inbound_audio_notification.recording_explicit_consent`, and `outbound_audio_notification.recording_explicit_consent` always remain consistent.\n* If customers do not opt OP flag named `Enable Caller Based Consent Options`, update both `inbound_audio_notification.recording_explicit_consent` and `outbound_audio_notification.recording_explicit_consent` with the same value."
example: true
outbound_audio_notification:
type: object
properties:
recording_start_prompt:
type: boolean
description: "Whether a prompt plays to call participants when the recording has started for outbound call is enabled.\n\nNote: \n* If customers do not opt OP flag named `Enable Caller Based Consent Options`, the values of `recording_start_prompt`, `inbound_audio_notification.recording_start_prompt`, and `outbound_audio_notification.recording_start_prompt` always remain consistent.\n* If customers do not opt OP flag named `Enable Caller Based Consent Options`, update both `inbound_audio_notification.recording_start_prompt` and `outbound_audio_notification.recording_start_prompt` with the same value."
example: true
recording_explicit_consent:
type: boolean
description: "Whether the **Press 1** option that provides recording consent for outbound call is enabled.\n\nNote: \n* If customers do not opt OP flag named `Enable Caller Based Consent Options`, the values of `recording_explicit_consent`, `inbound_audio_notification.recording_explicit_consent`, and `outbound_audio_notification.recording_explicit_consent` always remain consistent.\n* If customers do not opt OP flag named `Enable Caller Based Consent Options`, update both `inbound_audio_notification.recording_explicit_consent` and `outbound_audio_notification.recording_explicit_consent` with the same value."
example: true
description: A list of the user's automatic call recording settings.
auto_call_recording_access_members:
maxItems: 50
uniqueItems: true
type: array
description: The shared automatic call recording access member list.
items:
allOf:
- type: object
properties:
access_user_id:
type: string
description: The Zoom user ID to share access permissions.
example: w0RChiauQeqRlv5fgxYULQ
allow_delete:
type: boolean
description: Whether the user has delete permissions. The default is **false**.
example: false
allow_download:
type: boolean
description: Whether the user has download permissions. The default is **false**.
example: false
- type: object
properties:
shared_id:
type: string
description: The unique identifier of the shared sub-setting that the user can access.
example: --e8ugg0SeS-9clgrDkn2w
call_overflow:
type: object
properties:
call_overflow_type:
type: integer
description: "`1` - Low restriction (external numbers not allowed)\n`2` - Medium restriction (external numbers and external contacts not allowed)\n `3` - High restriction (external numbers, external contacts and internal extensions without inbound automatic call recording not allowed)\n`4` - No restriction"
example: 1
enum:
- 1
- 2
- 3
- 4
enable:
type: boolean
description: Whether to allow the user to forward calls to other numbers.
example: true
locked:
type: boolean
description: Whether the senior administrator allows users to modify the current settings.
example: true
locked_by:
type: string
description: Which level of administrator prohibits the modification of the current settings.
example: site
enum:
- account
- user_group
- site
modified:
type: boolean
description: Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).
example: true
call_park:
type: object
properties:
call_not_picked_up_action:
type: integer
description: The action when a parked call is not picked up. 100-Ring back to parker, 0-Forward to voicemail of the parker, 9-Disconnect, 50-Forward to another extension.
example: 9
enable:
type: boolean
description: Whether to allow calls placed on hold to be resumed from another location using a retrieval code.
example: true
expiration_period:
type: integer
description: A time limit for parked calls and unit minutes. After the expiration period ends, the retrieval code is no longer valid and a new code will be generated.
example: 10
enum:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 15
- 20
- 25
- 30
- 35
- 40
- 45
- 50
- 55
- 60
forward_to:
type: object
properties:
display_name:
type: string
description: The extension's name.
example: test extension name
extension_id:
type: string
description: The extension ID.
example: CcrEGgmeQem1uyJsuIRKwA
extension_number:
type: integer
description: The extension number.
format: int64
example: 1000123477
extension_type:
type: string
description: "The type of extension: \n* `user` \n* `zoomRoom` \n* `commonArea`\n* `ciscoRoom/polycomRoom` \n* `autoReceptionist` \n* `sharedLineGroup` \n* `callQueue`"
example: user
enum:
- user
- zoomRoom
- commonArea
- ciscoRoom/polycomRoom
- autoReceptionist
- callQueue
- sharedLineGroup
id:
type: string
description: The ID of the extension `user`, `zoomRoom`, `commonArea`, `ciscoRoom/polycomRoom`, `autoReceptionist`, `callQueue` or `sharedLineGroup`.
example: fWOgOALdT1ei4vjXK-QYsA
description: The extension's forwarding information.
locked:
type: boolean
description: Whether the senior administrator allows users to modify the current settings.
example: true
locked_by:
type: string
description: Which level of administrator prohibits the modification of the current settings.
example: account
enum:
- account
- user_group
- site
call_transferring:
type: object
properties:
call_transferring_type:
type: integer
description: 'This field contains these settings: 1-No restriction.
2-Medium restriction (external numbers and external contacts not allowed).
3-High restriction (external numbers, unrecorded external contacts, and internal extensions without inbound automatic recording not allowed).
4-Low restriction (external numbers not allowed).'
example: 2
enum:
- 1
- 2
- 3
- 4
enable:
type: boolean
description: Whether to allow user to warm or blind transfer their calls. This does not apply to warm transfer on IP Phones except for Yealink.
example: true
locked:
type: boolean
description: Whether the senior administrator allows users to modify the current settings.
example: true
locked_by:
type: string
description: Which level of administrator prohibits the modification of the current settings.
example: account
enum:
- account
- user_group
- site
delegation:
type: boolean
description: Whether the user can use [call delegation](https://support.zoom.us/hc/en-us/articles/360032881731-Setting-up-call-delegation-shared-lines-appearance-).
example: true
elevate_to_meeting:
type: boolean
description: Whether the user can elevate their phone calls to a meeting.
example: true
emergency_address_management:
type: object
properties:
enable:
type: boolean
description: Whether to allow the current extension to manage its own emergency addresses.
example: true
prompt_default_address:
type: boolean
description: Whether to prompt the user to set or confirm a default address.
example: true
emergency_calls_to_psap:
type: boolean
description: When disabled, emergency calls placed by the user will not be delivered to the Public Safety Answering Point(PSAP), but still will be delivered to the Internal Safety Response Team based on the settings.
example: true
forwarding_to_external_numbers:
type: boolean
description: Whether call forwarding to external numbers is enabled. Use the `call_handling_forwarding_to_other_users` instead.
example: true
deprecated: true
call_handling_forwarding_to_other_users:
type: object
properties:
enable:
type: boolean
example: true
call_forwarding_type:
type: integer
description: "`1` - Low restriction (external numbers not allowed)\n`2` - Medium restriction (external numbers and external contacts not allowed)\n `3` - High restriction (external numbers, external contacts and internal extensions without inbound automatic call recording not allowed)\n`4` - No restriction"
example: 1
enum:
- 1
- 2
- 3
- 4
locked:
type: boolean
description: Whether the senior administrator allows users to modify the current settings.
example: true
locked_by:
type: string
description: Which level of administrator prohibits the modification of the current settings.
example: site
enum:
- account
- user_group
- site
modified:
type: boolean
description: Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).
example: true
description: Whether to allow the user to forward calls to other numbers.
hand_off_to_room:
type: object
properties:
enable:
type: boolean
description: Whether to allow users to send a call to a Zoom Room.
example: true
locked:
type: boolean
description: Whether the senior administrator allows users to modify the current settings.
example: true
locked_by:
type: string
description: Which level of administrator prohibits the modification of the current settings.
example: account
enum:
- account
- user_group
- site
international_calling:
type: boolean
description: Whether the current extension can make international calls outside of their calling plan.
example: true
mobile_switch_to_carrier:
type: object
properties:
enable:
type: boolean
description: Whether to allow the user to switch from a Zoom Phone to their native carrier.
example: true
locked:
type: boolean
description: Whether the senior administrator allows users to modify the current settings.
example: true
locked_by:
type: string
description: Which level of administrator prohibits the modification of the current settings.
example: account
enum:
- account
- user_group
- site
select_outbound_caller_id:
type: object
properties:
enable:
type: boolean
description: Whether to allow the current extension to change the outbound caller ID when placing calls.
example: true
allow_hide_outbound_caller_id:
type: boolean
description: Whether to allow the current extension to hide outbound caller id.
example: true
locked:
type: boolean
description: Whether the senior administrator allows users to modify the current settings.
example: true
locked_by:
type: string
description: Which level of administrator prohibits the modification of the current settings.
example: account
enum:
- account
- user_group
- site
sms:
type: object
properties:
enable:
type: boolean
description: Whether the user can send and receive messages.
example: true
international_sms:
type: boolean
description: Whether the user can send and receive international messages.
example: true
international_sms_countries:
maxItems: 100
type: array
description: The country that can send and receive international messages. The [country ISO code](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries).
items:
type: string
example: US
locked:
type: boolean
description: Whether the senior administrator allows users to modify the current settings.
example: true
locked_by:
type: string
description: Which level of administrator prohibits modifying the current settings.
example: account
enum:
- account
- user_group
- site
allow_copy:
type: boolean
description: Allow users to copy message.
example: true
allow_paste:
type: boolean
description: 'Allow users to use the paste function to paste content (e.g. text or images) into SMS/MMS conversations. '
example: true
voicemail:
type: object
properties:
allow_delete:
type: boolean
description: This field allows the user to delete his own voicemail.
example: true
allow_download:
type: boolean
description: This field allows the user to download their voicemail.
example: true
allow_transcription:
type: boolean
description: Whether the voicemail transcription is enabled.
example: true
allow_videomail:
type: boolean
description: Whether to allow users to access, share, download, or delete the video mail
example: true
enable:
type: boolean
description: Whether the current extension can access, receive, or share voicemail.
example: true
voicemail_access_members:
maxItems: 50
type: array
description: The shared voicemail access member list.
items:
allOf:
- type: object
properties:
access_user_id:
type: string
description: The Zoom user ID to share the voicemail access permissions with.
example: w0RChiauQeqRlv5fgxYULQ
allow_delete:
type: boolean
description: Whether the user has delete permissions. The default is **false**.
example: false
allow_download:
type: boolean
description: Whether the user has download permissions. The default is **false**.
example: false
allow_sharing:
type: boolean
description: Whether the user has permission to share. The default is **false**.
example: false
- type: object
properties:
shared_id:
type: string
description: ' The unique identifier of the shared sub-setting that the user can access.'
example: --e8ugg0SeS-9clgrDkn2w
zoom_phone_on_mobile:
type: object
properties:
allow_calling_clients:
type: array
description: The clients in this list are allowed to make and receive calls.
items:
type: string
description: 'Acceptable value is:
ios
android
intune
blackberry'
example: ios
enum:
- ios
- android
- intune
- blackberry
allow_sms_mms_clients:
type: array
description: The clients in this list are allowed to use the SMS/MMS function.
items:
type: string
description: "The acceptable value is \nios\nandroid\nintune\nblackberry."
example: ios
enum:
- ios
- android
- intune
- blackberry
allow_calling_sms_mms:
type: boolean
description: Whether to allow calling and SMS/MMS functions on mobile.
example: true
deprecated: true
enable:
type: boolean
description: Whether to allow user to use Zoom Phone on mobile clients (iOS, iPad OS, and Android).
example: true
locked:
type: boolean
description: Whether the senior administrator allows users to modify the current settings.
example: true
locked_by:
type: string
description: Which level of administrator prohibits the modification of the current settings.
example: account
enum:
- account
- user_group
- site
personal_audio_library:
type: object
properties:
enable:
type: boolean
description: Whether to allow users to change their own audio library.
example: true
locked:
type: boolean
description: Whether the senior administrator allows users to modify the current settings.
example: true
locked_by:
type: string
description: Which level of administrator prohibits the modification of the current settings.
example: account
enum:
- account
- user_group
- site
modified:
type: boolean
description: Whether the current settings have been modified. If modified, they can be reset in the update call.
example: true
allow_music_on_hold_customization:
type: boolean
description: Whether to allow music on hold customization.
example: true
allow_voicemail_and_message_greeting_customization:
type: boolean
description: Whether to allow voicemail and message greeting customization.
example: true
voicemail_transcription:
type: object
properties:
enable:
type: boolean
description: Whether to allow the user to access transcriptions of voicemails.
example: true
locked:
type: boolean
description: Whether the senior administrator allows users to modify the current settings.
example: true
locked_by:
type: string
description: Which level of administrator prohibits modifying the current settings.
example: account
enum:
- account
- user_group
- site
modified:
type: boolean
description: Whether the current settings have been modified. If modified, they can be reset in the update call.
example: true
voicemail_notification_by_email:
type: object
properties:
include_voicemail_file:
type: boolean
description: Whether to include the voicemail file.
example: true
include_voicemail_transcription:
type: boolean
description: Whether to include the voicemail transcription.
example: false
enable:
type: boolean
description: If enabled, the user will receive email notifications when there is a new voicemail from users, call queues, auto receptionists, or shared line groups.
example: true
locked:
type: boolean
description: Whether the senior administrator allows users to modify the current settings.
example: true
locked_by:
type: string
description: Which level of administrator prohibits modifying the current settings.
example: account
enum:
- account
- user_group
- site
modified:
type: boolean
description: Whether the current settings have been modified. If modified, they can be reset in the update call.
example: true
shared_voicemail_notification_by_email:
type: object
properties:
enable:
type: boolean
description: If enabled, the user will receive email notification when there is a new shared voicemail.
example: true
locked:
type: boolean
description: Whether the senior administrator allows users to modify the current settings.
example: true
locked_by:
type: string
description: Which level of administrator prohibits modifying the current settings.
example: account
enum:
- account
- user_group
- site
modified:
type: boolean
description: Whether the current settings have been modified. If modified, they can be reset in the update call.
example: true
check_voicemails_over_phone:
type: object
properties:
enable:
type: boolean
example: true
locked:
type: boolean
description: Whether the senior administrator allows users to modify the current settings.
example: true
locked_by:
type: string
description: Which level of administrator prohibits modifying the current settings.
example: account
enum:
- account
- user_group
- site
modified:
type: boolean
description: Whether the current settings have been modified. If modified, they can be reset in the update call.
example: true
description: Whether the user can check voicemails of users and shared line groups over phone using a PIN code.
audio_intercom:
type: object
properties:
enable:
type: boolean
example: true
locked:
type: boolean
description: Whether the senior administrator allows users to modify the current settings.
example: true
locked_by:
type: string
description: Which level of administrator prohibits modifying the current settings.
example: account
enum:
- account
- user_group
- site
modified:
type: boolean
description: Whether the current settings have been modified. If modified, they can be reset in the update call.
example: true
description: Whether the user can use audio intercom.
peer_to_peer_media:
type: object
properties:
enable:
type: boolean
example: true
locked:
type: boolean
description: Whether the senior administrator allows users to modify the current settings.
example: true
locked_by:
type: string
description: Which level of administrator prohibits modifying the current settings.
example: account
enum:
- account
- user_group
- site
modified:
type: boolean
description: Whether the current settings have been modified. If modified, they can be reset in the update call.
example: true
description: Whether to allow Zoom clients to send media directly to each other. Users or devices that have certain features like recording or monitoring enabled may not be able to use the peer to peer media sharing feature.
e2e_encryption:
type: object
properties:
enable:
type: boolean
description: Whether to allow users to switch their calls to `End-to-End Encryption`. If users have the `Automatic Call Recording` turned on, they will not be able to use the `End-to-End Encryption`.
example: true
locked:
type: boolean
description: Whether the senior administrator allows users to modify the current settings.
example: true
locked_by:
type: string
description: Which level of administrator prohibits modifying the current settings.
example: site
enum:
- account
- user_group
- site
modified:
type: boolean
description: Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).
example: true
outbound_calling:
type: object
properties:
enable:
type: boolean
description: Whether to define calling rules to restrict the user or extension from calling specific countries, cities, or numbers.
example: true
locked:
type: boolean
description: Whether the senior administrator allows users to modify the current settings.
example: true
modified:
type: boolean
description: Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).
example: true
outbound_sms:
type: object
properties:
enable:
type: boolean
description: Whether to allow users to send and receive messages. You will still need to assign a valid calling plan and phone number to each user for them to send and receive messages.
example: true
locked:
type: boolean
description: Whether the senior administrator allows users to modify the current settings.
example: true
modified:
type: boolean
description: Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).
example: true
allow_end_user_edit_call_handling:
type: object
properties:
enable:
type: boolean
description: Whether to allow users to be able to edit their call handling settings on the web portal or enable call forwarding on the client.
example: true
locked:
type: boolean
description: Whether the senior administrator allows users to modify the current settings.
example: true
modified:
type: boolean
description: Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).
example: true
voicemail_intent_based_prioritization:
type: object
properties:
enable:
type: boolean
description: Whether to allow users to prioritize urgent voicemails based on predefined priority topics. Users need to have voicemail transcription policy enabled.
example: true
locked:
type: boolean
description: Whether the senior administrator allows users to modify the current settings.
example: true
locked_by:
type: string
description: Which level of administrator prohibits modifying the current settings.
example: site
enum:
- account
- user_group
- site
modified:
type: boolean
description: Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).
example: true
voicemail_tasks:
type: object
properties:
enable:
type: boolean
description: Whether to allow users to extract tasks from English voicemail transcriptions. Users need to have voicemail transcription policy enabled.
example: true
locked:
type: boolean
description: Whether the senior administrator allows users to modify the current settings.
example: true
modified:
type: boolean
description: Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).
example: true
locked_by:
type: string
description: Which level of administrator prohibits modifying the current settings.
example: site
enum:
- account
- user_group
- site
zoom_phone_on_desktop:
type: object
properties:
allow_calling_clients:
type: array
description: The clients in this list are allowed to make and receive calls.
items:
type: string
description: 'The acceptable value is:
mac_os
windows
vdi_client
linux.'
example: mac_os
enum:
- mac_os
- windows
- vdi_client
- linux
allow_sms_mms_clients:
type: array
description: The clients in this list are allowed to use the SMS/MMS function.
items:
type: string
description: "The acceptable value is \nmac_os\nwindows\nvdi_client\nlinux."
example: mac_os
enum:
- mac_os
- windows
- vdi_client
- linux
enable:
type: boolean
description: Whether to allow users to use Zoom Phone on desktop clients (Mac OS, Windows, VDI clinet and Linux).
example: true
locked:
type: boolean
description: Whether the senior administrator allows users to modify the current settings.
example: true
locked_by:
type: string
description: Which level of administrator prohibits the modification of the current settings.
example: site
enum:
- invalid
- account
- site
modified:
type: boolean
description: Whether the current settings have been modified. If modified, you can reset settings to display when using the new policy framework.
example: true
description: Allows user to use Zoom Phone on desktop clients (Mac OS, Windows, VDI client and Linux).
online_fax:
type: object
properties:
enable:
type: boolean
description: Whether to allow users to prioritize urgent voicemails based on predefined priority topics. Users need to have voicemail transcription policy enabled.
example: true
locked:
type: boolean
description: Whether the senior administrator allows users to modify the current settings.
example: true
locked_by:
type: string
description: Which level of administrator prohibits modifying the current settings.
example: site
enum:
- account
- user_group
- site
modified:
type: boolean
description: Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).
example: true
fax_notification_by_email:
type: boolean
description: Whether to enable email notifications when a new fax is received.
example: true
include_fax_as_attachment:
type: boolean
description: Whether to include fax file as email attachment.
example: true
enable_outbound_fax_transmission_report:
type: boolean
description: Whether to enable transmission report for outbound faxes.
example: true
description: The online fax policy for the user.
show_custom_disclaimer_when_using_zoom_phone:
type: object
properties:
enable:
type: boolean
description: Whether this policy is enabled.
example: false
locked:
type: boolean
description: Whether the senior administrator allows users to modify the current settings.
example: false
locked_by:
type: string
description: The level of administrator that prohibits modification of the current settings.
example: account
enum:
- invalid
- account
- user_group
- site
display_frequency:
type: string
description: The display frequency.
example: first_time_only
enum:
- first_time_only
- every_time
- every_month
- every_quarter
- every_6_months
- every_year
custom_disclaimer_list:
type: array
description: The custom disclaimer list.
items:
type: object
properties:
language:
type: string
description: "The audio prompt language code. \n\nEnglish: `en` \n\nDeutsch: `de` \n\nEspañol: `es` \n\nFrançais: `fr` \n\nItaliano: `it` \n\nNederlands: `nl` \n\nPortuguês: `pt` \n\nJapanese: `ja` \n\nKorean: `ko` \n\nChinese: `zh-cn` \n\nTaiwanese: `zh-tw` \n\nNorsk: `no` \n\nРусский: `ru` \n\nBahasa Melayu: `ms` \n\nTiếng Việt: `vi` \n\nУкраїнська: `uk` \n\nBahasa Indonesia: `id` \n\nPolski: `pl` \n\nTürkçe: `tr`"
example: en
enum:
- en
- de
- es
- fr
- it
- nl
- pt
- ja
- ko
- zh-cn
- zh-tw
- 'no'
- ru
- ms
- vi
- uk
- id
- pl
- tr
title:
maxLength: 60
type: string
description: The custom disclaimer title.
example: tilte
body:
maxLength: 500
type: string
description: The custom disclaimer body.
example: body
default:
type: boolean
description: Whether this language is the default disclaimer. Participants using languages not configured in this list will see the disclaimer marked as default. **Exactly one item in the list must have `default` set to `true`** when the list is non-empty.
example: true
description: Whether to show a custom disclaimer when starting to use the Zoom Phone service.
description: A list of the user's policies. Policies are exceptions to the user's calling plan restrictions.
site_admin:
type: boolean
description: Whether the user is a [site admin](https://support.zoom.us/hc/en-us/articles/360042099012) or not.
example: true
site_id:
type: string
description: The unique identifier of a [site](https://support.zoom.us/hc/en-us/articles/360020809672).
example: 8f71O6rWT8KFUGQmJIFAdQ
status:
type: string
description: "The status of the user. \n \n`activate`: An active user. \n \n`deactivate`: User has been deactivated from the Zoom Phone system."
example: activate
enum:
- activate
- deactivate
description: The Zoom user profile.
'400':
description: "**HTTP Status Code:** `400`
\n Bad Request \n\n **Error Code:** `300`
\n Invalid user id.
\n"
'404':
description: "**HTTP Status Code:** `404`
\n Not Found \n\n **Error Code:** `1001`
\n User does not exist: {userId}.
\n**Error Code:** `2001`
\n Account does not exist.
\n**Error Code:** `404`
\n Site does not exist.
\n"
'429':
description: "**HTTP Status Code:** `429`
\n Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/). \n\n "
security:
- openapi_oauth:
- phone:read
- phone:read:admin
- phone:read:user
- phone:read:user:admin
openapi_authorization: []
x-extensions:
x-permissions: []
x-macro-scopes:
- phone:read
- phone:read:admin
x-granular-scopes:
- phone:read:user
- phone:read:user:admin
patch:
tags:
- Users
summary: Update a user's profile
description: "Updates a user's [Zoom Phone](https://support.zoom.us/hc/en-us/categories/360001370051-Zoom-Phone) profile. For user-level apps, pass [the `me` value](https://marketplace.zoom.us/docs/api-reference/using-zoom-apis#mekeyword) instead of the `userId` parameter.\n\nTo add, update or remove the shared access members for voicemail and call recordings, use the [Add](https://marketplace.zoom.us/docs/api-reference/phone/methods#tag/Users/operation/addUserSetting)/[Update](https://marketplace.zoom.us/docs/api-reference/phone/methods#tag/Users/operation/updateUserSetting)/[Delete](https://marketplace.zoom.us/docs/api-reference/phone/methods#tag/Users/operation/deleteUserSetting) a user's shared access setting API. \n\n**Prerequisites** \n* A Business or Enterprise account \n* A Zoom Phone license\n\n**[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `phone:write`,`phone:write:admin`\n\n**[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `phone:update:user`,`phone:update:user:admin`\n\n**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT`"
operationId: updateUserProfile
parameters:
- name: userId
in: path
description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
required: true
schema:
type: string
example: DYHrdpjrS3uaOf7dPkkg8w
requestBody:
content:
application/json:
schema:
type: object
properties:
emergency_address_id:
type: string
description: The emergency address ID.
example: CCc8zYT1SN60i7uDMzDbXA
extension_number:
type: string
description: The extension number of the user. The number must be complete (i.e. site number + short extension).
example: '1000123477'
policy:
type: object
properties:
ad_hoc_call_recording:
type: object
properties:
enable:
type: boolean
description: Whether the current extension can record and save calls to the cloud.
example: true
recording_start_prompt:
type: boolean
description: Whether a prompt plays to call participants when the recording has started.
example: true
recording_transcription:
type: boolean
description: Whether call recording transcription is enabled.
example: true
reset:
type: boolean
description: Whether the user's ad hoc recording reset option will use the phone site's settings.
example: true
play_recording_beep_tone:
type: object
properties:
enable:
type: boolean
description: Whether to play a side tone beep for recorded users while recording. Only displayed when ad hoc call recording policy uses the new framework.
example: true
play_beep_volume:
type: integer
description: The volume of the side tone beep. It displays only when `enable` is set to `true`.
example: 60
enum:
- 0
- 20
- 40
- 60
- 80
- 100
play_beep_time_interval:
type: integer
description: The beep time interval in seconds. It displays only when `enable` is true.
example: 15
enum:
- 5
- 10
- 15
- 20
- 25
- 30
- 60
- 120
play_beep_member:
type: string
description: The beep sides. It displays only when `enable` is true.
example: allMember
enum:
- allMember
- recordingSide
description: A list of ad hoc call recording settings.
auto_call_recording:
type: object
properties:
allow_stop_resume_recording:
type: boolean
description: Whether the stop of and resuming of automatic call recording is enabled.
example: true
disconnect_on_recording_failure:
type: boolean
description: Whether a call disconnects when there is an issue with automatic call recording and the call cannot reconnect after five seconds. This does **not** include emergency calls.
example: true
enable:
type: boolean
description: Whether automatic call recording is enabled.
example: true
recording_calls:
type: string
description: "The type of calls automatically recorded: \n* `inbound` \n* `outbound` \n* `both`"
example: inbound
enum:
- inbound
- outbound
- both
recording_explicit_consent:
type: boolean
description: "Whether press 1 to provide recording consent is enabled.\n\nDeprecated: This field will be deprecated in a future release. As an alternative, use the `inbound_audio_notification.recording_explicit_consent` and `outbound_audio_notification.recording_explicit_consent` to operate inbound and outbound prompt separately.\n\nNote: \n* If customers opt for an OP flag named `Enable Caller Based Consent Options`, the values of `recording_explicit_consent` and `inbound_audio_notification.recording_explicit_consent` will remain consistent. When the field is updated, the `inbound_audio_notification.recording_explicit_consent` will be also updated.\n* If customers do not opt for an OP flag named `Enable Caller Based Consent Options`, the values of `recording_explicit_consent`, `inbound_audio_notification.recording_explicit_consent`, and `outbound_audio_notification.recording_explicit_consent` always remain consistent. When the field is updated, the `inbound_audio_notification.recording_explicit_consent`, and `outbound_audio_notification.recording_explicit_consent` will be also updated."
example: true
deprecated: true
recording_start_prompt:
type: boolean
description: "Whether a prompt plays to call participants when the recording has started.\n\nDeprecated: This field will be deprecated in a future release. As an alternative, use the `inbound_audio_notification.recording_start_prompt` and `outbound_audio_notification.recording_start_prompt` to operate inbound and outbound prompt separately.\n\nNote: \n* if customers who opt OP flag named `Enable Caller Based Consent Options`, the values of `recording_start_prompt` and `inbound_audio_notification.recording_start_prompt` will remain consistent. When the field is updated, the `inbound_audio_notification.recording_start_prompt` will be also updated.\n* if customers who do not opt OP flag named `Enable Caller Based Consent Options`, the values of `recording_start_prompt`, `inbound_audio_notification.recording_start_prompt`, and `outbound_audio_notification.recording_start_prompt` always remain consistent. when the field is updated, the `inbound_audio_notification.recording_start_prompt`, and `outbound_audio_notification.recording_start_prompt` will be also updated."
example: true
deprecated: true
recording_transcription:
type: boolean
description: Whether call recording transcription is enabled.
example: true
play_recording_beep_tone:
type: object
properties:
enable:
type: boolean
description: Whether to play a side tone beep for recorded users while recording. Only displayed when auto call recording policy uses the new framework.
example: true
play_beep_volume:
type: integer
description: The volume of the side tone beep. It displays only when `enable` is set to `true`.
example: 60
enum:
- 0
- 20
- 40
- 60
- 80
- 100
play_beep_time_interval:
type: integer
description: The beep time interval in seconds. It displays only when `enable` is true.
example: 15
enum:
- 5
- 10
- 15
- 20
- 25
- 30
- 60
- 120
play_beep_member:
type: string
description: The beep sides. It displays only when `enable` is true.
example: allMember
enum:
- allMember
- recordingSide
reset:
type: boolean
description: Whether the user's automatic call recording reset option will use the phone site's settings.
example: true
inbound_audio_notification:
type: object
properties:
recording_start_prompt:
type: boolean
description: "Whether a prompt plays to call participants when the recording has started for inbound call is enabled.\n\nNote: \n* If customers do not opt for an OP flag named `Enable Caller Based Consent Options`, the values of `recording_start_prompt`, `inbound_audio_notification.recording_start_prompt`, and `outbound_audio_notification.recording_start_prompt` always remain consistent.\n* If customers who do not opt OP flag named `Enable Caller Based Consent Options`, update both `inbound_audio_notification.recording_start_prompt` and `outbound_audio_notification.recording_start_prompt` with the same value."
example: true
recording_explicit_consent:
type: boolean
description: "Whether the **Press 1** option that provides recording consent for inbound call is enabled.\n\nNote: \n* If customers do not opt for an OP flag named `Enable Caller Based Consent Options`, the values of `recording_explicit_consent`, `inbound_audio_notification.recording_explicit_consent`, and `outbound_audio_notification.recording_explicit_consent` always remain consistent.\n* If customers do not opt for an OP flag named `Enable Caller Based Consent Options`, update both `inbound_audio_notification.recording_explicit_consent` and `outbound_audio_notification.recording_explicit_consent` with the same value."
example: true
outbound_audio_notification:
type: object
properties:
recording_start_prompt:
type: boolean
description: "Whether a prompt plays to call participants when the recording has started for outbound call is enabled.\n\nNote: \n* If customers do not opt for an OP flag named `Enable Caller Based Consent Options`, the values of `recording_start_prompt`, `inbound_audio_notification.recording_start_prompt`, and `outbound_audio_notification.recording_start_prompt` always remain consistent.\n* If customers do not opt OP flag named `Enable Caller Based Consent Options`, update both `inbound_audio_notification.recording_start_prompt` and `outbound_audio_notification.recording_start_prompt` with the same value."
example: true
recording_explicit_consent:
type: boolean
description: "Whether the **Press 1** option that provides recording consent for outbound call is enabled.\n\nNote: \n* if customers who do not opt OP flag named `Enable Caller Based Consent Options`, the values of `recording_explicit_consent`, `inbound_audio_notification.recording_explicit_consent`, and `outbound_audio_notification.recording_explicit_consent` always remain consistent.\n* if customers who do not opt OP flag named `Enable Caller Based Consent Options`, update both `inbound_audio_notification.recording_explicit_consent` and `outbound_audio_notification.recording_explicit_consent` with the same value."
example: true
description: A list of the user's automatic call recording settings.
call_overflow:
type: object
properties:
call_overflow_type:
type: integer
description: "`1` - Low restriction (external numbers not allowed)\n`2` - Medium restriction (external numbers and external contacts not allowed)\n `3` - High restriction (external numbers, external contacts and internal extensions without inbound automatic call recording not allowed)\n`4` - No restriction"
example: 1
enum:
- 1
- 2
- 3
- 4
enable:
type: boolean
description: Whether to allow user to forward calls to other numbers.
example: true
reset:
type: boolean
description: Whether the current settings will use the phone site's settings (applicable if the current settings are using the new policy framework).
example: true
call_park:
type: object
properties:
call_not_picked_up_action:
type: integer
description: The action when a parked call is not picked up. 100-Ring back to parker, 0-Forward to voicemail of the parker, 9-Disconnect, 50-Forward to another extension.
example: 50
enable:
type: boolean
description: Whether to allow calls placed on hold to be resumed from another location using a retrieval code.
example: true
expiration_period:
type: integer
description: A time limit for parked calls, unit minutes. After the expiration period ends, the retrieval code is no longer valid and a new code will be generated.
example: 10
enum:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 15
- 20
- 25
- 30
- 35
- 40
- 45
- 50
- 55
- 60
forward_to_extension_id:
type: string
description: The extension ID.
example: CcrEGgmeQem1uyJsuIRKwA
call_transferring:
type: object
properties:
call_transferring_type:
type: integer
description: '1-No restriction.
2-Medium restriction (external numbers and external contacts not allowed).
3-High restriction (external numbers, unrecorded external contacts, and internal extensions without inbound automatic recording not allowed).
4-Low restriction (external numbers not allowed).'
example: 2
enum:
- 1
- 2
- 3
- 4
enable:
type: boolean
description: Whether to allow the user to warm or blind transfer their calls. This does not apply to warm transfer on IP Phones except for Yealink.
example: true
reset:
type: boolean
description: Whether the current settings will use the phone site's settings (applicable if the current settings are using the new policy framework).
example: true
delegation:
type: boolean
description: Whether the user can use [call delegation](https://support.zoom.us/hc/en-us/articles/360032881731-Setting-up-call-delegation-shared-lines-appearance-).
example: true
elevate_to_meeting:
type: boolean
description: Whether the user can elevate their phone calls to a meeting.
example: true
emergency_address_management:
type: object
properties:
enable:
type: boolean
description: Whether to allow the current extension to manage its own emergency addresses.
example: true
prompt_default_address:
type: boolean
description: Whether to prompt the user to set or confirm a default address.
example: true
emergency_calls_to_psap:
type: boolean
description: When disabled, emergency calls placed by the user will not be delivered to the Public Safety Answering Point(PSAP), but still will be delivered to the Internal Safety Response Team based on the settings.
example: true
forwarding_to_external_numbers:
type: boolean
description: Whether to allow call forwarding to external numbers. Use the `call_handling_forwarding_to_other_users` instead.
example: true
deprecated: true
call_handling_forwarding_to_other_users:
type: object
properties:
enable:
type: boolean
example: true
call_forwarding_type:
type: integer
description: "`1` - Low restriction (external numbers not allowed)\n`2` - Medium restriction (external numbers and external contacts not allowed)\n `3` - High restriction (external numbers, external contacts and internal extensions without inbound automatic call recording not allowed)\n`4` - No restriction"
example: 1
enum:
- 1
- 2
- 3
- 4
reset:
type: boolean
description: Whether the current settings will use the phone site's settings (applicable if the current settings are using the new policy framework).
example: true
description: Whether to allow user to forward calls to other numbers.
hand_off_to_room:
type: object
properties:
enable:
type: boolean
description: Whether to allow users to send a call to a Zoom Room.
example: true
international_calling:
type: boolean
description: Whether the current extension can make international calls outside of their calling plan.
example: true
mobile_switch_to_carrier:
type: object
properties:
enable:
type: boolean
description: Whether to allow the user to switch from a Zoom Phone to their native carrier.
example: true
select_outbound_caller_id:
type: object
properties:
enable:
type: boolean
description: Whether to allow the current extension to change the outbound caller ID when placing calls.
example: true
allow_hide_outbound_caller_id:
type: boolean
description: Whether to allow the current extension to hide outbound caller id.
example: true
sms:
type: object
properties:
enable:
type: boolean
description: Whether the user can send and receive messages.
example: true
international_sms:
type: boolean
description: Whether the user can send and receive international messages.
example: true
international_sms_countries:
maxItems: 100
type: array
description: The country which can send and receive international messages. The [country iso code](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries).
items:
type: string
example: US
allow_copy:
type: boolean
description: Whether to copy messages.
example: true
allow_paste:
type: boolean
description: Whether to use the paste function to paste content (e.g. text or images) into SMS/MMS conversations.
example: true
voicemail:
type: object
properties:
allow_delete:
type: boolean
description: This field allows the user to delete his own voicemail.
example: true
allow_download:
type: boolean
description: This field allows the user to download his own voicemail.
example: true
allow_transcription:
type: boolean
description: Whether to allow voicemail transcription.
example: true
allow_videomail:
type: boolean
description: Whether to allow users to access, share, download or delete the videomail.
example: true
enable:
type: boolean
description: Whether the current extension can access, receive, or share voicemail.
example: true
voicemail_access_members:
maxItems: 50
uniqueItems: true
type: array
description: This field updates a voicemail setting. <b>Deprecated:</b> we will completely deprecate this property in a future release. Use `Add/Update/Delete a user's shared access setting` API instead, with settingType 'voice-mail' to manage the voicemail access members.
items:
type: object
properties:
access_user_id:
type: string
description: The Zoom user ID to share the voicemail access permissions with.
example: w0RChiauQeqRlv5fgxYULQ
allow_delete:
type: boolean
description: Whether the user has delete permissions. The default is **false**.
example: false
allow_download:
type: boolean
description: Whether the user has download permissions. The default is **false**.
example: false
allow_sharing:
type: boolean
description: Whether the user has permission to share. The default is **false**.
example: false
zoom_phone_on_mobile:
type: object
properties:
allow_calling_sms_mms:
type: boolean
description: Whether to allow Calling and SMS/MMS functions on Mobile.
example: true
deprecated: true
enable:
type: boolean
description: Whether to allow user to use Zoom Phone on mobile clients (iOS, iPad OS and Android).
example: true
allow_calling_clients:
maxItems: 10
type: array
description: The clients in this list are allowed to make and receive calls.
items:
type: string
description: "The acceptable value is \nios\nandroid\nintune\nblackberry."
example: ios
enum:
- ios
- android
- intune
- blackberry
allow_sms_mms_clients:
maxItems: 10
type: array
description: The clients in this list are allowed to use the SMS/MMS function.
items:
type: string
description: 'The acceptable value is
ios
android
intune
blackberry.'
example: ios
enum:
- ios
- android
- intune
- blackberry
personal_audio_library:
type: object
properties:
allow_music_on_hold_customization:
type: boolean
description: Whether to allow the user to customize allow music on hold.
example: true
allow_voicemail_and_message_greeting_customization:
type: boolean
description: Whether to allow the user to customize voicemail and message greeting.
example: true
enable:
type: boolean
description: Whether to allow users to change their own audio library.
example: true
reset:
type: boolean
description: Whether the user's personal audio library reset option will use the phone site's settings.
example: true
voicemail_transcription:
type: object
properties:
enable:
type: boolean
description: Whether to allow the user to access transcriptions of voicemails`.
example: true
reset:
type: boolean
description: Whether the user's voicemail transcription reset option will use the phone site's settings.
example: true
voicemail_notification_by_email:
type: object
properties:
include_voicemail_file:
type: boolean
description: Whether to include voicemail file.
example: true
include_voicemail_transcription:
type: boolean
description: Whether to include voicemail transcription.
example: true
enable:
type: boolean
description: If enabled, user will receive email notifications when there is a new voicemail from users, call queues, auto receptionists or shared line groups.
example: true
reset:
type: boolean
description: Whether the user's voicemail notification by email reset option will use the phone site's settings.
example: true
shared_voicemail_notification_by_email:
type: object
properties:
enable:
type: boolean
description: If enabled, the user will receive email notification when there is a new shared voicemail.
example: true
reset:
type: boolean
description: Whether the user's share voicemail notification by email reset option will use the phone site's settings.
example: true
check_voicemails_over_phone:
type: object
properties:
enable:
type: boolean
description: If enabled, user can check voicemails over phone using a PIN code.
example: true
reset:
type: boolean
description: Whether the user's check voicemail over phone reset option will use the phone site's settings.
example: true
audio_intercom:
type: object
properties:
enable:
type: boolean
description: If enabled, user can use audio intercom.
example: true
reset:
type: boolean
description: Whether the user's audio intercom reset option will use the phone site's settings.
example: true
e2e_encryption:
type: object
properties:
enable:
type: boolean
description: Whether to allow users to switch their calls to `End-to-End Encryption`. If users have the `Automatic Call Recording` turned on, they will not be able to use the `End-to-End Encryption`.
example: true
reset:
type: boolean
description: Whether the current settings will use the phone account's settings (applicable if the current settings are using the new policy framework).
example: true
zoom_phone_on_desktop:
type: object
properties:
enable:
type: boolean
description: Whether to allow users to use Zoom Phone on desktop clients (Mac OS, Windows, VDI clinet and Linux).
example: true
reset:
type: boolean
description: Whether the current settings use the phone account's settings if the current settings use the new policy framework.
example: true
allow_calling_clients:
maxItems: 10
type: array
description: The clients in this list are allowed to make and receive calls.
items:
type: string
description: "The acceptable value is \nmac_os\nwindows\nvdi_client\nlinux."
example: mac_os
enum:
- mac_os
- windows
- vdi_client
- linux
allow_sms_mms_clients:
maxItems: 10
type: array
description: The clients in this list are allowed to use the SMS/MMS function.
items:
type: string
description: "The acceptable value is \nmac_os\nwindows\nvdi_client\nlinux."
example: mac_os
enum:
- mac_os
- windows
- vdi_client
- linux
description: Allows users to use Zoom Phone on desktop clients (Mac OS, Windows, VDI client and Linux).
online_fax:
type: object
properties:
enable:
type: boolean
description: Whether to allow the user to access transcriptions of voicemails`.
example: true
reset:
type: boolean
description: Whether the user's voicemail transcription reset option will use the phone site's settings.
example: true
fax_notification_by_email:
type: boolean
description: Whether to enable email notifications when a new fax is received.
example: true
include_fax_as_attachment:
type: boolean
description: Whether to include fax file as email attachment.
example: true
enable_outbound_fax_transmission_report:
type: boolean
description: Whether to enable transmission report for outbound faxes.
example: true
description: The online fax policy update for the user.
show_custom_disclaimer_when_using_zoom_phone:
type: object
properties:
enable:
type: boolean
description: Whether to show a custom disclaimer when starting to use the Zoom Phone service.
example: true
reset:
type: boolean
description: Whether the current settings will use the phone site's settings. This is applicable if the current settings are using the new policy framework.
example: false
display_frequency:
type: string
description: The display frequency.
example: first_time_only
enum:
- first_time_only
- every_time
- every_month
- every_quarter
- every_6_months
- every_year
custom_disclaimer_list:
type: array
description: The custom disclaimer list.
items:
type: object
properties:
language:
type: string
description: "The audio prompt language code. \n\nEnglish: `en` \n\nDeutsch: `de` \n\nEspañol: `es` \n\nFrançais: `fr` \n\nItaliano: `it` \n\nNederlands: `nl` \n\nPortuguês: `pt` \n\nJapanese: `ja` \n\nKorean: `ko` \n\nChinese: `zh-cn` \n\nTaiwanese: `zh-tw` \n\nNorsk: `no` \n\nРусский: `ru` \n\nBahasa Melayu: `ms` \n\nTiếng Việt: `vi` \n\nУкраїнська: `uk` \n\nBahasa Indonesia: `id` \n\nPolski: `pl` \n\nTürkçe: `tr`"
example: en
enum:
- en
- de
- es
- fr
- it
- nl
- pt
- ja
- ko
- zh-cn
- zh-tw
- 'no'
- ru
- ms
- vi
- uk
- id
- pl
- tr
title:
maxLength: 60
type: string
description: The custom disclaimer title.
example: tilte
body:
maxLength: 500
type: string
description: The custom disclaimer body.
example: body
default:
type: boolean
description: Whether this language is the default disclaimer. Participants using languages not configured in this list will see the disclaimer marked as default. **Exactly one item in the list must have `default` set to `true`** when the list is non-empty.
example: true
description: Whether to show a custom disclaimer when starting to use the Zoom Phone service.
description: A list of the user's policies.
site_id:
type: string
description: 'The unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672) where the user should be moved or assigned. '
example: 8f71O6rWT8KFUGQmJIFAdQ
template_id:
type: string
description: The settings template ID. If the `site_id` field is set, look for the template site with the value of the `site_id` field. The template ID has precedence and the policy will be ignored even if the `policy` field is set.
example: Dv4YdINdTk+Z5RToadh5ug==
responses:
'204':
description: '**HTTP Status Code:** `204`
Profile updated.'
'400':
description: "**HTTP Status Code:** `400`
\n Bad Request \n\n **Error Code:** `13800`
\n You have not enabled the OP flag named 'Enable Caller Based Consent Options'. Use the same value to update 'inbound_audio_notification.recording_start_prompt' and 'outbound_audio_notification.recording_start_prompt'.
\n**Error Code:** `13800`
\n You have not enabled the OP flag named 'Enable Caller Based Consent Options'. Use the same value to update 'inbound_audio_notification.recording_explicit_consent' and 'outbound_audio_notification.recording_explicit_consent'.
\n**Error Code:** `300`
\n Invalid user ID.
\n**Error Code:** `405`
\n The number of items for policy.zoom_phone_on_desktop.allow_calling_clients must not exceed 10.
\n**Error Code:** `405`
\n The number of items for policy.zoom_phone_on_desktop.allow_sms_mms_clients must not exceed 10.
\n**Error Code:** `405`
\n The number of items for policy.zoom_phone_on_mobile.allow_calling_clients must not exceed 10.
\n**Error Code:** `405`
\n The number of items for policy.zoom_phone_on_mobile.allow_sms_mms_clients must not exceed 10.
\n"
'404':
description: "**HTTP Status Code:** `404`
\n Not Found \n\n **Error Code:** `2001`
\n Account does not exist.
\n**Error Code:** `1001`
\n User does not exist: {userId}.
\n"
'429':
description: "**HTTP Status Code:** `429`
\n Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/). \n\n "
security:
- openapi_oauth:
- phone:write
- phone:write:admin
- phone:update:user
- phone:update:user:admin
openapi_authorization: []
x-extensions:
x-permissions: []
x-macro-scopes:
- phone:write
- phone:write:admin
x-granular-scopes:
- phone:update:user
- phone:update:user:admin
/phone/users/{userId}/call_forward_settings/{hourType}:
post:
tags:
- Users
summary: Add user call forward setting
description: 'Adds Zoom Phone call forwarding numbers for a user under a specific hour type. Call forwarding settings let users route their inbound calls to one or more external phone numbers or external contacts during business, closed, holiday, or break hours.
**Prerequisites:**
* A Business or Enterprise account
* A Zoom Phone license
**[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `phone:write:admin`,`phone:write`
**[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `phone:write:user_call_handling_setting`,`phone:write:user_call_handling_setting:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT`'
operationId: addUserCallForwardSetting
parameters:
- name: userId
in: path
description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
required: true
schema:
type: string
example: DYHrdpjrS3uaOf7dPkkg8w
- name: hourType
in: path
description: The hour type of the call handling setting. `closed_hours` and `break_hours` cannot be updated when business hours are set to `24 Hours a Day, 7 Days a Week`.
required: true
schema:
type: string
example: business_hours
enum:
- business_hours
- closed_hours
- holiday_hours
- break_hours
requestBody:
content:
application/json:
schema:
type: object
properties:
holiday_hour_id:
type: string
description: The holiday hour ID. Required when `hourType` is `holiday_hours`.
example: TNxfEp2WT9emyCsAQt4qnA
break_hour_id:
type: string
description: The break hour ID. Required when `hourType` is `break_hours`.
example: TNxfEp2WT9emyCsAQt4qnA
call_forward_settings:
maxItems: 10
type: array
description: The call forwarding settings.
items:
type: object
properties:
enable:
type: boolean
description: Whether to receive a call.
example: false
phone_number:
type: string
description: The external phone number in [E.164](https://en.wikipedia.org/wiki/E.164) format.
example: '+12058945583'
phone_number_description:
type: string
description: The external phone number's description.
example: testDescription
external_contact:
type: object
properties:
external_contact_id:
type: string
description: The external contact's ID.
example: OJGi5xOFQPmrJbKg68-iWg
description: The external contact.
responses:
'201':
description: "**HTTP Status Codes** `201` \n Created."
content:
application/json:
schema:
type: object
properties:
call_forward_settings:
maxItems: 10
type: array
description: The call forwarding settings.
items:
type: object
properties:
call_forward_id:
type: string
description: The call forwarding ID.
example: sd8683_fwh39_F3hfsd
'400':
description: "**HTTP Status Code:** `400`
\n Bad Request \n\n **Error Code:** `15101`
\n Break hour does not exist: {breakHourId}.
\n**Error Code:** `15102`
\n Holiday hour does not exist: {holidayHourId}.
\n**Error Code:** `15104`
\n The {hour_type} cannot be updated when business hours are set to `24 Hours a Day, 7 Days a Week`.
\n"
'404':
description: "**HTTP Status Code:** `404`
\n Not Found \n\n **Error Code:** `404`
\n User does not exist: {userId}.
\n"
security:
- openapi_oauth:
- phone:write:admin
- phone:write
- phone:write:user_call_handling_setting
- phone:write:user_call_handling_setting:admin
openapi_authorization: []
x-extensions:
x-permissions: []
x-macro-scopes:
- phone:write:admin
- phone:write
x-granular-scopes:
- phone:write:user_call_handling_setting
- phone:write:user_call_handling_setting:admin
delete:
tags:
- Users
summary: Delete user call forward setting
description: 'Delete Zoom Phone call forwarding numbers for a user under a specific hour type. Call forwarding settings let users route their inbound calls to one or more external phone numbers or external contacts during business, closed, holiday, or break hours.
**Prerequisites:**
* A Business or Enterprise account
* A Zoom Phone license
**[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `phone:write:admin`,`phone:write`
**[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `phone:delete:user_call_handling_setting`,`phone:delete:user_call_handling_setting:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT`'
operationId: deleteUserCallForwardSetting
parameters:
- name: userId
in: path
description: The user ID or email address of the user. For user-level apps, pass the `me` value for the `userId` parameter.
required: true
schema:
type: string
example: DYHrdpjrS3uaOf7dPkkg8w
- name: hourType
in: path
description: The hour type of the call handling setting. The `closed_hours` and `break_hours` values cannot be updated when business hours are set to `24 Hours a Day, 7 Days a Week`.
required: true
schema:
type: string
example: business_hours
enum:
- business_hours
- closed_hours
- holiday_hours
- break_hours
- name: call_forward_id
in: query
description: The call forwarding ID.
required: false
schema:
type: string
example: qPvrfrrcrf843cdfvbDRDg
responses:
'204':
description: Successfully deleted the user's call forwarding setting.
'400':
description: "**HTTP Status Code:** `400`
\n Bad Request \n\n **Error Code:** `15103`
\n Call forward does not exist: {callForwardId}.
\n**Error Code:** `15104`
\n The {hour_type} cannot be updated when business hours are set to `24 Hours a Day, 7 Days a Week`.
\n"
'404':
description: "**HTTP Status Code:** `404`
\n Not Found \n\n **Error Code:** `404`
\n User does not exist: {userId}.
\n"
security:
- openapi_oauth:
- phone:write:admin
- phone:write
- phone:delete:user_call_handling_setting
- phone:delete:user_call_handling_setting:admin
openapi_authorization: []
x-extensions:
x-permissions: []
x-macro-scopes:
- phone:write:admin
- phone:write
x-granular-scopes:
- phone:delete:user_call_handling_setting
- phone:delete:user_call_handling_setting:admin
/phone/users/{userId}/call_handling/settings:
get:
tags:
- Users
summary: Get user call handling setting
description: 'Returns the call handling setting of a user for the specified hour type.
**Prerequisites:**
* A Business or Enterprise account
* A Zoom Phone license
**[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `phone:read:admin`,`phone:read`
**[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `phone:read:user_call_handling_setting:admin`,`phone:read:user_call_handling_setting`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT`'
operationId: getUserCallHandlingSetting
parameters:
- name: userId
in: path
description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
required: true
schema:
type: string
example: DYHrdpjrS3uaOf7dPkkg8w
- name: hour_type
in: query
description: The hour type of the call handling setting.
required: false
schema:
type: string
example: business_hours
enum:
- business_hours
- closed_hours
- holiday_hours
- break_hours
- name: holiday_hour_id
in: query
description: The holiday hour ID. Required when `hour_type` is `holiday_hours`.
required: false
schema:
type: string
example: TNxfEp2WT9emyCsAQt4qnA
- name: break_hour_id
in: query
description: The break hour ID. Required when `hour_type` is `break_hours`.
required: false
schema:
type: string
example: ULfeE4mgSImyelNmTekUfg
responses:
'200':
description: '**HTTP Status Code:** `200` User call handling setting retrieved successfully.'
content:
application/json:
schema:
type: object
properties:
call_forward_settings:
maxItems: 10
type: array
description: The call forwarding settings.
items:
type: object
properties:
call_forward_id:
type: string
description: The call forwarding ID.
example: sd8683_fwh39_F3hfsd
enable:
type: boolean
description: Whether this call forwarding entry is enabled.
example: false
phone_number:
type: string
description: The external phone number in [E.164 format](https://en.wikipedia.org/wiki/E.164).
example: '+12058945583'
phone_number_description:
type: string
description: The external phone number description.
example: Office landline
external_contact:
type: object
properties:
external_contact_id:
type: string
description: The external contact's ID.
example: OJGi5xOFQPmrJbKg68-iWg
external_contact_name:
type: string
description: The external contact's name.
example: Johnson
external_contact_email:
type: string
description: The external contact's email address.
example: example@example.com
phone_numbers:
maxItems: 10
type: array
description: The external contact's phone numbers.
items:
type: string
example: '+12058945656'
description: The external contact information.
call_distribution_setting:
type: object
properties:
ring_mode:
type: string
description: 'The call handling ring mode that determines how the user''s devices are rung for incoming calls.
* `simultaneous` — All devices ring at the same time.
* `sequential` — Devices ring one after another in the configured order.'
example: simultaneous
enum:
- simultaneous
- sequential
simultaneous_ring_max_wait_time:
type: integer
description: The maximum wait time, in seconds, for the simultaneous ring mode. Specifies how long all devices ring at the same time before the call is handled by the unanswered-call action. Only meaningful when `ring_mode` is `simultaneous`. The value is still returned when `ring_mode` is `sequential` because it is persisted independently.
example: 30
enum:
- 10
- 15
- 20
- 25
- 30
- 35
- 40
- 45
- 50
- 55
- 60
sequential_ring_duration:
type: integer
description: The ringing duration for each device, in seconds, for the sequential ring mode. Specifies how long each device rings before moving on to the next device in the order. Only meaningful when `ring_mode` is `sequential`. The value is still returned when `ring_mode` is `simultaneous` because it is persisted independently.
example: 30
enum:
- 10
- 15
- 20
- 25
- 30
- 35
- 40
- 45
- 50
- 55
- 60
description: The call distribution settings that control how incoming calls are routed to the user's devices. Only returned when the user has at least one `call_forward_settings` configured.
call_handling_setting:
type: object
properties:
busy_on_another_call_action:
type: string
description: 'The action to take when the user is busy on another call:
* `call_waiting` — Enable call waiting.
* `forward_to_voicemail` — Forward to voicemail or videomail.
* `play_message_then_disconnect` — Play a message and then disconnect.
* `play_busy_signal` — Play a busy signal.
* `forward_to_extension` — Forward to another extension.
* `forward_to_external_contact` — Forward to an external contact.
* `forward_to_external_number` — Forward to an external phone number.'
example: call_waiting
enum:
- call_waiting
- forward_to_voicemail
- play_message_then_disconnect
- play_busy_signal
- forward_to_extension
- forward_to_external_contact
- forward_to_external_number
busy_on_another_call_action_setting:
description: The call handling setting based on the `busy_on_another_call_action` value. Only present when `busy_on_another_call_action` is `forward_to_voicemail`, `play_message_then_disconnect`, `forward_to_extension`, `forward_to_external_contact`, or `forward_to_external_number`. When `busy_on_another_call_action` and `call_not_answer_action` are both `forward_to_voicemail`, the voicemail sub-settings (greeting, instructions, operator, etc.) are shared with `call_not_answer_action_setting`, and this field is returned as an empty object to avoid duplication.
oneOf:
- title: Forward to Voicemail or Videomail
type: object
properties:
allow_callers_check_voicemail:
type: boolean
description: Whether to allow callers to check voicemail.
example: false
connect_to_operator:
type: boolean
description: Whether to allow callers to reach an operator.
example: false
operator_extension:
type: object
properties:
extension_id:
type: string
description: The operator's extension ID.
example: jN9mb38lQTaMgxUq3Nd6ow
extension_number:
type: integer
description: The operator's extension number.
format: int64
example: 101014
extension_name:
type: string
description: The operator's display name.
example: user A
extension_type:
type: string
description: The operator's extension type.
example: user
enum:
- user
- callQueue
- autoReceptionist
- commonArea
- sharedLineGroup
- zoomRoom
- ciscoRoom/PolycomRoom
description: The operator's extension information. Only present when `connect_to_operator` is `true`.
voicemail_greeting:
type: object
properties:
audio_id:
type: string
description: The audio prompt file ID.
example: yCT14TwySDGVUypVlKNEyA
audio_name:
type: string
description: The audio prompt file name.
example: voicemail-greeting.mp3
description: The voicemail or videomail greeting prompt.
leave_voicemail_instruction:
type: object
properties:
audio_id:
type: string
description: The audio prompt file ID.
example: yCT14TwySDGVUypVlKNEyA
audio_name:
type: string
description: The audio prompt file name.
example: leave-voicemail-instruction.mp3
description: The leave-voicemail instruction prompt. Only returned when `connect_to_operator` or `allow_callers_check_voicemail` is `true`.
play_callee_voicemail_greeting:
type: boolean
description: Whether to play the callee's voicemail greeting when the caller reaches the end of the forwarding sequence. Only returned when `connect_to_operator` is `true`.
example: false
description: Only returned when `busy_on_another_call_action` is `forward_to_voicemail`.
- title: Forward to Extension
type: object
properties:
forward_to_extension:
type: object
properties:
extension_id:
type: string
description: The extension ID.
example: jN9mb38lQTaMgxUq3Nd6ow
extension_number:
type: integer
description: The extension number.
format: int64
example: 101014
extension_name:
type: string
description: The extension display name.
example: user A
extension_type:
type: string
description: The extension type.
example: user
enum:
- user
- callQueue
- autoReceptionist
- commonArea
- sharedLineGroup
- zoomRoom
- ciscoRoom/PolycomRoom
description: The extension to forward calls to.
play_callee_voicemail_greeting:
type: boolean
description: Whether to play the callee's voicemail greeting when the caller reaches the end of the forwarding sequence.
example: false
description: Only returned when `busy_on_another_call_action` is `forward_to_extension`.
- title: Forward to External Contact
type: object
properties:
forward_to_external_contact:
type: object
properties:
external_contact_id:
type: string
description: The external contact's ID.
example: OJGi5xOFQPmrJbKg68-iWg
external_contact_name:
type: string
description: The external contact's name.
example: Johnson
external_contact_email:
type: string
description: The external contact's email address.
example: example@example.com
phone_numbers:
type: array
description: The external contact's phone numbers.
items:
type: string
example: '+12058945656'
description: The external contact to forward calls to.
require_press_1_before_connecting:
type: boolean
description: Whether to require the callee to press 1 before connecting the call.
example: false
description: Only returned when `busy_on_another_call_action` is `forward_to_external_contact`.
- title: Forward to External Number
type: object
properties:
forward_phone_number:
type: string
description: The external phone number to forward calls to.
example: '+12058945656'
forward_phone_number_description:
type: string
description: A description of the external phone number.
example: Office landline
require_press_1_before_connecting:
type: boolean
description: Whether to require the callee to press 1 before connecting the call.
example: false
description: Only returned when `busy_on_another_call_action` is `forward_to_external_number`.
- title: Play a Message then Disconnect
type: object
properties:
message_greeting:
type: object
properties:
audio_id:
type: string
description: The audio prompt file ID.
example: yCT14TwySDGVUypVlKNEyA
audio_name:
type: string
description: The audio prompt file name.
example: message.mp3
description: The message audio prompt played before disconnecting.
description: Only returned when `busy_on_another_call_action` is `play_message_then_disconnect`.
call_not_answer_action:
type: string
description: 'The action to take when a call is not answered:
* `forward_to_voicemail` — Forward to voicemail.
* `forward_to_extension` — Forward to an extension.
* `forward_to_external_contact` — Forward to an external contact.
* `forward_to_external_number` — Forward to an external phone number.
* `play_message_then_disconnect` — Play a message and then disconnect.
* `disconnect` — Disconnect.'
example: forward_to_voicemail
enum:
- forward_to_voicemail
- forward_to_extension
- forward_to_external_contact
- forward_to_external_number
- play_message_then_disconnect
- disconnect
call_not_answer_action_setting:
description: The call handling setting based on the `call_not_answer_action` value. Only present when `call_not_answer_action` is not `disconnect`. When `busy_on_another_call_action` and `call_not_answer_action` are both `forward_to_voicemail`, the voicemail sub-settings returned here are shared with `busy_on_another_call_action`; `busy_on_another_call_action_setting` is then returned as an empty object.
oneOf:
- title: Forward to Voicemail
type: object
properties:
allow_callers_check_voicemail:
type: boolean
description: Whether to allow callers to check voicemail.
example: false
connect_to_operator:
type: boolean
description: Whether to allow callers to reach an operator.
example: false
operator_extension:
type: object
properties:
extension_id:
type: string
description: The operator's extension ID.
example: jN9mb38lQTaMgxUq3Nd6ow
extension_number:
type: integer
description: The operator's extension number.
format: int64
example: 101014
extension_name:
type: string
description: The operator's display name.
example: user A
extension_type:
type: string
description: The operator's extension type.
example: user
enum:
- user
- callQueue
- autoReceptionist
- commonArea
- sharedLineGroup
- zoomRoom
- ciscoRoom/PolycomRoom
description: The operator's extension information. Only present when `connect_to_operator` is `true`.
voicemail_greeting:
type: object
properties:
audio_id:
type: string
description: The audio prompt file ID.
example: yCT14TwySDGVUypVlKNEyA
audio_name:
type: string
description: The audio prompt file name.
example: voicemail-greeting.mp3
description: The voicemail greeting prompt.
leave_voicemail_instruction:
type: object
properties:
audio_id:
type: string
description: The audio prompt file ID.
example: yCT14TwySDGVUypVlKNEyA
audio_name:
type: string
description: The audio prompt file name.
example: leave-voicemail-instruction.mp3
description: The leave-voicemail instruction prompt. Only returned when `connect_to_operator` or `allow_callers_check_voicemail` is `true`.
play_callee_voicemail_greeting:
type: boolean
description: Whether to play the callee's voicemail greeting when the caller reaches the end of the forwarding sequence. Only returned when `connect_to_operator` is `true`.
example: false
description: Only returned when `call_not_answer_action` is `forward_to_voicemail`.
- title: Forward to Another Extension
type: object
properties:
forward_to_extension:
type: object
properties:
extension_id:
type: string
description: The extension ID.
example: jN9mb38lQTaMgxUq3Nd6ow
extension_number:
type: integer
description: The extension number.
format: int64
example: 101014
extension_name:
type: string
description: The extension display name.
example: user A
extension_type:
type: string
description: The extension type.
example: user
enum:
- user
- callQueue
- autoReceptionist
- commonArea
- sharedLineGroup
- zoomRoom
- ciscoRoom/PolycomRoom
description: The extension to forward calls to.
play_callee_voicemail_greeting:
type: boolean
description: Whether to play the callee's voicemail greeting when the caller reaches the end of the forwarding sequence.
example: false
description: Only returned when `call_not_answer_action` is `forward_to_extension`.
- title: Forward to External Number
type: object
properties:
forward_phone_number:
type: string
description: The external phone number to forward calls to.
example: '+12058945656'
forward_phone_number_description:
type: string
description: A description of the external phone number.
example: Office landline
require_press_1_before_connecting:
type: boolean
description: Whether to require the callee to press 1 before connecting the call.
example: false
description: Only returned when `call_not_answer_action` is `forward_to_external_number`.
- title: Forward to External Contact
type: object
properties:
forward_to_external_contact:
type: object
properties:
external_contact_id:
type: string
description: The external contact's ID.
example: OJGi5xOFQPmrJbKg68-iWg
external_contact_name:
type: string
description: The external contact's name.
example: Johnson
external_contact_email:
type: string
description: The external contact's email address.
example: example@example.com
phone_numbers:
type: array
description: The external contact's phone numbers.
items:
type: string
example: '+12058945656'
description: The external contact to forward calls to.
require_press_1_before_connecting:
type: boolean
description: Whether to require the callee to press 1 before connecting the call.
example: false
description: Only returned when `call_not_answer_action` is `forward_to_external_contact`.
- title: Play a Message then Disconnect
type: object
properties:
message_greeting:
type: object
properties:
audio_id:
type: string
description: The audio prompt file ID.
example: yCT14TwySDGVUypVlKNEyA
audio_name:
type: string
description: The audio prompt file name.
example: message.mp3
description: The message audio prompt played before disconnecting.
description: Only returned when `call_not_answer_action` is `play_message_then_disconnect`.
description: The call handling settings.
'400':
description: "**HTTP Status Code:** `400`
\n Bad Request \n\n **Error Code:** `15101`
\n Break hour does not exist: {breakHourId}.
\n**Error Code:** `15102`
\n Holiday hour does not exist: {holidayHourId}.
\n"
'404':
description: "**HTTP Status Code:** `404`
\n Not Found \n\n **Error Code:** `404`
\n User does not exist: {userId}.
\n"
security:
- openapi_oauth:
- phone:read:admin
- phone:read
- phone:read:user_call_handling_setting:admin
- phone:read:user_call_handling_setting
openapi_authorization: []
x-extensions:
x-permissions: []
x-macro-scopes:
- phone:read:admin
- phone:read
x-granular-scopes:
- phone:read:user_call_handling_setting:admin
- phone:read:user_call_handling_setting
/phone/users/{userId}/call_handling/settings/{hourType}:
patch:
tags:
- Users
summary: Update user call handling setting
description: 'Updates a user''s call handling settings for the specified hour type.
**Prerequisites**
* A Business or Enterprise account
* A Zoom Phone license
**[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `phone:write:admin`,`phone:write`
**[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `phone:update:user_call_handling_setting:admin`,`phone:update:user_call_handling_setting`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT`'
operationId: updateUserCallHandlingSetting
parameters:
- name: userId
in: path
description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
required: true
schema:
type: string
example: DYHrdpjrS3uaOf7dPkkg8w
- name: hourType
in: path
description: The hour type of the call handling setting. `closed_hours` and `break_hours` cannot be updated when business hours are set to `24 Hours a Day, 7 Days a Week`.
required: true
schema:
type: string
example: business_hours
enum:
- business_hours
- closed_hours
- holiday_hours
- break_hours
requestBody:
content:
application/json:
schema:
type: object
properties:
holiday_hour_id:
type: string
description: The holiday hour ID. Required when `hourType` is `holiday_hours`.
example: TNxfEp2WT9emyCsAQt4qnA
break_hour_id:
type: string
description: The break hour ID. Required when `hourType` is `break_hours`.
example: ULfeE4mgSImyelNmTekUfg
call_forward_settings:
maxItems: 10
type: array
description: The call forwarding settings.
items:
required:
- call_forward_id
type: object
properties:
call_forward_id:
type: string
description: The call forwarding ID.
example: sd8683_fwh39_F3hfsd
enable:
type: boolean
description: Whether this call forwarding entry is enabled.
example: false
phone_number:
type: string
description: The external phone number in [E.164 format](https://en.wikipedia.org/wiki/E.164).
example: '+12058945583'
phone_number_description:
type: string
description: The description of the external phone number.
example: Office landline
external_contact:
type: object
properties:
external_contact_id:
type: string
description: The external contact's ID.
example: OJGi5xOFQPmrJbKg68-iWg
description: The external contact reference.
call_distribution_setting:
type: object
properties:
ring_mode:
type: string
description: 'The ring mode that determines how the user''s devices are rung for incoming calls.
* `simultaneous` — All devices ring at the same time.
* `sequential` — Devices ring one after another in the configured order.'
example: simultaneous
enum:
- simultaneous
- sequential
simultaneous_ring_max_wait_time:
type: integer
description: The maximum wait time, in seconds, for the simultaneous ring mode. Specifies how long all devices ring at the same time before the call is handled by the unanswered-call action. Only applicable when `ring_mode` is `simultaneous`. The value is still returned when `ring_mode` is `sequential` because it is persisted independently.
example: 30
enum:
- 10
- 15
- 20
- 25
- 30
- 35
- 40
- 45
- 50
- 55
- 60
sequential_ring_duration:
type: integer
description: The ringing duration for each device, in seconds, for the sequential ring mode. Specifies how long each device rings before moving on to the next device in the order. Only applicable when `ring_mode` is `sequential`. The value is still returned when `ring_mode` is `simultaneous` because it is persisted independently.
example: 30
enum:
- 10
- 15
- 20
- 25
- 30
- 35
- 40
- 45
- 50
- 55
- 60
description: The call distribution settings that control how incoming calls are routed to the user's devices.
call_handling_setting:
type: object
properties:
busy_on_another_call_action:
type: string
description: 'The action to take when the user is busy on another call.
* `call_waiting` — Enable call waiting.
* `forward_to_voicemail` — Forward to voicemail or videomail.
* `play_message_then_disconnect` — Play a message and then disconnect.
* `play_busy_signal` — Play a busy signal.
* `forward_to_extension` — Forward to another extension.
* `forward_to_external_contact` — Forward to an external contact.
* `forward_to_external_number` — Forward to an external phone number.'
example: call_waiting
enum:
- call_waiting
- forward_to_voicemail
- play_message_then_disconnect
- play_busy_signal
- forward_to_extension
- forward_to_external_contact
- forward_to_external_number
busy_on_another_call_action_setting:
description: The settings based on the `busy_on_another_call_action` value. Only present when `busy_on_another_call_action` is `forward_to_voicemail`, `play_message_then_disconnect`, `forward_to_extension`, `forward_to_external_contact`, or `forward_to_external_number`. When `busy_on_another_call_action` and `call_not_answer_action` are both `forward_to_voicemail`, the voicemail sub-settings (greeting, instructions, operator, etc.) are shared between the two behaviors — updating this object also takes effect on `call_not_answer_action_setting`.
oneOf:
- title: Forward to Voicemail or Videomail
type: object
properties:
allow_callers_check_voicemail:
type: boolean
description: Whether to allow callers to check voicemail.
example: false
connect_to_operator:
type: boolean
description: Whether to allow callers to reach an operator.
example: false
operator_extension:
type: object
properties:
extension_id:
type: string
description: The operator's extension ID.
example: jN9mb38lQTaMgxUq3Nd6ow
description: The operator's extension information. Only required when `connect_to_operator` is `true`.
voicemail_greeting:
type: object
properties:
audio_id:
type: string
description: The audio prompt file ID.
example: yCT14TwySDGVUypVlKNEyA
description: The voicemail or videomail greeting prompt.
leave_voicemail_instruction:
type: object
properties:
audio_id:
type: string
description: The audio prompt file ID.
example: yCT14TwySDGVUypVlKNEyA
description: The leave voicemail instruction prompt. Only takes effect when `connect_to_operator` or `allow_callers_check_voicemail` is `true`.
play_callee_voicemail_greeting:
type: boolean
description: Whether to play the callee's voicemail greeting when the caller reaches the end of the forwarding sequence. Only takes effect when `connect_to_operator` is `true`.
example: false
description: Only used when `busy_on_another_call_action` is `forward_to_voicemail`.
- title: Forward to Extension
type: object
properties:
forward_to_extension:
required:
- extension_id
type: object
properties:
extension_id:
type: string
description: The extension ID.
example: jN9mb38lQTaMgxUq3Nd6ow
description: The extension to forward calls to.
play_callee_voicemail_greeting:
type: boolean
description: Whether to play the callee's voicemail greeting when the caller reaches the end of the forwarding sequence.
example: false
description: Only used when `busy_on_another_call_action` is `forward_to_extension`.
- title: Forward to External Number
required:
- forward_phone_number
type: object
properties:
forward_phone_number:
type: string
description: The external phone number to forward calls to.
example: '+12058945656'
forward_phone_number_description:
type: string
description: A description of the external phone number.
example: Office landline
require_press_1_before_connecting:
type: boolean
description: Whether to require the callee to press 1 before connecting the call.
example: false
description: Only used when `busy_on_another_call_action` is `forward_to_external_number`.
- title: Forward to External Contact
type: object
properties:
forward_to_external_contact:
required:
- external_contact_id
type: object
properties:
external_contact_id:
type: string
description: The external contact's ID.
example: OJGi5xOFQPmrJbKg68-iWg
description: The external contact to forward calls to.
require_press_1_before_connecting:
type: boolean
description: Whether to require the callee to press 1 before connecting the call.
example: false
description: Only used when `busy_on_another_call_action` is `forward_to_external_contact`.
- title: Play a Message then Disconnect
type: object
properties:
message_greeting:
type: object
properties:
audio_id:
type: string
description: The audio prompt file ID.
example: yCT14TwySDGVUypVlKNEyA
description: The message audio prompt played before disconnecting.
description: Only used when `busy_on_another_call_action` is `play_message_then_disconnect`.
call_not_answer_action:
type: string
description: 'The action to take when a call is not answered.
* `forward_to_voicemail` — Forward to voicemail.
* `forward_to_extension` — Forward to an extension.
* `forward_to_external_contact` — Forward to an external contact.
* `forward_to_external_number` — Forward to an external phone number.
* `play_message_then_disconnect` — Play a message and then disconnect.
* `disconnect` — Disconnect.'
example: forward_to_voicemail
enum:
- forward_to_voicemail
- forward_to_extension
- forward_to_external_contact
- forward_to_external_number
- play_message_then_disconnect
- disconnect
call_not_answer_action_setting:
description: The settings based on the `call_not_answer_action` value. Only present when `call_not_answer_action` is not `disconnect`. When `busy_on_another_call_action` and `call_not_answer_action` are both `forward_to_voicemail`, the voicemail sub-settings (greeting, instructions, operator, etc.) are shared between the two behaviors — updating this object also takes effect on `busy_on_another_call_action_setting`.
oneOf:
- title: Forward to Voicemail
type: object
properties:
allow_callers_check_voicemail:
type: boolean
description: Whether to allow callers to check voicemail.
example: false
connect_to_operator:
type: boolean
description: Whether to allow callers to reach an operator.
example: false
operator_extension:
type: object
properties:
extension_id:
type: string
description: The operator's extension ID.
example: jN9mb38lQTaMgxUq3Nd6ow
description: The operator's extension information. Only required when `connect_to_operator` is `true`.
voicemail_greeting:
type: object
properties:
audio_id:
type: string
description: The audio prompt file ID.
example: yCT14TwySDGVUypVlKNEyA
description: The voicemail greeting prompt.
leave_voicemail_instruction:
type: object
properties:
audio_id:
type: string
description: The audio prompt file ID.
example: yCT14TwySDGVUypVlKNEyA
description: The leave voicemail instruction prompt. Only takes effect when `connect_to_operator` or `allow_callers_check_voicemail` is `true`.
play_callee_voicemail_greeting:
type: boolean
description: Whether to play the callee's voicemail greeting when the caller reaches the end of the forwarding sequence. Only takes effect when `connect_to_operator` is `true`.
example: false
description: Only used when `call_not_answer_action` is `forward_to_voicemail`.
- title: Forward to Extension
type: object
properties:
forward_to_extension:
required:
- extension_id
type: object
properties:
extension_id:
type: string
description: The extension ID.
example: jN9mb38lQTaMgxUq3Nd6ow
description: The extension to forward calls to.
play_callee_voicemail_greeting:
type: boolean
description: Whether to play the callee's voicemail greeting when the caller reaches the end of the forwarding sequence.
example: false
description: Only used when `call_not_answer_action` is `forward_to_extension`.
- title: Forward to External Number
required:
- forward_phone_number
type: object
properties:
forward_phone_number:
type: string
description: The external phone number to forward calls to.
example: '+12058945656'
forward_phone_number_description:
type: string
description: A description of the external phone number.
example: Office landline
require_press_1_before_connecting:
type: boolean
description: Whether to require the callee to press 1 before connecting the call.
example: false
description: Only used when `call_not_answer_action` is `forward_to_external_number`.
- title: Forward to External Contact
type: object
properties:
forward_to_external_contact:
required:
- external_contact_id
type: object
properties:
external_contact_id:
type: string
description: The external contact's ID.
example: OJGi5xOFQPmrJbKg68-iWg
description: The external contact to forward calls to.
require_press_1_before_connecting:
type: boolean
description: Whether to require the callee to press 1 before connecting the call.
example: false
description: Only used when `call_not_answer_action` is `forward_to_external_contact`.
- title: Play a Message then Disconnect
type: object
properties:
message_greeting:
type: object
properties:
audio_id:
type: string
description: The audio prompt file ID.
example: yCT14TwySDGVUypVlKNEyA
description: The message audio prompt played before disconnecting.
description: Only used when `call_not_answer_action` is `play_message_then_disconnect`.
description: The call handling settings.
responses:
'204':
description: User call handling settings updated successfully.
'400':
description: "**HTTP Status Code:** `400`
\n Bad Request \n\n **Error Code:** `13802`
\n Audio does not exist: {audioId}.
\n**Error Code:** `13808`
\n Extension does not exist: {extension_id}.
\n**Error Code:** `13810`
\n External contact does not exist: {0}.
\n**Error Code:** `15101`
\n Break hour does not exist: {breakHourId}.
\n**Error Code:** `15102`
\n Holiday hour does not exist: {holidayHourId}.
\n**Error Code:** `15103`
\n Call forward does not exist: {callForwardId}.
\n**Error Code:** `15104`
\n The {hour_type} cannot be updated when business hours are set to `24 Hours a Day, 7 Days a Week`.
\n"
'404':
description: "**HTTP Status Code:** `404`
\n Not Found \n\n **Error Code:** `404`
\n User does not exist: {userId}.
\n"
security:
- openapi_oauth:
- phone:write:admin
- phone:write
- phone:update:user_call_handling_setting:admin
- phone:update:user_call_handling_setting
openapi_authorization: []
x-extensions:
x-permissions: []
x-macro-scopes:
- phone:write:admin
- phone:write
x-granular-scopes:
- phone:update:user_call_handling_setting:admin
- phone:update:user_call_handling_setting
/phone/users/{userId}/calling_plans:
put:
tags:
- Users
summary: Update user's calling plan
description: "Switches the [calling plans](https://marketplace.zoom.us/docs/api-reference/other-references/plans#zoom-phone-calling-plans) of a [Zoom Phone](https://support.zoom.us/hc/en-us/categories/360001370051-Zoom-Phone) user. For user-level apps, pass [the `me` value](https://marketplace.zoom.us/docs/api-reference/using-zoom-apis#mekeyword) instead of the `userId` parameter. \n\n**Prerequisites** \n* A Business or Enterprise account \n* A Zoom Phone license\n\n\n\n**[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `phone:write:admin`,`phone:write`\n\n**[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `phone:update:calling_plan`,`phone:update:calling_plan:admin`\n\n**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT`"
operationId: updateCallingPlan
parameters:
- name: userId
in: path
required: true
schema:
type: string
example: fWOgOALdT1ei4vjXK-QYsA
requestBody:
content:
application/json:
schema:
required:
- source_type
- target_type
type: object
properties:
source_type:
type: integer
description: The [type](https://marketplace.zoom.us/docs/api-reference/other-references/plans#zoom-phone-calling-plans) of the calling plan.
example: 100
target_type:
type: integer
description: ' The [type](https://marketplace.zoom.us/docs/api-reference/other-references/plans#zoom-phone-calling-plans) of the calling plan.'
example: 200
source_billing_subscription_id:
type: string
description: The billing subscription ID of source type.When there is more than one plan type A in this account, it cannot be empty.
example: FT-SUBREF-21168178
target_billing_subscription_id:
type: string
description: The billing subscription ID of target type.When there is more than one plan type A in this account, it cannot be empty.
example: FT-SUBREF-21168178
responses:
'204':
description: "**HTTP Status Code:** `204` \n \nCalling plan updated successfully."
'400':
description: "**HTTP Status Code:** `400`
\n Bad Request \n\n **Error Code:** `404`
\n User did not subscribe to the source plan.
\n"
'404':
description: "**HTTP Status Code:** `404`
\n Not Found \n\n **Error Code:** `1001`
\n User does not exist:{userId}.
\n"
'429':
description: "**HTTP Status Code:** `429`
\n Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/). \n\n "
security:
- openapi_oauth:
- phone:write:admin
- phone:write
- phone:update:calling_plan
- phone:update:calling_plan:admin
openapi_authorization: []
x-extensions:
x-permissions: []
x-macro-scopes:
- phone:write:admin
- phone:write
x-granular-scopes:
- phone:update:calling_plan
- phone:update:calling_plan:admin
post:
tags:
- Users
summary: Assign calling plan to a user
description: "Assigns a [calling plan](https://marketplace.zoom.us/docs/api-reference/other-references/plans#zoom-phone-calling-plans) to a [Zoom Phone](https://support.zoom.us/hc/en-us/categories/360001370051-Zoom-Phone) user. For user-level apps, pass [the `me` value](https://marketplace.zoom.us/docs/api-reference/using-zoom-apis#mekeyword) instead of the `userId` parameter.\n\n**Prerequisites** \n* A Business or Enterprise account \n* A Zoom Phone license\n\n**[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `phone:write`,`phone:write:admin`\n\n**[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `phone:write:calling_plan`,`phone:write:calling_plan:admin`\n\n**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT`"
operationId: assignCallingPlan
parameters:
- name: userId
in: path
required: true
schema:
type: string
example: fWOgOALdT1ei4vjXK-QYsA
requestBody:
content:
application/json:
schema:
type: object
properties:
calling_plans:
maxItems: 150
type: array
items:
type: object
properties:
type:
type: integer
description: The [type](https://developers.zoom.us/docs/api/references/phone-calling-plans/) of calling plan.
example: 100
billing_account_id:
type: string
description: The billing account ID. If the user is located in India, this field is required.
example: 3WWAEiEjTj2IQuyDiKMd_A
billing_subscription_id:
type: string
description: The billing subscription ID. It displays when the account supports billing multiple subscriptions
example: FT-SUBREF-21168178
responses:
'200':
description: "**HTTP Status code:** `200` \n \nCalling plan assigned successfully."
'400':
description: "**HTTP Status Code:** `400`
\n Bad Request \n\n **Error Code:** `300`
\n Invalid user id.\nInvalid field.
\n"
'404':
description: "**HTTP Status Code:** `404`
\n Not Found \n\n **Error Code:** `1001`
\n User does not exist:{userId}.
\n**Error Code:** `2001`
\n Account does not exist.
\n"
'429':
description: "**HTTP Status Code:** `429`
\n Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/). \n\n "
security:
- openapi_oauth:
- phone:write
- phone:write:admin
- phone:write:calling_plan
- phone:write:calling_plan:admin
openapi_authorization: []
x-extensions:
x-permissions: []
x-macro-scopes:
- phone:write
- phone:write:admin
x-granular-scopes:
- phone:write:calling_plan
- phone:write:calling_plan:admin
/phone/users/{userId}/calling_plans/{planType}:
delete:
tags:
- Users
summary: Unassign user's calling plan
description: "Unassigns a [Zoom Phone](https://support.zoom.us/hc/en-us/categories/360001370051) user's [calling plan](https://marketplace.zoom.us/docs/api-reference/other-references/plans#zoom-phone-calling-plans). For user-level apps, pass [the `me` value](https://marketplace.zoom.us/docs/api-reference/using-zoom-apis#mekeyword) instead of the `userId` parameter.\n\n**Prerequisites:** \n* A Business or Enterprise account \n* A Zoom Phone license\n\n**[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `phone:write`,`phone:write:admin`\n\n**[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `phone:delete:users_calling_plan`,`phone:delete:users_calling_plan:admin`\n\n**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT`"
operationId: unassignCallingPlan
parameters:
- name: userId
in: path
description: The ID of the user.
required: true
schema:
type: string
example: fWOgOALdT1ei4vjXK-QYsA
- name: planType
in: path
description: The type of plan. Refer to the [Plan Number section](https://marketplace.zoom.us/docs/api-reference/other-references/plans#zoom-phone-calling-plans).
required: true
schema:
type: string
example: '100'
- name: billing_account_id
in: query
description: The billing account ID. If the user is located in India, the parameter is required.
required: false
schema:
type: string
example: 3WWAEiEjTj2IQuyDiKMd_A
responses:
'204':
description: "**HTTP Status Code:** `204` \n \nCalling plan unassigned successfully."
'400':
description: "**HTTP Status Code:** `400`
\n Bad Request \n\n **Error Code:** `300`
\n Invalid user id.
\n**Error Code:** `400`
\n Invalid field.
\n"
'404':
description: "**HTTP Status Code:** `404`
\n Not Found \n\n **Error Code:** `1001`
\n User does not exist:{userId}.
\n**Error Code:** `2001`
\n Account does not exist.
\n"
'429':
description: "**HTTP Status Code:** `429`
\n Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/). \n\n "
security:
- openapi_oauth:
- phone:write
- phone:write:admin
- phone:delete:users_calling_plan
- phone:delete:users_calling_plan:admin
openapi_authorization: []
x-extensions:
x-permissions: []
x-macro-scopes:
- phone:write
- phone:write:admin
x-granular-scopes:
- phone:delete:users_calling_plan
- phone:delete:users_calling_plan:admin
/phone/users/{userId}/outbound_caller_id/customized_numbers:
get:
tags:
- Users
summary: List users' phone numbers for a customized outbound caller ID
description: "Retrieves phone numbers that can be the `user-level` customized outbound caller ID. \n\n**Prerequisites:** \n* A Business or Enterprise account \n* A Zoom Phone license.\n\n\n\n**[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `phone:read:admin`,`phone:read`\n\n**[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `phone:read:list_user_customized_number`,`phone:read:list_user_customized_number:admin`\n\n**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT`"
operationId: listUserCustomizeOutboundCallerNumbers
parameters:
- name: userId
in: path
description: The unique identifier of the user.
required: true
schema:
type: string
example: w0RChiauQeqRlv5fgxYULQ
- name: selected
in: query
description: "The status of the phone numbers. \n `true`- Numbers already added to the custom list. \n `false`- Numbers not yet added to the custom list"
required: false
schema:
type: boolean
example: true
- name: site_id
in: query
description: This field filters phone numbers that belong to the site.
required: false
schema:
type: string
example: SQv52YtkRLC2dwrDdYtGsA
- name: extension_type
in: query
description: The type of extension where the phone number belongs.
required: false
schema:
type: string
example: callQueue
enum:
- autoReceptionist
- callQueue
- sharedLineGroup
- name: keyword
in: query
description: A search keyword for phone or extension numbers.
required: false
schema:
type: string
example: '408'
- name: page_size
in: query
description: The number of records returned within a single API call.
required: false
schema:
maximum: 300
type: integer
example: 30
default: 30
- name: next_page_token
in: query
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
required: false
schema:
type: string
example: BJLYC6PABbAHdjwSkGVQeeR6B1juwHqj3G2
responses:
'200':
description: "**HTTP Status Code:** `200` \n \nCustomized numbers for outbound caller ID listed successfully."
content:
application/json:
schema:
type: object
properties:
customize_numbers:
maxItems: 100
type: array
items:
type: object
properties:
customize_id:
type: string
description: The customization ID.
example: 8_RkKw9OQ42oYsXqJJjs4A
phone_number_id:
type: string
description: The ID of the phone number.
example: 55JUZPwERHuGttd_j4qBsQ
phone_number:
type: string
description: The phone number in E164 format.
example: '+12055437350'
display_name:
type: string
description: The name of the phone number.
example: test abc
incoming:
type: boolean
description: Whether the incoming policy is enabled for the phone number.
example: true
outgoing:
type: boolean
description: Whether the outgoing policy is enabled for the phone number.
example: true
extension_id:
type: string
description: The extension ID.
example: HaSokHMCSeK8taMdv2vnXQ
extension_type:
type: string
description: The extension type.
example: callQueue
extension_number:
type: string
description: The extension number.
example: '10001'
extension_name:
type: string
description: The extension name.
example: SJ CQ
site:
type: object
properties:
id:
type: string
description: The unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites).
example: 8f71O6rWT8KFUGQmJIFAdQ
name:
type: string
description: The name of the site.
example: testSite
next_page_token:
type: string
description: The next page token paginates through a large set of results. A next page token is returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
example: BJLYC6PABbAHdjwSkGVQeeR6B1juwHqj3G2
page_size:
type: integer
description: The number of records returned within a single API call for each page.
example: 30
total_records:
type: integer
description: The total number of records returned.
example: 10
'400':
description: "**HTTP Status Code:** `400`
\n Bad Request \n\n **Error Code:** `400`
\n The next page token is invalid or expired.
\n**Error Code:** `300`
\n Invalid user id.
\n"
'404':
description: "**HTTP Status Code:** `404`
\n Not Found \n\n **Error Code:** `2001`
\n Account does not exist.
\n**Error Code:** `1001`
\n User does not exist:{userId}.
\n"
'429':
description: "**HTTP Status Code:** `429`
\n Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/). \n\n "
security:
- openapi_oauth:
- phone:read:admin
- phone:read
- phone:read:list_user_customized_number
- phone:read:list_user_customized_number:admin
openapi_authorization: []
x-extensions:
x-permissions: []
x-macro-scopes:
- phone:read:admin
- phone:read
x-granular-scopes:
- phone:read:list_user_customized_number
- phone:read:list_user_customized_number:admin
post:
tags:
- Users
summary: Add phone numbers for users' customized outbound caller ID
description: "Adds users' customized outbound caller ID phone numbers. \n\n**Prerequisites:** \n* A Business or Enterprise account \n* A Zoom Phone license.\n\n\n\n**[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `phone:write:admin`,`phone:write`\n\n**[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `phone:write:user_customized_number`,`phone:write:user_customized_number:admin`\n\n**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT`"
operationId: addUserOutboundCallerNumbers
parameters:
- name: userId
in: path
description: The unique identifier of the user.
required: true
schema:
type: string
example: w0RChiauQeqRlv5fgxYULQ
requestBody:
content:
application/json:
schema:
type: object
properties:
phone_number_ids:
maxItems: 30
type: array
description: The phone number IDs.
items:
type: string
example: 55JUZPwERHuGttd_j4qBsQ
responses:
'201':
description: "**HTTP Status Code:** `201` **Created** \n \nCustomized caller ID numbers added successfully. "
'400':
description: "**HTTP Status Code:** `400`
\n Bad Request \n\n **Error Code:** `300`
\n Invalid user id.\nAccount level settings cannot be managed until disable multiple sites.\nSite not exist.
\n"
'404':
description: "**HTTP Status Code:** `404`
\n Not Found \n\n **Error Code:** `2001`
\n Account does not exist.
\n**Error Code:** `1001`
\n User does not exist:{userId}.
\n"
'429':
description: "**HTTP Status Code:** `429`
\n Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/). \n\n "
security:
- openapi_oauth:
- phone:write:admin
- phone:write
- phone:write:user_customized_number
- phone:write:user_customized_number:admin
openapi_authorization: []
x-extensions:
x-permissions: []
x-macro-scopes:
- phone:write:admin
- phone:write
x-granular-scopes:
- phone:write:user_customized_number
- phone:write:user_customized_number:admin
delete:
tags:
- Users
summary: Remove users' customized outbound caller ID phone numbers
description: "Removes the users' customized outbound caller ID phone numbers. \n\n**Prerequisites:** \n* A Business or Enterprise account \n* A Zoom Phone license.\n\n\n\n**[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `phone:write:admin`,`phone:write`\n\n**[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `phone:delete:user_customized_number`,`phone:delete:user_customized_number:admin`\n\n**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`"
operationId: deleteUserOutboundCallerNumbers
parameters:
- name: userId
in: path
description: The unique identifier of the user.
required: true
schema:
type: string
example: w0RChiauQeqRlv5fgxYULQ
- name: customize_ids
in: query
description: The customization IDs.
required: false
schema:
maxItems: 30
type: array
items:
type: string
example: 8_RkKw9OQ42oYsXqJJjs4A
responses:
'204':
description: "**HTTP Status Code:** `204` **Created** \n \nCustomized numbers have been deleted successfully. "
'400':
description: "**HTTP Status Code:** `400`
\n Bad Request\n\n**Error Code:** `300`
\nValidation Failed. Site does not exist.
\n\n"
'429':
description: "**HTTP Status Code:** `429`
\n Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/). \n\n "
security:
- openapi_oauth:
- phone:write:admin
- phone:write
- phone:delete:user_customized_number
- phone:delete:user_customized_number:admin
openapi_authorization: []
x-extensions:
x-macro-scopes:
- phone:write:admin
- phone:write
x-granular-scopes:
- phone:delete:user_customized_number
- phone:delete:user_customized_number:admin
/phone/users/{userId}/policies/{policyType}:
get:
tags:
- Users
summary: Get user policy details
description: 'Returns the user policy details.
**Prerequisites**
* Pro or higher account plan with Zoom phone license
**[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `phone:read:admin`
**[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `phone:read:user_policy:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `MEDIUM`'
operationId: GetUserPolicyDetails
parameters:
- name: userId
in: path
description: The user ID.
required: true
schema:
type: string
example: kLD4F3WBT-O9LYE31C0tRQ
- name: policyType
in: path
description: 'This field specifies the type of policy to retrieve or modify. See the documentation for detailed behavior of each policy type.
- `allow_emergency_calls`: Controls whether emergency calls are allowed.'
required: true
schema:
type: string
example: allow_emergency_calls
enum:
- allow_emergency_calls
responses:
'200':
description: '**HTTP Status Code:** `200` **OK**
Get user policy details successfully.'
content:
application/json:
schema:
oneOf:
- title: Allow Emergency Calls
type: object
properties:
allow_emergency_calls:
type: object
properties:
enable:
type: boolean
description: Whether users are allowed to make emergency calls.
example: true
locked:
type: boolean
description: Whether this setting is locked by the account administrator and cannot be overridden.
example: true
locked_by:
type: string
description: This field specifies the configuration level that has enforced the lock. This indicates where the setting was originally locked and cannot be overridden.
example: account
enum:
- invalid
- account
- user_group
- site
modified:
type: boolean
description: Whether the current settings have been changed from the inherited defaults. If true, the settings can be reset. Applicable only when using the new policy framework.
example: true
allow_emergency_calls_from_clients:
type: boolean
description: Whether users are allowed to make emergency calls from zoom clients.
example: true
allow_emergency_calls_from_deskphones:
type: boolean
description: Whether users are allowed to make emergency calls from desk phones.
example: true
description: The user-level settings for whether emergency calls are allowed for users and from specific device types.
description: This field is returned only when `policyType` is `allow_emergency_calls`.
'400':
description: "**HTTP Status Code:** `400`
\n Bad Request \n\n **Error Code:** `400`
\n Invalid value for parameter 'policyType'.
\n"
'404':
description: "**HTTP Status Code:** `404`
\n Not Found \n\n **Error Code:** `2001`
\n Account does not exist.
\n**Error Code:** `1001`
\n User does not exist: {userId}.
\n"
'429':
description: "**HTTP Status Code:** `429`
\n Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/). \n\n "
security:
- openapi_oauth:
- phone:read:admin
- phone:read:user_policy:admin
openapi_authorization: []
x-extensions:
x-permissions: []
x-macro-scopes:
- phone:read:admin
x-granular-scopes:
- phone:read:user_policy:admin
patch:
tags:
- Users
summary: Update user policy
description: "Updates a user's [Zoom Phone](https://support.zoom.us/hc/en-us/categories/360001370051-Zoom-Phone) policy.\n\n**Prerequisites** \n* A Business or Enterprise account \n* A Zoom Phone license\n\n**[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `phone:write:admin`\n\n**[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `phone:update:user_policy:admin`\n\n**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT`"
operationId: updateUserPolicy
parameters:
- name: userId
in: path
description: The user ID.
required: true
schema:
type: string
example: kLD4F3WBT-O9LYE31C0tRQ
- name: policyType
in: path
description: 'This field specifies the type of policy to retrieve or modify. See the documentation for detailed behavior of each policy type.
- `allow_emergency_calls`: Controls whether emergency calls are allowed.'
required: true
schema:
type: string
example: allow_emergency_calls
enum:
- allow_emergency_calls
requestBody:
content:
application/json:
schema:
oneOf:
- title: Allow Emergency Calls
type: object
properties:
allow_emergency_calls:
type: object
properties:
enable:
type: boolean
description: Whether users are allowed to make emergency calls.
example: true
reset:
type: boolean
description: Whether the current settings should be reset to inherit from higher-level configurations. Only applicable when the new policy framework is in use.
example: true
allow_emergency_calls_from_clients:
type: boolean
description: Whether users are allowed to make emergency calls from Zoom clients.
example: true
allow_emergency_calls_from_deskphones:
type: boolean
description: Whether users are allowed to make emergency calls from desk phones.
example: true
description: The user-level settings for whether emergency calls are allowed for users and from specific device types.
description: This field is supported only when policyType is set to allow_emergency_calls.
responses:
'204':
description: "**HTTP Status Code:** `204` \n \nUser policy updated."
'400':
description: "**HTTP Status Code:** `400`
\n Bad Request \n\n **Error Code:** `400`
\n Invalid value for parameter 'policyType'.
\n**Error Code:** `400`
\n Reset cannot be combined with other operations.
\n"
'404':
description: "**HTTP Status Code:** `404`
\n Not Found \n\n **Error Code:** `2001`
\n Account does not exist.
\n**Error Code:** `1001`
\n User does not exist: {userId}.
\n"
'429':
description: "**HTTP Status Code:** `429`
\n Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/). \n\n "
security:
- openapi_oauth:
- phone:write:admin
- phone:update:user_policy:admin
openapi_authorization: []
x-extensions:
x-permissions: []
x-macro-scopes:
- phone:write:admin
x-granular-scopes:
- phone:update:user_policy:admin
/phone/users/{userId}/profile_settings/{settingType}:
post:
tags:
- Users
summary: Add a user's profile setting
description: 'Adds the user setting according to the setting type.
**Prerequisites**
* Pro or a higher account with Zoom Phone license.
* Account owner or admin permissions.
**[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `phone:write`,`phone:write:admin`
**[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `phone:write:user_setting:admin`,`phone:write:user_setting`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT`'
operationId: addUserProfileSetting
parameters:
- name: userId
in: path
description: The user ID or extension ID.
required: true
schema:
type: string
example: 5NmyHmVoRWWk4YT5ad6oxg
- name: settingType
in: path
description: 'The setting type that corresponds to the setting item you want to add. Allowed values: `holiday_hours`, `break_hours`.'
required: true
schema:
type: string
example: holiday_hours
enum:
- holiday_hours
- break_hours
requestBody:
content:
application/json:
schema:
oneOf:
- title: Holiday hour settings
type: object
properties:
holiday_hours:
type: object
properties:
holidays:
maxItems: 10
minItems: 1
type: array
description: The holiday list. The minimum is one item and the maximum is 10 items.
items:
required:
- from
- name
- to
type: object
properties:
name:
type: string
description: The name of the holiday.
example: holiday name
from:
type: string
description: The holiday's start date and time in `yyyy-MM-dd'T'HH:mm:ss'Z'` format.
format: date-time
example: '2022-03-05T00:00:00Z'
to:
type: string
description: The holiday's end date and time in `yyyy-MM-dd'T'HH:mm:ss'Z'` format.
format: date-time
example: '2022-03-06T00:00:00Z'
description: Each holiday.
description: This field is only required when the setting type is `holiday_hours`.
description: Use this schema when the setting type is `holiday_hours`.
- title: Break hour settings
type: object
properties:
break_hours:
type: object
properties:
break_hour_settings:
maxItems: 5
type: array
description: The list of break hour settings. This field is only required when the setting type is `break_hours`.
items:
required:
- break_hour_name
- break_hour_type
type: object
properties:
break_hour_name:
maxLength: 255
minLength: 1
type: string
description: The name of the break hour.
example: Lunch Break
break_hour_type:
type: string
description: "The type of break hour schedule. \n* `every_business_day` — The break applies at the same time on every business day. \n* `custom_hours` — The break applies on specific days of the week with individually configured times."
example: every_business_day
enum:
- every_business_day
- custom_hours
break_hour_setting:
description: The break hour time configuration. The structure depends on the `break_hour_type` field.
oneOf:
- title: Every Business Day
required:
- from
- to
type: object
properties:
from:
type: string
description: The start time of the break in HH:mm format (24-hour clock). For example, `12:00`.
example: '12:00'
to:
type: string
description: The end time of the break in HH:mm format (24-hour clock). For example, `13:00`. Must be after the `from` time.
example: '13:00'
description: Only required when `break_hour_type` is `every_business_day`. Defines a single time range that applies to all business days.
- title: Custom Hours
required:
- days
type: object
properties:
days:
maxItems: 7
type: array
description: The list of days with configured break times. Only includes days that have break hours enabled.
items:
required:
- from
- to
- weekday
type: object
properties:
weekday:
type: integer
description: "The day of the week: \n* `1` — Sunday \n* `2` — Monday \n* `3` — Tuesday \n* `4` — Wednesday \n* `5` — Thursday \n* `6` — Friday \n* `7` — Saturday"
example: 7
enum:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
enable:
type: boolean
description: Whether the break hour is enabled on this day.
example: true
from:
type: string
description: The start time of the break on this day in HH:mm format (24-hour clock). For example, `12:00`.
example: '12:00'
to:
type: string
description: The end time of the break on this day in HH:mm format (24-hour clock). For example, `13:00`. Must be after the `from` time.
example: '13:00'
description: Only required when `break_hour_type` is `custom_hours`. Lists the specific days of the week on which the break is active, along with their individual time ranges.
description: The list of break hours. This field is only required when the setting type is `break_hours`.
description: Use this schema when the setting type is `break_hours`. `break_hours` cannot be updated when business hours are set to `24 Hours a Day, 7 Days a Week`.
responses:
'201':
description: "**HTTP Status Code:** `201` **Created** \n \n\nCreated successfully."
content:
application/json:
schema:
description: The user setting created according to the setting type.
oneOf:
- title: Holiday hour settings
type: object
properties:
holiday_hours:
type: object
properties:
holidays:
type: array
description: The list of holidays. Returned only when the setting type is `holiday_hours`.
items:
type: object
properties:
holiday_id:
type: string
description: The holiday ID.
example: ULfeE4mgSImyelNmTekUfg
name:
type: string
description: The name of the holiday.
example: test
description: The holiday hours. Returned only when the setting type is `holiday_hours`.
description: Returned only when the setting type is `holiday_hours`.
- title: Break hour settings
type: object
properties:
break_hours:
type: object
properties:
break_hour_settings:
maxItems: 5
type: array
description: The list of break hour settings. Returned only when the setting type is `break_hours`.
items:
required:
- break_hour_id
- break_hour_name
type: object
properties:
break_hour_id:
type: string
description: The unique identifier of the break hour.
example: R4GeDFaLTpeQb1jPDCuPhA
break_hour_name:
maxLength: 255
minLength: 1
type: string
description: The name of the break hour.
example: Lunch Break
description: The list of break hours. Returned only when the setting type is `break_hours`.
description: Returned only when the setting type is `break_hours`.
'400':
description: "**HTTP Status Code:** `400`
\n Bad Request \n\n **Error Code:** `15104`
\n The {hour_type} cannot be updated when business hours are set to `24 Hours a Day, 7 Days a Week`.
\n"
'404':
description: "**HTTP Status Code:** `404`
\n Not Found \n\n **Error Code:** `404`
\n User does not exist: {userId}.
\n"
security:
- openapi_oauth:
- phone:write
- phone:write:admin
- phone:write:user_setting:admin
- phone:write:user_setting
openapi_authorization: []
x-extensions:
x-permissions: []
x-macro-scopes:
- phone:write
- phone:write:admin
x-granular-scopes:
- phone:write:user_setting:admin
- phone:write:user_setting
delete:
tags:
- Users
summary: Delete a user's profile profile setting
description: 'Deletes a user setting based on the setting type.
**Prerequisites**
* Pro or higher account with Zoom Phone license.
* Account owner or admin permissions.
**[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `phone:write`,`phone:write:admin`
**[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `phone:delete:user_setting`,`phone:delete:user_setting:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT`'
operationId: deleteUserProfileSetting
parameters:
- name: userId
in: path
description: The user ID or extension ID.
required: true
schema:
type: string
example: 5NmyHmVoRWWk4YT5ad6oxg
- name: settingType
in: path
description: 'The setting type to delete. Allowed values: `holiday_hours`, `break_hours`.'
required: true
schema:
type: string
example: holiday_hours
enum:
- holiday_hours
- break_hours
- name: holiday_hour_id
in: query
description: The holiday hour ID. Required when `settingType` is `holiday_hours`.
required: false
schema:
type: string
example: TNxfEp2WT9emyCsAQt4qnA
- name: break_hour_id
in: query
description: The break hour ID. Required when `settingType` is `break_hours`. **Note:** `break_hours` cannot be updated when business hours are set to `24 Hours a Day, 7 Days a Week`.
required: false
schema:
type: string
example: ULfeE4mgSImyelNmTekUfg
responses:
'204':
description: "**HTTP Status Code:** `204` **No Content** \n \n"
'400':
description: "**HTTP Status Code:** `400`
\n Bad Request \n\n **Error Code:** `15101`
\n Break hour does not exist: {breakHourId}.
\n**Error Code:** `15102`
\n Holiday hour does not exist: {holidayHourId}.
\n**Error Code:** `15104`
\n The {hour_type} cannot be updated when business hours are set to `24 Hours a Day, 7 Days a Week`.
\n"
'404':
description: "**HTTP Status Code:** `404`
\n Not Found \n\n **Error Code:** `404`
\n User does not exist: {userId}.
\n"
security:
- openapi_oauth:
- phone:write
- phone:write:admin
- phone:delete:user_setting
- phone:delete:user_setting:admin
openapi_authorization: []
x-extensions:
x-permissions: []
x-macro-scopes:
- phone:write
- phone:write:admin
x-granular-scopes:
- phone:delete:user_setting
- phone:delete:user_setting:admin
/phone/users/{userId}/settings:
get:
tags:
- Users
summary: Get a user's profile settings
description: "Returns the Zoom Phone [profile settings](https://support.zoom.us/hc/en-us/articles/360021325712-Configuring-Settings) of a user. For user-level apps, pass [the `me` value](https://marketplace.zoom.us/docs/api-reference/using-zoom-apis#mekeyword) instead of the `userId` parameter.\n\n**Prerequisites** \n* A Business or Enterprise account \n* A Zoom Phone license\n\n**[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `phone:read`,`phone:read:admin`\n\n**[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `phone:read:user_setting:admin`,`phone:read:user_setting`\n\n**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT`"
operationId: phoneUserSettings
parameters:
- name: userId
in: path
description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
required: true
schema:
type: string
example: DYHrdpjrS3uaOf7dPkkg8w
responses:
'200':
description: '**HTTP Status Code:** `200`
User Setting object returned.'
content:
application/json:
schema:
type: object
properties:
area_code:
type: string
description: The area code of user.
example: '01'
audio_prompt_language:
type: string
description: "The audio prompt language code. \n American English: `en-US` \n \nBritish English: `en-GB` \n \nEspañol americano: `es-US` \n \nFrançais canadien: `fr-CA` \n \nDansk: `da-DK` \n \nDeutsch: `de-DE` \n \nEspañol: `es-ES` \n \nFrançais: `fr-FR` \n \nItaliano: `it-IT` \n \nNederlands: `nl-NL` \n \nPortugues portugal: `pt-PT` \n \nJapanese: `ja-JP` \n \nKorean: `ko-KO` \n \nPortugues brasil: `pt-BR` \n \nChinese: `zh-CN` \n \nTaiwanese: `zh-TW` \n "
example: en-US
default_transcription_language:
type: string
description: "The default language selection for features such as voicemail and call recording.\n* `en-US` : English (US) \n* `en-GB` : English (UK) \n* `es-US` : Spanish (US) \n* `fr-CA` : French (Canada) \n* `da-DK` : Danish (Denmark) \n* `de-DE` : German (Germany) \n* `es-ES` : Spanish (Spain) \n* `fr-FR` : French (France) \n* `it-IT` : Italian (Italy) \n* `nl-NL` : Dutch (Netherlands) \n* `pt-PT` : Portuguese (Portugal) \n* `ja` : Japanese \n* `ko-KR` : Korean (Korea) \n* `pt-BR` : Portuguese (Brazil) \n* `zh-CN` : Chinese (PRC)"
example: en-US
enum:
- en-US
- en-GB
- es-US
- fr-CA
- da-DK
- de-DE
- es-ES
- fr-FR
- it-IT
- nl-NL
- pt-PT
- ja
- ko-KR
- pt-BR
- zh-CN
company_number:
type: string
description: The [company number](https://support.zoom.us/hc/en-us/articles/360028553691) can be used by external callers to reach your phone users (by dialing the main company number and the user's extension). It can also be used by phone users as their caller ID when making calls.
example: '+12058945640'
country:
type: object
properties:
code:
type: string
description: The two lettered country [code](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries).
example: US
country_code:
type: string
description: The country's calling code.
example: '1'
name:
type: string
description: The site's country name.
example: United States
description: The site's country.
delegation:
type: object
properties:
assistants:
maxItems: 15
type: array
description: The delegation assistants.
items:
type: object
properties:
display_name:
type: string
description: The display name.
example: test user delegation
extension_id:
type: string
description: The extension's ID.
example: CcrEGgmeQem1uyJsuIRKwA
extension_number:
type: integer
description: The extension's number.
format: int64
example: 1000123477
extension_type:
type: string
description: 'The extension''s type: `user` or `commonArea`.'
example: user
id:
type: string
description: The user or common area ID.
example: fWOgOALdT1ei4vjXK-QYsA
privacy:
type: boolean
description: Whether to allow members to prevent others from picking up a held call, and listening, whispering, barging, or taking over a call if it's configured.
example: true
privileges:
maxItems: 10
type: array
description: The delegation privileges. 1-Place Calls, 2-Answer Calls, 3-Pick Up Hold Calls, 4-Manage VIP Contacts, 5-Opt In/Out, 6-Join and Merge Calls, 7-Set Business Hours.
items:
type: integer
example: 2
enum:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
locked:
type: boolean
description: Whether to allow users to access to the feature of delegation.
example: true
description: The user delegation.
desk_phone:
type: object
properties:
devices:
maxItems: 10
type: array
description: The information about the desk phones.
items:
type: object
properties:
device_type:
type: string
description: The device type, including the manufacturer and the model name.
example: Yealink t42s
display_name:
type: string
description: The display name of the device.
example: ApiTA_Device_2020_12_14_22_59_31_749
id:
type: string
description: The device ID.
example: GHFnf5WQe-H-_r0Wwx9iQ
policy:
type: object
properties:
call_control:
type: object
properties:
status:
type: string
description: "This field allows the call control feature to the current device. Configure the desk phone devices to enable call control, which allows users to perform desk phone's call control actions from the Zoom desktop client, including making and accepting calls. \nOptions include: \n* `unsupported` \n* `on` \n* `off`"
example: 'off'
enum:
- unsupported
- 'on'
- 'off'
hot_desking:
type: object
properties:
status:
type: string
description: "This field allows the hot desking feature to the current device. It lets the guest user sign in to the desk phone. You can't use the desk phone until the guest user signs out. \nOptions include:\n* `unsupported` \n* `on` \n* `off`"
example: 'off'
enum:
- unsupported
- 'on'
- 'off'
description: The device policy.
status:
type: string
description: 'The status of the device: `online` or `offline`.'
example: online
enum:
- online
- offline
mac_address:
type: string
description: The MAC address or serial number of the device.
example: 203a07240534
private_ip:
type: string
description: The private IP of the registered device.
example: 192.168.10.13
public_ip:
type: string
description: The public IP of the registered device.
example: 220.148.231.126
keys_positions:
type: object
properties:
primary_number:
type: string
description: The primary number of the user.
example: '+123456789'
phone_screen_lock:
type: boolean
description: After enabling this option, you can lock your desk phone screen. A PIN code is required to unlock your phone. This feature is not supported on some devices. See [Supported Device Types](https://support.zoom.us/hc/en-us/articles/360029698771) for more information.
example: true
pin_code:
type: string
description: The PIN code to be used to access voicemail, hot desking, and unlocking desk phones.
example: 0995
description: This field contains information on phones or devices provisioned for the user.
extension_number:
type: integer
description: The owner's extension number.
format: int64
example: 1000001036
music_on_hold_id:
type: string
description: "The music on hold ID. \n\nOptions: empty char - default and `0` - disable"
example: NOZ98sQvTimYi0XxL_x-iQ
outbound_caller:
type: object
properties:
number:
type: string
description: The outbound calling number.
example: '+123456789'
description: The information about the outbound caller.
outbound_caller_ids:
maxItems: 1000
type: array
items:
type: object
properties:
is_default:
type: boolean
description: Whether the outbound caller ID is the default or not. If `true`, the outbound caller ID is the default caller ID.
example: true
name:
type: string
description: The outbound caller's name.
example: Outbound caller name.
number:
type: string
description: The outbound caller's number.
example: '+2097392651'
status:
type: string
description: The status of the user.
example: Active
enum:
- Active
- Inactive
x-enum-descriptions:
- Active status
- Inactive status
voice_mail:
maxItems: 50
type: array
description: The shared voicemail access member list. <b>Deprecated</b>, we will completely deprecate this property in a future release. Instead use policy.voicemail_access_members property from 'Get a user's profile' API.
items:
type: object
properties:
access_user_id:
type: string
description: The member's ID in the shared voicemail access list determines the sharing or updating of access permissions. It must be the unique identifier of the user, or unique identifier of the common area depending on the access user type.
example: w0RChiauQeqRlv5fgxYULQ
access_user_type:
type: string
description: 'The extension type of the member to be added in the shared voicemail access member list. Allowed: user | commonArea.'
example: commonArea
enum:
- commonArea
- user
delete:
type: boolean
description: Whether the user has delete permissions. The default is **false**.
example: true
download:
type: boolean
description: Whether the user has download permissions. The default is **false**.
example: true
shared_id:
type: string
description: The unique identifier of the shared voicemail that the user can access.
example: --e8ugg0SeS-9clgrDkn2w
intercom:
type: object
properties:
audio_intercoms:
maxItems: 300
type: array
description: The extensions invited into the intercom relationship.
items:
type: object
properties:
extension_id:
type: string
description: The extension's ID.
example: 52OdSKGSSS-EOyJwQncFvA
extension_number:
type: string
description: The extension's number.
example: '1000001004'
extension_type:
type: string
description: 'The extension''s type: `user` or `commonArea`.'
example: user
display_name:
type: string
description: The display's name.
example: test name
status:
type: string
description: 'The status of the extension: `active` or `pending`.'
example: pending
enum:
- active
- pending
device_id:
type: string
description: The device ID. Applicable when the extension level is `commonArea`.
example: GHFnf5WQe-H-_r0Wwx9iQ
device_status:
type: string
description: The status of the device. Applicable when the extension level is `commonArea`.
example: offline
enum:
- online
- offline
- no device
device:
type: object
properties:
id:
type: string
description: The device's ID.
example: JHwOJZ_PRICfVhQlL0x_ww
name:
type: string
description: The device's name.
example: Sita's Phone
description: The selected default device to which all your intercom calls will be routed.
auto_call_recording_access_members:
maxItems: 50
uniqueItems: true
type: array
description: The shared automatic call recording access member list. <b>Deprecated</b>, we will completely deprecate this property in a future release. Instead use policy.auto_call_recording_access_members property from 'Get a user's profile' API.
items:
allOf:
- type: object
properties:
access_user_id:
type: string
description: The Zoom user ID to share the access permissions with.
example: w0RChiauQeqRlv5fgxYULQ
allow_delete:
type: boolean
description: This field specifies whether the user has delete permissions. The default is **false**.
example: false
allow_download:
type: boolean
description: This field specifies whether the user has download permissions. The default is **false**.
example: false
- type: object
properties:
shared_id:
type: string
description: The unique identifier of the shared sub-setting that the user can access.
example: --e8ugg0SeS-9clgrDkn2w
ad_hoc_call_recording_access_members:
maxItems: 50
uniqueItems: true
type: array
description: The shared ad hoc call recording access member list. <b>Deprecated</b>, we will completely deprecate this property in a future release. Instead use policy.ad_hoc_call_recording_access_members property from 'Get a user's profile' API.
items:
allOf:
- type: object
properties:
access_user_id:
type: string
description: The Zoom user ID to share the access permissions with.
example: w0RChiauQeqRlv5fgxYULQ
allow_delete:
type: boolean
description: This field specifies whether the user has delete permissions. The default is **false**.
example: false
allow_download:
type: boolean
description: This field specifies whether the user has download permissions. The default is **false**.
example: false
- type: object
properties:
shared_id:
type: string
description: The unique identifier of the shared sub-setting that the user can access.
example: --e8ugg0SeS-9clgrDkn2w
shared_lines_call_setting:
type: object
properties:
shared_line_appearances:
type: object
properties:
executives:
type: array
description: The incoming call handling options for individual executives.
items:
type: object
properties:
user_id:
type: string
description: The user ID of current executive.
example: DJPrG46sQPmaMnzFrKecOw
display_name:
type: string
description: The user display name of current executive.
example: John Doe
receive_calls:
type: boolean
description: Whether receiving incoming calls for this executive. Default is **true**.
example: true
allow_opt_out:
type: boolean
description: Whether the current user is allowed to opt in or out from receiving incoming calls for this executive. If false, the `receive_calls` field cannot be modified.
example: true
description: The shared line appearances incoming call handling options.
shared_line_groups:
type: object
properties:
receive_calls:
type: boolean
description: Whether receiving incoming calls for all of the shared line groups. Default is **true**.
example: true
shared_line_group:
type: array
description: The incoming call handling options for individual shared line group.
items:
type: object
properties:
slg_id:
type: string
description: The unique identifier of the Shared Line Group.
example: RQinnFtmTJ25mx89tW5Cmw
display_name:
type: string
description: The display name of current shared line group..
example: jamieSLGTest0
receive_calls:
type: boolean
description: Whether receiving incoming calls for this shared line group. Default is **true**.
example: true
description: The shared line groups incoming call handling options.
description: The shared lines incoming call handling options.
holiday_hours:
type: array
description: The holiday hours settings.
items:
type: object
properties:
holiday_id:
type: string
description: The holiday ID.
example: ULfeE4mgSImyelNmTekUfg
name:
type: string
description: The name of the holiday.
example: test
from:
type: string
description: The holiday's start date and time in `yyyy-MM-dd'T'HH:mm:ss'Z'` format.
format: date-time
example: '2022-03-05T00:00:00Z'
to:
type: string
description: The holiday's end date and time in `yyyy-MM-dd'T'HH:mm:ss'Z'` format.
format: date-time
example: '2022-03-06T00:00:00Z'
break_hours:
type: array
description: The break hours list.
items:
type: object
properties:
break_hour_id:
type: string
description: The unique identifier of the break hour.
example: R4GeDFaLTpeQb1jPDCuPhA
break_hour_name:
maxLength: 255
minLength: 1
type: string
description: The name of the break hour.
example: Lunch Break
break_hour_type:
type: string
description: "The type of break hour schedule: \n\n* `every_business_day` — The break applies at the same time on every business day. \n\n* `custom_hours` — The break applies on specific days of the week with individually configured times."
example: every_business_day
enum:
- every_business_day
- custom_hours
break_hour_setting:
description: The break hour time configuration. The structure depends on the `break_hour_type` field.
oneOf:
- title: Every Business Day
required:
- from
- to
type: object
properties:
from:
type: string
description: The start time of the break in `HH:mm` format (24-hour clock). For example, `12:00`.
example: '12:00'
to:
type: string
description: The end time of the break in `HH:mm` format (24-hour clock). For example, `13:00`. Must be after the `from` time.
example: '13:00'
description: Only returned when `break_hour_type` is `every_business_day`. Defines a single time range that applies to all business days.
- title: Custom Hours
required:
- days
type: object
properties:
days:
maxItems: 7
type: array
description: The list of days with configured break times. Only includes days that have break hours enabled.
items:
required:
- from
- to
- weekday
type: object
properties:
weekday:
type: integer
description: "The day of the week: \n* `1` — Sunday. \n* `2` — Monday. \n* `3` — Tuesday. \n* `4` — Wednesday. \n* `5` — Thursday. \n* `6` — Friday. \n* `7` — Saturday."
example: 7
enum:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
enable:
type: boolean
description: Whether the break hour is enabled on this day.
example: true
from:
type: string
description: The start time of the break on this day in `HH:mm` format (24-hour clock). For example, `12:00`.
example: '12:00'
to:
type: string
description: The end time of the break on this day in `HH:mm` format (24-hour clock). For example, `13:00`. Must be after the `from` time.
example: '13:00'
description: Only returned when `break_hour_type` is `custom_hours`. Lists the specific days of the week on which the break is active, along with their individual time ranges.
business_hours_settings:
type: object
properties:
business_hours:
maxItems: 7
type: array
description: The business hours settings.
items:
type: object
properties:
from:
type: string
description: The business hours start time in `HH:mm` format.
example: 09:00
to:
type: string
description: The business hours end time in `HH:mm` format.
example: '18:00'
type:
type: integer
description: "The type of business hours: \n* `0` — Disabled. \n* `1` — 24 hours. \n* `2` — Customized hours."
example: 1
enum:
- 0
- 1
- 2
weekday:
type: integer
description: "The day of the week: \n* `1` — Sunday. \n* `2` — Monday. \n* `3` — Tuesday. \n* `4` — Wednesday. \n* `5` — Thursday. \n* `6` — Friday. \n* `7` — Saturday."
example: 7
enum:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
business_hour_type:
type: integer
description: "The type of business hours: \n* `1` — 24 hours, 7 days a week. \n* `2` — Customized hours."
example: 2
enum:
- 1
- 2
description: The business hours settings.
description: The phone user setting.
'400':
description: "**HTTP Status Code:** `400`
\n Bad Request \n\n **Error Code:** `300`
\n Invalid user id.
\n"
'404':
description: "**HTTP Status Code:** `404`
\n Not Found \n\n **Error Code:** `1001`
\n User does not exist: {userId}.
\n**Error Code:** `2001`
\n Account does not exist.
\n"
'429':
description: "**HTTP Status Code:** `429`
\n Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/). \n\n "
security:
- openapi_oauth:
- phone:read
- phone:read:admin
- phone:read:user_setting:admin
- phone:read:user_setting
openapi_authorization: []
x-extensions:
x-permissions: []
x-macro-scopes:
- phone:read
- phone:read:admin
x-granular-scopes:
- phone:read:user_setting:admin
- phone:read:user_setting
patch:
tags:
- Users
summary: Update a user's profile settings
description: "Updates the Zoom Phone [profile settings](https://support.zoom.us/hc/en-us/articles/360021325712-Configuring-Settings) of a user. For user-level apps, pass [the `me` value](https://marketplace.zoom.us/docs/api-reference/using-zoom-apis#mekeyword) instead of the `userId` parameter.\n\n**Prerequisites** \n* A Business or Enterprise account \n* A Zoom Phone license\n\n**[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `phone:write`,`phone:write:admin`\n\n**[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `phone:update:user_setting`,`phone:update:user_setting:admin`\n\n**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT`"
operationId: updateUserSettings
parameters:
- name: userId
in: path
description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
required: true
schema:
type: string
example: DYHrdpjrS3uaOf7dPkkg8w
requestBody:
content:
application/json:
schema:
type: object
properties:
area_code:
type: string
description: The user's area code.
example: '01'
audio_prompt_language:
type: string
description: "The audio prompt language code. \n American English: `en-US` \n \nBritish English: `en-GB` \n \nEspañol americano: `es-US` \n \nFrançais canadien: `fr-CA` \n \nDansk: `da-DK` \n \nDeutsch: `de-DE` \n \nEspañol: `es-ES` \n \nFrançais: `fr-FR` \n \nItaliano: `it-IT` \n \nNederlands: `nl-NL` \n \nPortugues portugal: `pt-PT` \n \nJapanese: `ja-JP` \n \nKorean: `ko-KO` \n \nPortugues brasil: `pt-BR` \n \nChinese: `zh-CN` \n \nTaiwanese: `zh-TW` \n "
example: en-US
default_transcription_language:
type: string
description: "The default language selection for features such as voicemail and call recording.\n* `en-US` : English (US) \n* `en-GB` : English (UK) \n* `es-US` : Spanish (US) \n* `fr-CA` : French (Canada) \n* `da-DK` : Danish (Denmark) \n* `de-DE` : German (Germany) \n* `es-ES` : Spanish (Spain) \n* `fr-FR` : French (France) \n* `it-IT` : Italian (Italy) \n* `nl-NL` : Dutch (Netherlands) \n* `pt-PT` : Portuguese (Portugal) \n* `ja` : Japanese \n* `ko-KR` : Korean (Korea) \n* `pt-BR` : Portuguese (Brazil) \n* `zh-CN` : Chinese (PRC)"
example: en-US
enum:
- en-US
- en-GB
- es-US
- fr-CA
- da-DK
- de-DE
- es-ES
- fr-FR
- it-IT
- nl-NL
- pt-PT
- ja
- ko-KR
- pt-BR
- zh-CN
country_iso_code:
type: string
description: The [country ISO code](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries)
example: US
music_on_hold_id:
type: string
description: "The music on hold prompt ID. \n\nOptions: empty char - default and `0` - disable"
example: NOZ98sQvTimYi0XxL_x-iQ
outbound_caller_id:
type: string
description: The user's outbound caller ID phone number, in E164 format. If you hide the caller ID, set the value to an `empty string`
example: '+123123123'
shared_lines_call_setting:
type: object
properties:
shared_line_appearances:
type: object
properties:
executives:
maxItems: 15
type: array
description: The incoming call handling options for individual executives.
items:
type: object
properties:
user_id:
type: string
description: The user ID of current executive.
example: DJPrG46sQPmaMnzFrKecOw
receive_calls:
type: boolean
description: Whether receiving incoming calls for this executive, modifying this setting requires opt in/out delegation privileges.
example: true
description: The shared line appearances incoming call handling options.
shared_line_groups:
type: object
properties:
receive_calls:
type: boolean
description: Whether receiving incoming calls for all of the shared line groups.
example: true
shared_line_group:
maxItems: 10
type: array
description: The incoming call handling options for individual shared line group.
items:
type: object
properties:
slg_id:
type: string
description: The unique identifier of the Shared Line Group.
example: RQinnFtmTJ25mx89tW5Cmw
receive_calls:
type: boolean
description: Whether receiving incoming calls for this shared line group.
example: true
description: The shared line groups incoming call handling options.
description: Whether handling incoming calls for this executive or modifying call settings, delegation privileges to opt in or out are required.
break_hours:
type: object
properties:
break_hour_settings:
maxItems: 5
type: array
description: The list of break hour settings.
items:
type: object
properties:
break_hour_id:
type: string
description: The unique identifier of the break hour.
example: R4GeDFaLTpeQb1jPDCuPhA
break_hour_name:
maxLength: 255
minLength: 1
type: string
description: The name of the break hour.
example: Lunch Break
break_hour_type:
type: string
description: "The type of break hour schedule: \n\n* `every_business_day` — The break applies at the same time on every business day. \n\n* `custom_hours` — The break applies on specific days of the week with individually configured times."
example: every_business_day
enum:
- every_business_day
- custom_hours
break_hour_setting:
description: The break hour time configuration. The structure depends on the `break_hour_type` field.
oneOf:
- title: Every Business Day
required:
- from
- to
type: object
properties:
from:
type: string
description: The start time of the break in `HH:mm` format (24-hour clock). For example, `12:00`.
example: '12:00'
to:
type: string
description: The end time of the break in `HH:mm` format (24-hour clock). For example, `13:00`. Must be after the `from` time.
example: '13:00'
description: Only returned when `break_hour_type` is `every_business_day`. Defines a single time range that applies to all business days.
- title: Custom Hours
required:
- days
type: object
properties:
days:
maxItems: 7
type: array
description: The list of days with configured break times. Only includes days that have break hours enabled.
items:
required:
- from
- to
- weekday
type: object
properties:
weekday:
type: integer
description: "The day of the week: \n* `1` — Sunday. \n* `2` — Monday. \n* `3` — Tuesday. \n* `4` — Wednesday. \n* `5` — Thursday. \n* `6` — Friday. \n* `7` — Saturday."
example: 7
enum:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
enable:
type: boolean
description: Whether the break hour is enabled on this day.
example: true
from:
type: string
description: The start time of the break on this day in `HH:mm` format (24-hour clock). For example, `12:00`.
example: '12:00'
to:
type: string
description: The end time of the break on this day in `HH:mm` format (24-hour clock). For example, `13:00`. Must be after the `from` time.
example: '13:00'
description: Only returned when `break_hour_type` is `custom_hours`. Lists the specific days of the week on which the break is active, along with their individual time ranges.
description: The list of break hours. `break_hours` cannot be updated when business hours are set to `24 Hours a Day, 7 Days a Week`.
business_hours_settings:
type: object
properties:
business_hours:
maxItems: 7
type: array
description: The business hours settings.
items:
type: object
properties:
from:
type: string
description: The business hours start time in `HH:mm` format.
example: 09:00
to:
type: string
description: The business hours end time in `HH:mm` format.
example: '18:00'
type:
type: integer
description: "The type of business hours: \n* `0` — Disabled. \n* `1` — 24 hours. \n* `2` — Customized hours."
example: 1
enum:
- 0
- 1
- 2
weekday:
type: integer
description: "The day of the week: \n* `1` — Sunday. \n* `2` — Monday. \n* `3` — Tuesday. \n* `4` — Wednesday. \n* `5` — Thursday. \n* `6` — Friday. \n* `7` — Saturday."
example: 7
enum:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
business_hour_type:
type: integer
description: "The type of business hours: \n* `1` — 24 hours, 7 days a week. \n* `2` — Customized hours."
example: 2
enum:
- 1
- 2
description: The business hours settings.
holiday_hours:
type: object
properties:
holidays:
maxItems: 10
minItems: 1
type: array
description: The holiday list. The minimum is one item and the maximum is 10 items.
items:
type: object
properties:
name:
type: string
description: The name of the holiday.
example: holiday name
from:
type: string
description: The holiday's start date and time in `yyyy-MM-dd'T'HH:mm:ss'Z'` format.
example: '2022-03-05T00:00:00Z'
to:
type: string
description: The holiday's end date and time in `yyyy-MM-dd'T'HH:mm:ss'Z'` format.
example: '2022-03-06T00:00:00Z'
description: The holiday information.
description: The holiday hours settings.
responses:
'204':
description: "**HTTP Status Code:** `204` \n \nUser Setting updated."
'400':
description: "**HTTP Status Code:** `400`
\n Bad Request \n\n **Error Code:** `300`
\n Invalid user id.
\n**Error Code:** `400`
\n Outbound caller id has been locked.\nDo not allow hiding outbound caller id.\nInvalid outbound caller ID.
\n**Error Code:** `405`
\n The number of items for shared_lines_call_setting.shared_line_appearances.executives must not exceed 15.
\n**Error Code:** `405`
\n The number of items for shared_lines_call_setting.shared_line_groups.shared_line_group must not exceed 10.
\n**Error Code:** `1151`
\n User {userId} cannot disable receiving incoming calls for executive {executiveUserId}.
\n**Error Code:** `15101`
\n Break hour does not exist: {breakHourId}.
\n**Error Code:** `15102`
\n Holiday hour does not exist: {holidayHourId}.
\n**Error Code:** `15104`
\n The {hour_type} cannot be updated when business hours are set to `24 Hours a Day, 7 Days a Week`.
\n"
'404':
description: "**HTTP Status Code:** `404`
\n Not Found \n\n **Error Code:** `1001`
\n User does not exist: {userId}.
\n"
'429':
description: "**HTTP Status Code:** `429`
\n Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/). \n\n "
security:
- openapi_oauth:
- phone:write
- phone:write:admin
- phone:update:user_setting
- phone:update:user_setting:admin
openapi_authorization: []
x-extensions:
x-permissions: []
x-macro-scopes:
- phone:write
- phone:write:admin
x-granular-scopes:
- phone:update:user_setting
- phone:update:user_setting:admin
/phone/users/{userId}/settings/{settingType}:
post:
tags:
- Users
summary: Add a user's shared access setting
description: "Adds the user setting according to the setting type, specifically for delegation, intercom and shared access for voicemail, and call recordings. For user-level apps, pass [the `me` value](https://marketplace.zoom.us/docs/api-reference/using-zoom-apis#mekeyword) instead of the `userId` parameter.\n\nTo see the shared access settings in the Zoom web portal, go to **Admin > Phone System Management > Users & Rooms** . Choose **Users** and select **User Policy**. Go to **Voicemail, Automatic Call Recording and Ad Hoc Call Recording**.\n\n To view the delegation and intercom setting in your Zoom web portal, navigate to **Admin > Phone System Management > Users & Rooms**. Choose the **Users** tab and select **User Settings**\n\n **Prerequisites:** \n* A Business or Enterprise account\n\n**[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `phone:write:admin`,`phone:write`\n\n**[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `phone:write:shared_setting`,`phone:write:shared_setting:admin`\n\n**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT`"
operationId: addUserSetting
parameters:
- name: userId
in: path
description: The unique identifier of the user.
required: true
schema:
type: string
example: w0RChiauQeqRlv5fgxYULQ
- name: settingType
in: path
description: 'This field corresponds to the setting item you wish to modify. Allowed values: `voice_mail`, `delegation`, `desk_phone`, `intercom`, `auto_call_recording`,`ad_hoc_call_recording`'
required: true
schema:
type: string
example: voice_mail
requestBody:
content:
application/json:
schema:
type: object
properties:
delegation_assistant_extension_id:
type: string
description: 'The extension ID of the delegation assistant: `user` or `common area`.'
example: CcrEGgmeQem1uyJsuIRKwA
device_id:
type: string
description: The device ID.
example: -GHFnf5WQe-H-_r0Wwx9iQ
voice_mail:
type: object
properties:
access_user_id:
type: string
description: The member's ID in the shared voicemail access list determines the sharing or updating of access permissions. It must be the unique identifier of the user, or the unique identifier of the common area, depending on the access user type.
example: w0RChiauQeqRlv5fgxYULQ
access_user_type:
type: string
description: 'The extension type of the member to be added in the shared voicemail access member list. The default type will be user if empty. Allowed: user | commonArea.'
example: commonArea
enum:
- commonArea
- user
delete:
type: boolean
description: Whether the user has delete permissions. The default is **false**.
example: true
download:
type: boolean
description: Whether the user has download permissions. The default is **false**.
example: true
description: 'This field allows you to update the voicemail setting. <b>Deprecated:</b> we will completely deprecate this property in a future release. Use property `voicemail_access_members` instead. '
voicemail_access_members:
maxItems: 10
uniqueItems: true
type: array
description: The shared voicemail access member list.
items:
type: object
properties:
access_user_id:
type: string
description: The member's ID in the shared voicemail access list determines the sharing or updating of access permissions. It must be the unique identifier of the user, or the unique identifier of the common area, depending on the access user type.
example: w0RChiauQeqRlv5fgxYULQ
access_user_type:
type: string
description: 'The extension type of the member to be added in the shared voicemail access member list. The default type will be user if empty. Allowed: user | commonArea.'
example: commonArea
enum:
- commonArea
- user
allow_delete:
type: boolean
description: Whether the user has delete permissions. The default is **false**.
example: false
allow_download:
type: boolean
description: Whether the user has download permissions. The default is **false**.
example: false
allow_sharing:
type: boolean
description: Whether the user has permission to share. The default is **false**.
example: false
auto_call_recording_access_members:
maxItems: 20
uniqueItems: true
type: array
description: The shared automatic call recording access member list.
items:
type: object
properties:
access_user_id:
type: string
description: The Zoom user ID to share access permissions.
example: w0RChiauQeqRlv5fgxYULQ
allow_delete:
type: boolean
description: Whether the user has delete permissions. The default is **false**.
example: false
allow_download:
type: boolean
description: Whether the user has download permissions. The default is **false**.
example: false
ad_hoc_call_recording_access_members:
maxItems: 20
uniqueItems: true
type: array
description: The shared ad hoc call recording access member list.
items:
type: object
properties:
access_user_id:
type: string
description: The Zoom user ID to share access permissions.
example: w0RChiauQeqRlv5fgxYULQ
allow_delete:
type: boolean
description: Whether the user has delete permissions. The default is **false**.
example: false
allow_download:
type: boolean
description: Whether the user has download permissions. The default is **false**.
example: false
responses:
'201':
description: "**HTTP Status Code** `201` \n \nCreated Successfully."
content:
application/json:
schema:
type: object
properties:
delegation:
type: object
properties:
assistants:
maxItems: 15
type: array
description: The delegation assistants.
items:
type: object
properties:
display_name:
type: string
description: The display name.
example: test delegation assistants
extension_id:
type: string
description: The extension ID.
example: CcrEGgmeQem1uyJsuIRKwA
extension_number:
type: integer
description: The extension number.
format: int64
example: 1000001036
extension_type:
type: string
description: 'The extension type: `user` or `commonArea`.'
example: user
id:
type: string
description: The user or common area ID.
example: w0RChiauQeqRlv5fgxYULQ
privacy:
type: boolean
description: Whether to allow members to prevent others from picking up a held call, and listening, whispering, barging, or taking over a call if it's configured.
example: true
privileges:
maxItems: 10
type: array
description: The delegation privileges. 1-Place Calls, 2-Answer Calls, 3- Pick Up Hold Calls.
items:
type: integer
example: 2
enum:
- 1
- 2
- 3
description: The user delegation.
voice_mail:
type: object
properties:
access_user_id:
type: string
description: The member's ID in the shared voicemail access list determines the sharing or updating of access permissions. It must be the unique identifier of the user, or unique identifier of the common area depending on the access user type.
example: w0RChiauQeqRlv5fgxYULQ
access_user_type:
type: string
description: 'The extension type of the member to be added in the shared voicemail access member list. Allowed: user | commonArea.'
example: commonArea
enum:
- commonArea
- user
delete:
type: boolean
description: Whether the user has delete permissions. The default is **false**.
example: true
download:
type: boolean
description: Whether the user has download permissions. The default is **false**.
example: true
shared_id:
type: string
description: The unique identifier of the voicemail that the user can access.
example: --e8ugg0SeS-9clgrDkn2w
description: This field adds a voicemail setting. <b>Deprecated:</b> we will completely deprecate this property in a future release. Use property `voicemail_access_members` instead.
voicemail_access_members:
maxItems: 50
uniqueItems: true
type: array
description: The shared voicemail access member list.
items:
allOf:
- type: object
properties:
access_user_id:
type: string
description: The member's ID in the shared voicemail access list determines the sharing or updating of access permissions. It must be the unique identifier of the user, or unique identifier of the common area depending on the access user type.
example: w0RChiauQeqRlv5fgxYULQ
access_user_type:
type: string
description: 'The extension type of the member to be added in the shared voicemail access member list. Allowed: user | commonArea.'
example: commonArea
enum:
- commonArea
- user
allow_delete:
type: boolean
description: Whether the user has delete permissions. The default is **false**.
example: false
allow_download:
type: boolean
description: Whether the user has download permissions. The default is **false**.
example: false
allow_sharing:
type: boolean
description: Whether the user has permission to share. The default is **false**.
example: false
- type: object
properties:
shared_id:
type: string
description: ' The unique identifier of the shared sub-setting that the user can access.'
example: --e8ugg0SeS-9clgrDkn2w
auto_call_recording_access_members:
maxItems: 50
uniqueItems: true
type: array
description: The shared automatic call recording access member list.
items:
allOf:
- type: object
properties:
access_user_id:
type: string
description: The Zoom user ID to share access permissions.
example: w0RChiauQeqRlv5fgxYULQ
allow_delete:
type: boolean
description: Whether the user has delete permissions. The default is **false**.
example: false
allow_download:
type: boolean
description: Whether the user has download permissions. The default is **false**.
example: false
- type: object
properties:
shared_id:
type: string
description: The unique identifier of the shared sub-setting that the user can access.
example: --e8ugg0SeS-9clgrDkn2w
ad_hoc_call_recording_access_members:
maxItems: 50
uniqueItems: true
type: array
description: The shared ad hoc call recording access member list.
items:
allOf:
- type: object
properties:
access_user_id:
type: string
description: The Zoom user ID to share access permissions.
example: w0RChiauQeqRlv5fgxYULQ
allow_delete:
type: boolean
description: Whether the user has delete permissions. The default is **false**.
example: false
allow_download:
type: boolean
description: Whether the user has download permissions. The default is **false**.
example: false
- type: object
properties:
shared_id:
type: string
description: The unique identifier of the shared sub-setting that the user can access.
example: --e8ugg0SeS-9clgrDkn2w
'400':
description: "**HTTP Status Code:** `400`
\n Bad Request \n\n **Error Code:** `300`
\n Invalid user id.\nInvalid user sub-setting type.\nVoicemail has already been shared to the user.\nDelegation assistant is required.\nDelegation assistant is not a user or a common area.\nUser delegation assistant does not exist: {delegation_assistant_extension_id}.
\n"
'404':
description: "**HTTP Status Code:** `404`
\n Not Found \n\n **Error Code:** `1001`
\n User does not exist: {userId}.
\n"
'429':
description: "**HTTP Status Code:** `429`
\n Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/). \n\n "
security:
- openapi_oauth:
- phone:write:admin
- phone:write
- phone:write:shared_setting
- phone:write:shared_setting:admin
openapi_authorization: []
x-extensions:
x-permissions: []
x-macro-scopes:
- phone:write:admin
- phone:write
x-granular-scopes:
- phone:write:shared_setting
- phone:write:shared_setting:admin
delete:
tags:
- Users
summary: Delete a user's shared access setting
description: "Removes the user setting according to the setting type, specifically for delegation, intercom and shared access for voicemail and call recordings. For user-level apps, pass [the `me` value](https://marketplace.zoom.us/docs/api-reference/using-zoom-apis#mekeyword) instead of the `userId` parameter.\n\nTo see the shared access settings in the Zoom web portal, go to **Admin > Phone System Management > Users & Rooms** . Click **Users** and select **User Policy**. Go to **Voicemail, Automatic Call Recording and Ad Hoc Call Recording**.\n\n To view the delegation and intercom setting in your Zoom web portal, navigate to **Admin > Phone System Management > Users & Rooms**. Click the **Users** tab and select **User Settings**\n\n **Prerequisites:** \n* A Business or Enterprise account\n\n**[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `phone:write:admin`,`phone:write`\n\n**[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `phone:delete:shared_setting`,`phone:delete:shared_setting:admin`\n\n**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`"
operationId: deleteUserSetting
parameters:
- name: userId
in: path
description: The unique identifier of the user.
required: true
schema:
type: string
example: w0RChiauQeqRlv5fgxYULQ
- name: settingType
in: path
description: 'Corresponds to the setting item you wish to remove. Allowed values: `voice_mail`, `delegation`, `desk_phone`, `intercom`, `auto_call_recording`,`ad_hoc_call_recording`'
required: true
schema:
type: string
example: voice_mail
- name: shared_id
in: query
description: This field is required only for voicemail, auto_call_recording, and ad_hoc_call_recording setting type.
required: false
schema:
type: string
example: --e8ugg0SeS-9clgrDkn2w
- name: assistant_extension_id
in: query
description: This field deletes the delegation assistant, used for delegation setting type.
required: false
schema:
type: string
example: '---52bTzRAW2z5Qdu_MQRg'
- name: device_id
in: query
description: This field deletes the assigned device, used for `desk_phone` setting type.
required: false
schema:
type: string
example: -GHFnf5WQe-H-_r0Wwx9iQ
- name: intercom_extension_id
in: query
description: This field deletes the intercom connection for the `intercom` setting type.
required: false
schema:
type: string
example: GQUUuvGMQu-bvod7HsYYIw
responses:
'204':
description: "**HTTP Status Code:** `204` \n \nNo Content \n "
'400':
description: "**HTTP Status Code:** `400`
\n Bad Request\n\n**Error Code:** `300`
\nInvalid user sub-setting type.
\n\n"
'404':
description: "**HTTP Status Code:** `404`
\n Not Found\n\n**Error Code:** `1001`
\nUser does not exist: {userId}.\n\n"
'429':
description: "**HTTP Status Code:** `429`
\n Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/). \n\n "
security:
- openapi_oauth:
- phone:write:admin
- phone:write
- phone:delete:shared_setting
- phone:delete:shared_setting:admin
openapi_authorization: []
x-extensions:
x-macro-scopes:
- phone:write:admin
- phone:write
x-granular-scopes:
- phone:delete:shared_setting
- phone:delete:shared_setting:admin
patch:
tags:
- Users
summary: Update a user's shared access setting
description: "Updates the user setting according to the setting type, specifically for delegation, intercom and shared access for voicemail and call recordings. For user-level apps, pass [the `me` value](https://marketplace.zoom.us/docs/api-reference/using-zoom-apis#mekeyword) instead of the `userId` parameter.\n\nTo see the shared access settings in the Zoom web portal, go to **Admin > Phone System Management > Users & Rooms** . Choose **Users** and select **User Policy**. Go to **Voicemail, Automatic Call Recording and Ad Hoc Call Recording**.\n\n To view the delegation and intercom setting in your Zoom web portal, navigate to **Admin > Phone System Management > Users & Rooms**. Choose the **Users** tab and select **User Settings**\n\n **Prerequisites:** \n* A Business or Enterprise account\n\n**[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `phone:write:admin`,`phone:write`\n\n**[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `phone:update:shared_setting`,`phone:update:shared_setting:admin`\n\n**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT`"
operationId: updateUserSetting
parameters:
- name: settingType
in: path
description: 'This field corresponds to the setting item you wish to modify. Allowed values: `voice_mail`, `delegation`, `desk_phone`, `intercom`, `auto_call_recording`,`ad_hoc_call_recording`'
required: true
schema:
type: string
example: voice_mail
- name: userId
in: path
description: The unique identifier of the user.
required: true
schema:
type: string
example: w0RChiauQeqRlv5fgxYULQ
requestBody:
content:
application/json:
schema:
type: object
properties:
delegation:
type: object
properties:
privacy:
type: boolean
description: Whether to allow members to prevent others from picking up a held call, and listening, whispering, barging, or taking over a call if it's configured.
example: true
privileges:
maxItems: 10
type: array
description: The delegation privileges. 1-Place Calls, 2-Answer Calls, 3-Pick Up Hold Calls, 4-Manage VIP Contacts, 5-Opt In/Out, 6-Join and Merge Calls, 7-Set Business Hours, 8-Reply to SMS.
items:
type: integer
example: 2
enum:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
locked:
type: boolean
description: Whether to allow users to access to the feature of delegation.
example: true
description: The user delegation.
desk_phone:
type: object
properties:
devices:
maxItems: 10
type: array
description: The setting for the devices.
items:
type: object
properties:
id:
type: string
description: The device ID.
example: -GHFnf5WQe-H-_r0Wwx9iQ
policy:
type: object
properties:
call_control:
type: object
properties:
status:
type: string
description: "This field allows call control features to the current device: configure the desk phone devices to mirror call control actions of the Zoom desktop client, including making and accepting calls. \nOptions include: \n* `on` \n* `off`"
example: 'off'
enum:
- 'on'
- 'off'
hot_desking:
type: object
properties:
status:
type: string
description: "This field allows hot desking feature to the current device: letting the guest user sign in to the desk phone. You can't use the desk phone until the guest user signs out. \nOptions include: \n* `on` \n* `off`"
example: 'off'
enum:
- 'on'
- 'off'
description: The device policy.
phone_screen_lock:
type: boolean
description: After enabling this option, you can lock your desk phone screen. PIN Code is required to unlock your phone. This feature is not supported on some devices. See [Supported Device Types](https://support.zoom.us/hc/en-us/articles/360029698771) for more information.
example: true
pin_code:
type: string
description: The PIN Code to access voicemail, hot desking, and unlocking desk phones.
example: 09912
description: This field updates desk phone information.
voice_mail:
type: object
properties:
access_user_id:
type: string
description: The member's ID in the shared voicemail access list determines the sharing or updating of access permissions. It must be the unique identifier of the user, or unique identifier of the common area depending on the access user type.
example: w0RChiauQeqRlv5fgxYULQ
access_user_type:
type: string
description: 'The extension type of the member to be added in the shared voicemail access member list. Allowed: user | commonArea.'
example: commonArea
enum:
- commonArea
- user
delete:
type: boolean
description: Whether the user has delete permissions. The default is **false**.
example: true
download:
type: boolean
description: Wether the user has download permissions. The default is **false**.
example: true
shared_id:
type: string
description: This field specifies the ID of the voicemail.
example: --e8ugg0SeS-9clgrDkn2w
description: This field updates the voicemail setting. <b>Deprecated:</b> we will completely deprecate this property in a future release. Use property `voicemail_access_members` instead.
intercom:
type: object
properties:
extension_id:
type: string
description: The ID of the extension that you want to invite intercom connection.
example: JHwOJZ_PRICfVhQlL0x_ww
device_id:
type: string
description: The ID of the device to which all your intercom calls will be routed.
example: wG2kKqxyTJOCETmOpS5Kww
description: This field updates the intercom setting.
voicemail_access_members:
maxItems: 10
uniqueItems: true
type: array
description: The shared voicemail access member list.
items:
allOf:
- type: object
properties:
access_user_id:
type: string
description: The member's ID in the shared voicemail access list determines the sharing or updating of access permissions. It must be the unique identifier of the user, or unique identifier of the common area depending on the access user type.
example: w0RChiauQeqRlv5fgxYULQ
access_user_type:
type: string
description: 'The extension type of the member to be added in the shared voicemail access member list. Allowed: user | commonArea.'
example: commonArea
enum:
- commonArea
- user
allow_delete:
type: boolean
description: Whether the user has delete permissions. The default is **false**.
example: false
allow_download:
type: boolean
description: Whether the user has download permissions. The default is **false**.
example: false
allow_sharing:
type: boolean
description: Whether the user has permission to share. The default is **false**.
example: false
- type: object
properties:
shared_id:
type: string
description: ' The unique identifier of the shared sub-setting that the user can access.'
example: --e8ugg0SeS-9clgrDkn2w
auto_call_recording_access_members:
maxItems: 20
uniqueItems: true
type: array
description: The shared automatic call recording access member list.
items:
allOf:
- type: object
properties:
access_user_id:
type: string
description: The Zoom user ID to share the access permissions with.
example: w0RChiauQeqRlv5fgxYULQ
allow_delete:
type: boolean
description: This field specifies whether the user has delete permissions. The default is **false**.
example: false
allow_download:
type: boolean
description: This field specifies whether the user has download permissions. The default is **false**.
example: false
- type: object
properties:
shared_id:
type: string
description: The unique identifier of the shared sub-setting that the user can access.
example: --e8ugg0SeS-9clgrDkn2w
ad_hoc_call_recording_access_members:
maxItems: 20
uniqueItems: true
type: array
description: The shared ad hoc call recording access member list.
items:
allOf:
- type: object
properties:
access_user_id:
type: string
description: The Zoom user ID to share the access permissions with.
example: w0RChiauQeqRlv5fgxYULQ
allow_delete:
type: boolean
description: This field specifies whether the user has delete permissions. The default is **false**.
example: false
allow_download:
type: boolean
description: This field specifies whether the user has download permissions. The default is **false**.
example: false
- type: object
properties:
shared_id:
type: string
description: The unique identifier of the shared sub-setting that the user can access.
example: --e8ugg0SeS-9clgrDkn2w
responses:
'204':
description: "**HTTP Status Code:** `204` \n \nNo Content \n "
'400':
description: "**HTTP Status Code:** `400`
\n Bad Request \n\n **Error Code:** `300`
\n Invalid user id.\nInvalid user setting Type: {settingType}.\nDelegation privileges error.\nDelegation privacy error.\nDelegation assistants do not exist.
\n"
'404':
description: "**HTTP Status Code:** `404`
\n Not Found \n\n **Error Code:** `1001`
\n User does not exist: {userId}.
\n"
'429':
description: "**HTTP Status Code:** `429`
\n Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/). \n\n "
security:
- openapi_oauth:
- phone:write:admin
- phone:write
- phone:update:shared_setting
- phone:update:shared_setting:admin
openapi_authorization: []
x-extensions:
x-permissions: []
x-macro-scopes:
- phone:write:admin
- phone:write
x-granular-scopes:
- phone:update:shared_setting
- phone:update:shared_setting:admin
components:
securitySchemes:
openapi_authorization:
type: apiKey
name: Authorization
in: header
openapi_oauth:
type: oauth2
flows:
authorizationCode:
authorizationUrl: /
tokenUrl: ''
refreshUrl: ''
scopes:
phone:read:admin: phone:read:admin
phone:read:list_account_settings:admin: phone:read:list_account_settings:admin
phone:write:admin: phone:write:admin
phone:write:customized_number:admin: phone:write:customized_number:admin
phone:read:list_customized_number:admin: phone:read:list_customized_number:admin
phone:delete:customized_number:admin: phone:delete:customized_number:admin
phone:write:alert_setting:admin: phone:write:alert_setting:admin
phone:read:list_alert_settings:admin: phone:read:list_alert_settings:admin
phone:read:alert_setting:admin: phone:read:alert_setting:admin
phone:patch:alert_setting:admin: phone:patch:alert_setting:admin
phone:delete:alert_setting:admin: phone:delete:alert_setting:admin
phone:read: phone:read
phone:read:audio: phone:read:audio
phone:read:audio:admin: phone:read:audio:admin
phone:write: phone:write
phone:delete:audio: phone:delete:audio
phone:delete:audio:admin: phone:delete:audio:admin
phone:update:audio: phone:update:audio
phone:update:audio:admin: phone:update:audio:admin
phone:read:list_audios: phone:read:list_audios
phone:read:list_audios:admin: phone:read:list_audios:admin
phone:write:audio: phone:write:audio
phone:write:audio:admin: phone:write:audio:admin
phone:write:batch_audios: phone:write:batch_audios
phone:write:batch_audios:admin: phone:write:batch_audios:admin
phone:read:list_auto_receptionists:admin: phone:read:list_auto_receptionists:admin
phone:write:auto_receptionist:admin: phone:write:auto_receptionist:admin
phone:delete:auto_receptionist:admin: phone:delete:auto_receptionist:admin
phone:update:auto_receptionist:admin: phone:update:auto_receptionist:admin
phone:read:auto_receptionist:admin: phone:read:auto_receptionist:admin
phone:read:auto_receptionist_call_handling_setting:admin: phone:read:auto_receptionist_call_handling_setting:admin
phone:update:auto_receptionist_call_handling_setting:admin: phone:update:auto_receptionist_call_handling_setting:admin
phone:delete:auto_receptionist_number:admin: phone:delete:auto_receptionist_number:admin
phone:write:auto_receptionist_number:admin: phone:write:auto_receptionist_number:admin
phone:update:auto_receptionist_policy:admin: phone:update:auto_receptionist_policy:admin
phone:read:auto_receptionist_policy:admin: phone:read:auto_receptionist_policy:admin
phone:delete:auto_receptionist_policy:admin: phone:delete:auto_receptionist_policy:admin
phone:write:auto_receptionist_policy:admin: phone:write:auto_receptionist_policy:admin
phone:read:auto_receptionist_setting:admin: phone:read:auto_receptionist_setting:admin
phone:write:auto_receptionist_setting:admin: phone:write:auto_receptionist_setting:admin
phone:update:auto_receptionist_setting:admin: phone:update:auto_receptionist_setting:admin
phone:delete:auto_receptionist_setting:admin: phone:delete:auto_receptionist_setting:admin
phone:read:list_billing_accounts:admin: phone:read:list_billing_accounts:admin
phone:read:billing_account:admin: phone:read:billing_account:admin
phone:write:blocked_list:admin: phone:write:blocked_list:admin
phone:read:list_blocked_lists:admin: phone:read:list_blocked_lists:admin
phone:delete:blocked_list:admin: phone:delete:blocked_list:admin
phone:read:blocked_list:admin: phone:read:blocked_list:admin
phone:update:blocked_list:admin: phone:update:blocked_list:admin
phone:read:list_call_handling_settings:admin: phone:read:list_call_handling_settings:admin
phone:update:call_handling_setting:admin: phone:update:call_handling_setting:admin
phone:delete:call_handling_setting:admin: phone:delete:call_handling_setting:admin
phone:write:call_handling_setting:admin: phone:write:call_handling_setting:admin
phone_call_log:read: phone_call_log:read
phone_call_log:read:admin: phone_call_log:read:admin
phone:read:call_log:admin: phone:read:call_log:admin
phone:read:list_call_logs:admin: phone:read:list_call_logs:admin
phone:update:call_log:admin: phone:update:call_log:admin
phone:read:ai_call_summary: phone:read:ai_call_summary
phone:read:ai_call_summary:admin: phone:read:ai_call_summary:admin
phone:read:list_call_logs: phone:read:list_call_logs
phone_call_log:write: phone_call_log:write
phone_call_log:write:admin: phone_call_log:write:admin
phone:delete:call_log: phone:delete:call_log
phone:delete:call_log:admin: phone:delete:call_log:admin
phone:read:list_call_queues:admin: phone:read:list_call_queues:admin
phone:write:call_queue:admin: phone:write:call_queue:admin
phone:delete:call_queue:admin: phone:delete:call_queue:admin
phone:update:call_queue:admin: phone:update:call_queue:admin
phone:read:call_queue:admin: phone:read:call_queue:admin
phone:read:call_queue_call_handling_setting:admin: phone:read:call_queue_call_handling_setting:admin
phone:update:call_queue_call_handling_setting:admin: phone:update:call_queue_call_handling_setting:admin
phone:read:call_queue_custom_group:admin: phone:read:call_queue_custom_group:admin
phone:write:call_queue_custom_group:admin: phone:write:call_queue_custom_group:admin
phone:update:call_queue_custom_group:admin: phone:update:call_queue_custom_group:admin
phone:delete:call_queue_custom_group:admin: phone:delete:call_queue_custom_group:admin
phone:delete:call_queue_custom_group:master: phone:delete:call_queue_custom_group:master
phone:master: phone:master
phone:read:call_queue_custom_group:master: phone:read:call_queue_custom_group:master
phone:write:call_queue_custom_group_member:admin: phone:write:call_queue_custom_group_member:admin
phone:delete:call_queue_custom_group_member:admin: phone:delete:call_queue_custom_group_member:admin
phone:write:call_queue_member:admin: phone:write:call_queue_member:admin
phone:delete:call_queue_member:admin: phone:delete:call_queue_member:admin
phone:read:list_call_queue_members:admin: phone:read:list_call_queue_members:admin
phone:write:call_queue_number:admin: phone:write:call_queue_number:admin
phone:delete:call_queue_number:admin: phone:delete:call_queue_number:admin
phone:read:call_queue_policy:admin: phone:read:call_queue_policy:admin
phone:update:call_queue_policy:admin: phone:update:call_queue_policy:admin
phone:write:call_queue_policy:admin: phone:write:call_queue_policy:admin
phone:delete:call_queue_policy:admin: phone:delete:call_queue_policy:admin
phone:read:list_call_queue_recordings:admin: phone:read:list_call_queue_recordings:admin
phone:read:call_queue_setting:admin: phone:read:call_queue_setting:admin
phone:write:call_queue_setting:admin: phone:write:call_queue_setting:admin
phone:delete:call_queue_setting:admin: phone:delete:call_queue_setting:admin
phone:update:call_queue_setting:admin: phone:update:call_queue_setting:admin
phone:update:carrier_number:admin: phone:update:carrier_number:admin
phone:write:carrier_number:admin: phone:write:carrier_number:admin
phone:read:list_carrier_numbers:admin: phone:read:list_carrier_numbers:admin
phone:delete:carrier_number:admin: phone:delete:carrier_number:admin
phone:write:common_area:admin: phone:write:common_area:admin
phone:read:common_area:admin: phone:read:common_area:admin
phone:read:list_common_area_activation_codes:admin: phone:read:list_common_area_activation_codes:admin
phone:write:apply_template_to_common_areas:admin: phone:write:apply_template_to_common_areas:admin
phone:delete:common_area:admin: phone:delete:common_area:admin
phone:update:common_area:admin: phone:update:common_area:admin
phone:read:common_area_call_handling_setting:admin: phone:read:common_area_call_handling_setting:admin
phone:update:common_area_call_handling_setting:admin: phone:update:common_area_call_handling_setting:admin
phone:write:common_area_calling_plan:admin: phone:write:common_area_calling_plan:admin
phone:delete:common_area_calling_plan:admin: phone:delete:common_area_calling_plan:admin
phone:write:common_area_number:admin: phone:write:common_area_number:admin
phone:delete:common_area_number:admin: phone:delete:common_area_number:admin
phone:read:list_common_area_settings:admin: phone:read:list_common_area_settings:admin
phone:update:common_area_setting:admin: phone:update:common_area_setting:admin
phone:delete:common_area_setting:admin: phone:delete:common_area_setting:admin
phone:write:common_area_setting:admin: phone:write:common_area_setting:admin
phone:read:call_qos:admin: phone:read:call_qos:admin
phone:read:default_emergency_address:admin: phone:read:default_emergency_address:admin
phone:read:detectable_personal_location:admin: phone:read:detectable_personal_location:admin
phone:read:location_sharing_permission:admin: phone:read:location_sharing_permission:admin
phone:read:nomadic_emergency_services:admin: phone:read:nomadic_emergency_services:admin
phone:read:realtime_location_devices:admin: phone:read:realtime_location_devices:admin
phone:read:realtime_location_users:admin: phone:read:realtime_location_users:admin
phone:read:list_tracked_locations:admin: phone:read:list_tracked_locations:admin
phone:update:device_line_keys: phone:update:device_line_keys
phone:update:device_line_keys:admin: phone:update:device_line_keys:admin
phone:read:device_line_keys: phone:read:device_line_keys
phone:read:device_line_keys:admin: phone:read:device_line_keys:admin
phone:delete:directory:admin: phone:delete:directory:admin
phone:read:directory:admin: phone:read:directory:admin
phone:write:directory:admin: phone:write:directory:admin
phone:write:emergency_address:admin: phone:write:emergency_address:admin
phone:read:list_emergency_addresses:admin: phone:read:list_emergency_addresses:admin
phone:read:emergency_address:admin: phone:read:emergency_address:admin
phone:delete:emergency_address:admin: phone:delete:emergency_address:admin
phone:update:emergency_address:admin: phone:update:emergency_address:admin
phone:write:batch_emergency_locations:admin: phone:write:batch_emergency_locations:admin
phone:read:list_emergency_locations:admin: phone:read:list_emergency_locations:admin
phone:write:emergency_location:admin: phone:write:emergency_location:admin
phone:read:emergency_location:admin: phone:read:emergency_location:admin
phone:update:emergency_location:admin: phone:update:emergency_location:admin
phone:delete:emergency_location:admin: phone:delete:emergency_location:admin
phone:write:external_contact:admin: phone:write:external_contact:admin
phone:read:list_external_contacts:admin: phone:read:list_external_contacts:admin
phone:delete:external_contact:admin: phone:delete:external_contact:admin
phone:read:external_contact:admin: phone:read:external_contact:admin
phone:update:external_contact:admin: phone:update:external_contact:admin
phone:write:send_fax: phone:write:send_fax
phone:write:send_fax:admin: phone:write:send_fax:admin
phone:read:list_fax_log: phone:read:list_fax_log
phone:read:list_fax_log:admin: phone:read:list_fax_log:admin
phone:read:fax_log:admin: phone:read:fax_log:admin
phone:read:fax_log: phone:read:fax_log
phone:delete:fax_log: phone:delete:fax_log
phone:delete:fax_log:admin: phone:delete:fax_log:admin
phone:read:list_firmware_update_rules:admin: phone:read:list_firmware_update_rules:admin
phone:write:firmware_update_rule:admin: phone:write:firmware_update_rule:admin
phone:delete:firmware_update_rule:admin: phone:delete:firmware_update_rule:admin
phone:update:firmware_update_rule:admin: phone:update:firmware_update_rule:admin
phone:read:firmware_update_rule:admin: phone:read:firmware_update_rule:admin
phone:read:list_firmwares:admin: phone:read:list_firmwares:admin
phone:read:list_call_pickup_groups:admin: phone:read:list_call_pickup_groups:admin
phone:write:call_pickup_group:admin: phone:write:call_pickup_group:admin
phone:read:call_pickup_group:admin: phone:read:call_pickup_group:admin
phone:update:call_pickup_group:admin: phone:update:call_pickup_group:admin
phone:delete:call_pickup_group:admin: phone:delete:call_pickup_group:admin
phone:write:call_pickup_group_member:admin: phone:write:call_pickup_group_member:admin
phone:read:call_pickup_group_member:admin: phone:read:call_pickup_group_member:admin
phone:delete:call_pickup_group_member:admin: phone:delete:call_pickup_group_member:admin
phone:update:group_policy:admin: phone:update:group_policy:admin
phone:read:group_policy:admin: phone:read:group_policy:admin
phone:read:group_setting:admin: phone:read:group_setting:admin
phone:read:auto_receptionist_ivr:admin: phone:read:auto_receptionist_ivr:admin
phone:update:auto_receptionist_ivr:admin: phone:update:auto_receptionist_ivr:admin
phone:read:list_extension_inbound_block_rules:admin: phone:read:list_extension_inbound_block_rules:admin
phone:read:list_extension_inbound_block_rules: phone:read:list_extension_inbound_block_rules
phone:delete:extension_inbound_block_rule:admin: phone:delete:extension_inbound_block_rule:admin
phone:delete:extension_inbound_block_rule: phone:delete:extension_inbound_block_rule
phone:write:extension_inbound_block_rule:admin: phone:write:extension_inbound_block_rule:admin
phone:write:extension_inbound_block_rule: phone:write:extension_inbound_block_rule
phone:delete:extension_inbound_block_rule_stat:admin: phone:delete:extension_inbound_block_rule_stat:admin
phone:read:list_extension_inbound_block_rules_stat:admin: phone:read:list_extension_inbound_block_rules_stat:admin
phone:update:inbound_blocked_for_all:admin: phone:update:inbound_blocked_for_all:admin
phone:delete:inbound_block_rule:admin: phone:delete:inbound_block_rule:admin
phone:read:list_inbound_block_rules:admin: phone:read:list_inbound_block_rules:admin
phone:write:inbound_block_rule:admin: phone:write:inbound_block_rule:admin
phone:update:inbound_block_rule:admin: phone:update:inbound_block_rule:admin
phone:update:line_keys: phone:update:line_keys
phone:update:line_keys:admin: phone:update:line_keys:admin
phone:read:line_keys: phone:read:line_keys
phone:read:line_keys:admin: phone:read:line_keys:admin
phone:delete:line_keys: phone:delete:line_keys
phone:delete:line_keys:admin: phone:delete:line_keys:admin
phone:read:list_monitoring_groups:admin: phone:read:list_monitoring_groups:admin
phone:write:monitoring_group:admin: phone:write:monitoring_group:admin
phone:delete:monitoring_group:admin: phone:delete:monitoring_group:admin
phone:update:monitoring_group:admin: phone:update:monitoring_group:admin
phone:read:monitoring_group:admin: phone:read:monitoring_group:admin
phone:read:list_monitoring_group_members:admin: phone:read:list_monitoring_group_members:admin
phone:write:monitoring_group_member:admin: phone:write:monitoring_group_member:admin
phone:delete:monitoring_group_member:admin: phone:delete:monitoring_group_member:admin
phone:read:common_area_outbound_calling_rule:admin: phone:read:common_area_outbound_calling_rule:admin
phone:update:common_area_outbound_calling_rule:admin: phone:update:common_area_outbound_calling_rule:admin
phone:write:common_area_outbound_calling_rule:admin: phone:write:common_area_outbound_calling_rule:admin
phone:delete:common_area_outbound_calling_rule:admin: phone:delete:common_area_outbound_calling_rule:admin
phone:read:list_outbound_calling_rules:admin: phone:read:list_outbound_calling_rules:admin
phone:update:outbound_calling_rule:admin: phone:update:outbound_calling_rule:admin
phone:write:outbound_calling_rule:admin: phone:write:outbound_calling_rule:admin
phone:delete:outbound_calling_rule:admin: phone:delete:outbound_calling_rule:admin
phone:update:site_outbound_calling_rule:admin: phone:update:site_outbound_calling_rule:admin
phone:read:site_outbound_calling_rule:admin: phone:read:site_outbound_calling_rule:admin
phone:write:site_outbound_calling_rule:admin: phone:write:site_outbound_calling_rule:admin
phone:delete:site_outbound_calling_rule:admin: phone:delete:site_outbound_calling_rule:admin
phone:update:user_outbound_calling_rule:admin: phone:update:user_outbound_calling_rule:admin
phone:read:user_outbound_calling_rule:admin: phone:read:user_outbound_calling_rule:admin
phone:write:user_outbound_calling_rule:admin: phone:write:user_outbound_calling_rule:admin
phone:delete:user_outbound_calling_rule:admin: phone:delete:user_outbound_calling_rule:admin
phone:read:list_devices:admin: phone:read:list_devices:admin
phone:write:device:admin: phone:write:device:admin
phone:write:sync_device:admin: phone:write:sync_device:admin
phone:update:device:admin: phone:update:device:admin
phone:delete:device:admin: phone:delete:device:admin
phone:read:device:admin: phone:read:device:admin
phone:write:device_extension:admin: phone:write:device_extension:admin
phone:delete:device_extension:admin: phone:delete:device_extension:admin
phone:update:device_provision_template:admin: phone:update:device_provision_template:admin
phone:write:reboot_device:admin: phone:write:reboot_device:admin
phone:write:byo_carrier_number:admin: phone:write:byo_carrier_number:admin
phone:delete:number:admin: phone:delete:number:admin
phone:read:list_numbers:admin: phone:read:list_numbers:admin
phone:update:site_number:admin: phone:update:site_number:admin
phone:read:numbers:admin: phone:read:numbers:admin
phone:update:number:admin: phone:update:number:admin
phone:write:user_number: phone:write:user_number
phone:write:user_number:admin: phone:write:user_number:admin
phone:delete:user_number: phone:delete:user_number
phone:delete:user_number:admin: phone:delete:user_number:admin
phone:read:list_calling_plans:admin: phone:read:list_calling_plans:admin
phone:read:list_roles:admin: phone:read:list_roles:admin
phone:write:role:admin: phone:write:role:admin
phone:update:role:admin: phone:update:role:admin
phone:read:role:admin: phone:read:role:admin
phone:delete:role:admin: phone:delete:role:admin
phone:read:role_member:admin: phone:read:role_member:admin
phone:write:role_member:admin: phone:write:role_member:admin
phone:delete:role_member:admin: phone:delete:role_member:admin
phone:write:private_directory_member:admin: phone:write:private_directory_member:admin
phone:read:list_private_directory_members:admin: phone:read:list_private_directory_members:admin
phone:update:private_directory_member:admin: phone:update:private_directory_member:admin
phone:delete:private_directory_member:admin: phone:delete:private_directory_member:admin
phone_peering:read:admin: phone_peering:read:admin
phone:read:list_peering_numbers:admin: phone:read:list_peering_numbers:admin
phone_peering:write:admin: phone_peering:write:admin
phone:write:peering_number:admin: phone:write:peering_number:admin
phone:delete:peering_number:admin: phone:delete:peering_number:admin
phone:update:peering_number:admin: phone:update:peering_number:admin
phone:write:provision_template:admin: phone:write:provision_template:admin
phone:read:list_provision_templates:admin: phone:read:list_provision_templates:admin
phone:update:provision_template:admin: phone:update:provision_template:admin
phone:read:provision_template:admin: phone:read:provision_template:admin
phone:delete:provision_template:admin: phone:delete:provision_template:admin
phone_recording:read: phone_recording:read
phone_recording:read:admin: phone_recording:read:admin
phone:read:call_recording: phone:read:call_recording
phone:read:call_recording:admin: phone:read:call_recording:admin
phone:read:recording_transcript: phone:read:recording_transcript
phone:read:recording_transcript:admin: phone:read:recording_transcript:admin
phone:read:list_call_recordings:admin: phone:read:list_call_recordings:admin
phone_recording:write: phone_recording:write
phone_recording:write:admin: phone_recording:write:admin
phone:update:call_recording: phone:update:call_recording
phone:update:call_recording:admin: phone:update:call_recording:admin
phone:delete:call_recording: phone:delete:call_recording
phone:delete:call_recording:admin: phone:delete:call_recording:admin
phone:read:list_recordings: phone:read:list_recordings
phone:read:list_recordings:admin: phone:read:list_recordings:admin
phone:read:call_charges:admin: phone:read:call_charges:admin
phone:read:fax_charges:admin: phone:read:fax_charges:admin
phone:read:operation_logs:admin: phone:read:operation_logs:admin
phone:read:sms_charges:admin: phone:read:sms_charges:admin
phone:read:list_routing_rules:admin: phone:read:list_routing_rules:admin
phone:write:routing_rule:admin: phone:write:routing_rule:admin
phone:update:routing_rule:admin: phone:update:routing_rule:admin
phone:read:routing_rule:admin: phone:read:routing_rule:admin
phone:delete:routing_rule:admin: phone:delete:routing_rule:admin
phone_sms:write: phone_sms:write
phone_sms:write:admin: phone_sms:write:admin
phone:read:sms_message: phone:read:sms_message
phone:read:sms_message:admin: phone:read:sms_message:admin
phone_sms:read: phone_sms:read
phone_sms:read:admin: phone_sms:read:admin
phone:read:list_sms_sessions: phone:read:list_sms_sessions
phone:read:list_sms_sessions:admin: phone:read:list_sms_sessions:admin
phone:read:sms_session: phone:read:sms_session
phone:read:sms_session:admin: phone:read:sms_session:admin
phone:read:list_sms_campaigns:admin: phone:read:list_sms_campaigns:admin
phone:read:sms_campaign:admin: phone:read:sms_campaign:admin
phone:write:sms_campaign_number:admin: phone:write:sms_campaign_number:admin
phone:read:sms_campaign_number_opt_status:admin: phone:read:sms_campaign_number_opt_status:admin
phone:update:sms_campaign_number_opt_status:admin: phone:update:sms_campaign_number_opt_status:admin
phone:delete:sms_campaign_number:admin: phone:delete:sms_campaign_number:admin
phone:read:sms_campaign_number_opt_status: phone:read:sms_campaign_number_opt_status
phone:read:sms_consent_number_opt_status:admin: phone:read:sms_consent_number_opt_status:admin
phone:write:setting_template:admin: phone:write:setting_template:admin
phone:read:list_setting_templates:admin: phone:read:list_setting_templates:admin
phone:update:setting_template:admin: phone:update:setting_template:admin
phone:read:setting_template:admin: phone:read:setting_template:admin
phone:update:policy:admin: phone:update:policy:admin
phone:read:policy:admin: phone:read:policy:admin
phone:read:list_ported_numbers:admin: phone:read:list_ported_numbers:admin
phone:read:ported_number:admin: phone:read:ported_number:admin
phone:update:settings:admin: phone:update:settings:admin
phone:read:settings:admin: phone:read:settings:admin
phone:read:list_sip_groups:admin: phone:read:list_sip_groups:admin
phone:read:list_sip_trunks:admin: phone:read:list_sip_trunks:admin
phone:read:list_shared_line_appearances:admin: phone:read:list_shared_line_appearances:admin
phone:read:list_shared_line_groups:admin: phone:read:list_shared_line_groups:admin
phone:write:shared_line_group:admin: phone:write:shared_line_group:admin
phone:read:shared_line_group:admin: phone:read:shared_line_group:admin
phone:read:shared_line_group_call_handling_setting:admin: phone:read:shared_line_group_call_handling_setting:admin
phone:update:shared_line_group_call_handling_setting:admin: phone:update:shared_line_group_call_handling_setting:admin
phone:read:shared_line_group_policy:admin: phone:read:shared_line_group_policy:admin
phone:update:shared_line_group_policy:admin: phone:update:shared_line_group_policy:admin
phone:read:shared_line_group_setting:admin: phone:read:shared_line_group_setting:admin
phone:update:shared_line_group_setting:admin: phone:update:shared_line_group_setting:admin
phone:delete:shared_line_group_setting:admin: phone:delete:shared_line_group_setting:admin
phone:write:shared_line_group_setting:admin: phone:write:shared_line_group_setting:admin
phone:update:shared_line_group:admin: phone:update:shared_line_group:admin
phone:delete:shared_line_group:admin: phone:delete:shared_line_group:admin
phone:delete:shared_line_member:admin: phone:delete:shared_line_member:admin
phone:write:shared_line_member:admin: phone:write:shared_line_member:admin
phone:delete:shared_line_group_number:admin: phone:delete:shared_line_group_number:admin
phone:write:shared_line_group_number:admin: phone:write:shared_line_group_number:admin
phone:delete:shared_line_group_policy:admin: phone:delete:shared_line_group_policy:admin
phone:write:shared_line_group_policy:admin: phone:write:shared_line_group_policy:admin
phone:read:list_sites:admin: phone:read:list_sites:admin
phone:write:site:admin: phone:write:site:admin
phone:read:site:admin: phone:read:site:admin
phone:delete:site:admin: phone:delete:site:admin
phone:update:site:admin: phone:update:site:admin
phone:read:list_site_customized_number:admin: phone:read:list_site_customized_number:admin
phone:delete:site_customized_number:admin: phone:delete:site_customized_number:admin
phone:write:site_customized_number:admin: phone:write:site_customized_number:admin
phone:read:site_setting:admin: phone:read:site_setting:admin
phone:write:site_setting:admin: phone:write:site_setting:admin
phone:delete:site_setting:admin: phone:delete:site_setting:admin
phone:update:site_setting:admin: phone:update:site_setting:admin
phone:read:list_users:admin: phone:read:list_users:admin
phone:write:batch_users:admin: phone:write:batch_users:admin
phone:update:batch_users:admin: phone:update:batch_users:admin
phone:read:user: phone:read:user
phone:read:user:admin: phone:read:user:admin
phone:update:user: phone:update:user
phone:update:user:admin: phone:update:user:admin
phone:delete:user_call_handling_setting: phone:delete:user_call_handling_setting
phone:delete:user_call_handling_setting:admin: phone:delete:user_call_handling_setting:admin
phone:write:user_call_handling_setting: phone:write:user_call_handling_setting
phone:write:user_call_handling_setting:admin: phone:write:user_call_handling_setting:admin
phone:read:user_call_handling_setting:admin: phone:read:user_call_handling_setting:admin
phone:read:user_call_handling_setting: phone:read:user_call_handling_setting
phone:update:user_call_handling_setting:admin: phone:update:user_call_handling_setting:admin
phone:update:user_call_handling_setting: phone:update:user_call_handling_setting
phone:write:calling_plan: phone:write:calling_plan
phone:write:calling_plan:admin: phone:write:calling_plan:admin
phone:update:calling_plan: phone:update:calling_plan
phone:update:calling_plan:admin: phone:update:calling_plan:admin
phone:delete:users_calling_plan: phone:delete:users_calling_plan
phone:delete:users_calling_plan:admin: phone:delete:users_calling_plan:admin
phone:read:list_user_customized_number: phone:read:list_user_customized_number
phone:read:list_user_customized_number:admin: phone:read:list_user_customized_number:admin
phone:write:user_customized_number: phone:write:user_customized_number
phone:write:user_customized_number:admin: phone:write:user_customized_number:admin
phone:delete:user_customized_number: phone:delete:user_customized_number
phone:delete:user_customized_number:admin: phone:delete:user_customized_number:admin
phone:update:user_policy:admin: phone:update:user_policy:admin
phone:read:user_policy:admin: phone:read:user_policy:admin
phone:delete:user_setting: phone:delete:user_setting
phone:delete:user_setting:admin: phone:delete:user_setting:admin
phone:write:user_setting:admin: phone:write:user_setting:admin
phone:write:user_setting: phone:write:user_setting
phone:read:user_setting:admin: phone:read:user_setting:admin
phone:read:user_setting: phone:read:user_setting
phone:update:user_setting: phone:update:user_setting
phone:update:user_setting:admin: phone:update:user_setting:admin
phone:update:shared_setting: phone:update:shared_setting
phone:update:shared_setting:admin: phone:update:shared_setting:admin
phone:write:shared_setting: phone:write:shared_setting
phone:write:shared_setting:admin: phone:write:shared_setting:admin
phone:delete:shared_setting: phone:delete:shared_setting
phone:delete:shared_setting:admin: phone:delete:shared_setting:admin
phone_voicemail:read: phone_voicemail:read
phone_voicemail:read:admin: phone_voicemail:read:admin
phone:read:voicemail: phone:read:voicemail
phone:read:voicemail:admin: phone:read:voicemail:admin
phone:read:list_voicemails: phone:read:list_voicemails
phone:read:list_voicemails:admin: phone:read:list_voicemails:admin
phone_voicemail:write: phone_voicemail:write
phone_voicemail:write:admin: phone_voicemail:write:admin
phone:update:voicemail: phone:update:voicemail
phone:update:voicemail:admin: phone:update:voicemail:admin
phone:delete:voicemail: phone:delete:voicemail
phone:delete:voicemail:admin: phone:delete:voicemail:admin
phone:read:list_rooms:admin: phone:read:list_rooms:admin
phone:write:room:admin: phone:write:room:admin
phone:read:room:admin: phone:read:room:admin
phone:delete:room:admin: phone:delete:room:admin
phone:update:room:admin: phone:update:room:admin
phone:write:room_calling_plan:admin: phone:write:room_calling_plan:admin
phone:delete:room_calling_plan:admin: phone:delete:room_calling_plan:admin
phone:write:room_phone_number:admin: phone:write:room_phone_number:admin
phone:delete:room_phone_number:admin: phone:delete:room_phone_number:admin
externalDocs:
description: Find out more about Swagger
url: https://swagger.io