Every API here is available over the APIs.io API and to AI agents over MCP.
openapi: 3.2.0
info:
title: Phone Accounts 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: Accounts
paths:
/phone/account_settings:
get:
tags:
- Accounts
summary: List an account's Zoom Phone settings
description: "Returns an account's Zoom Phone settings.\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:admin`\n\n**[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `phone:read:list_account_settings:admin`\n\n**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT`"
operationId: listZoomPhoneAccountSettings
parameters:
- name: setting_types
in: query
description: 'The comma separated list of the setting items you want to fetch. Allowed values: `call_live_transcription`,`local_survivability_mode`,`external_calling_on_zoom_room_common_area`, `select_outbound_caller_id`, `personal_audio_library`, `voicemail`, `voicemail_transcription`, `voicemail_notification_by_email`, `shared_voicemail_notification_by_email`, `restricted_call_hours`, `allowed_call_locations`, `check_voicemails_over_phone`, `auto_call_recording`, `ad_hoc_call_recording`, `international_calling`, `outbound_calling`, `outbound_sms`, `sms`, `sms_etiquette_tool`, `zoom_phone_on_mobile`, `zoom_phone_on_pwa`, `e2e_encryption`, `call_handling_forwarding_to_other_users`, `call_overflow`, `call_transferring`, `elevate_to_meeting`, `call_park`, `hand_off_to_room`, `mobile_switch_to_carrier`, `delegation`, `audio_intercom`, `block_calls_without_caller_id`, `block_external_calls`,`call_queue_opt_out_reason`,`auto_delete_data_after_retention_duration`,`auto_call_from_third_party_apps`, `override_default_port`,`peer_to_peer_media`,`advanced_encryption`,`display_call_feedback_survey`,`block_list_for_inbound_calls_and_messaging`,`block_calls_as_threat`,`manage_call_routing_for_unassigned_numbers`.'
required: false
schema:
type: string
example: call_live_transcription
responses:
'200':
description: "**HTTP Status Code:** `200` \n \nAccount settings retrieved successfully."
content:
application/json:
schema:
type: object
properties:
call_live_transcription:
type: object
description: Whether to let users turn on live transcriptions for a call.
allOf:
- type: object
properties:
enable:
type: boolean
example: true
locked:
type: boolean
description: Whether the senior administrator allows users to modify the current settings.
example: false
locked_by:
type: string
description: Which level of administrator prohibits the modification of the current settings.
example: account
enum:
- invalid
- account
- type: object
properties:
transcription_start_prompt:
type: object
properties:
enable:
type: boolean
example: true
audio_id:
type: string
description: The audio prompt file ID. If the audio was removed from the user's audio library, it is marked with a prefix, `removed_vWby3OZaQlS1nAdmEAqgwA` for example. You can still use this audio ID to get the audio information in [Get an audio item](https://developers.zoom.us/docs/api-reference/phone/methods#tag/Audio-Library/operation/GetAudioItem) API.
example: yCT14TwySDGVUypVlKNEyA
audio_name:
type: string
description: The audio prompt file name.
example: example.mp3
description: Whether to play a prompt to call participants when the transcription has started.
local_survivability_mode:
type: object
description: Whether to allow user or extension to have core phone services in the event of an outage.
allOf:
- type: object
properties:
enable:
type: boolean
example: true
locked:
type: boolean
description: Whether the senior administrator allows users to modify the current settings.
example: false
locked_by:
type: string
description: Which level of administrator prohibits the modification of the current settings.
example: account
enum:
- invalid
- account
external_calling_on_zoom_room_common_area:
type: object
description: Whether to allow Zoom Rooms to call external phone numbers based on the calling plans and other Zoom Phone policies.
allOf:
- type: object
properties:
enable:
type: boolean
example: true
locked:
type: boolean
description: Whether the senior administrator allows users to modify the current settings.
example: false
locked_by:
type: string
description: Which level of administrator prohibits the modification of the current settings.
example: account
enum:
- invalid
- account
select_outbound_caller_id:
type: object
description: Whether to allow extensions to change outbound caller ID when placing calls.
allOf:
- type: object
properties:
enable:
type: boolean
example: true
locked:
type: boolean
description: Whether the senior administrator allows users to modify the current settings.
example: false
locked_by:
type: string
description: Which level of administrator prohibits the modification of the current settings.
example: account
enum:
- invalid
- account
- type: object
properties:
allow_hide_outbound_caller_id:
type: boolean
description: Whether to allow extensions to hide outbound caller ID.
example: true
personal_audio_library:
type: object
allOf:
- type: object
properties:
enable:
type: boolean
example: true
locked:
type: boolean
description: Whether the senior administrator allows users to modify the current settings.
example: false
locked_by:
type: string
description: Which level of administrator prohibits the modification of the current settings.
example: account
enum:
- invalid
- account
- type: object
properties:
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:
type: object
allOf:
- type: object
properties:
enable:
type: boolean
example: true
locked:
type: boolean
description: Whether the senior administrator allows users to modify the current settings.
example: false
locked_by:
type: string
description: Which level of administrator prohibits the modification of the current settings.
example: account
enum:
- invalid
- account
- type: object
properties:
allow_videomail:
type: boolean
description: This field allows videomail
example: true
allow_download:
type: boolean
description: This field allows users to download their own voicemail or videomail.
example: false
allow_delete:
type: boolean
description: This field allows users to delete their own voicemail or videomail.
example: true
allow_share:
type: boolean
description: This field allows users to share their own voicemail.
example: true
allow_virtual_background:
type: boolean
description: This field allows virtual background for voicemail or videomail greeting
example: true
voicemail_transcription:
type: object
description: Whether to enable voicemail/videomail transcription feature for User, Auto Receptionist, Call Queue, and Shared Line Groups.
allOf:
- type: object
properties:
enable:
type: boolean
example: true
locked:
type: boolean
description: Whether the senior administrator allows users to modify the current settings.
example: false
locked_by:
type: string
description: Which level of administrator prohibits the modification of the current settings.
example: account
enum:
- invalid
- account
voicemail_notification_by_email:
type: object
description: Whether to enable voicemail or videomail transcription feature for User, Auto Receptionist, Call Queue, and Shared Line Groups.
allOf:
- type: object
properties:
enable:
type: boolean
example: true
locked:
type: boolean
description: Whether the senior administrator allows users to modify the current settings.
example: false
locked_by:
type: string
description: Which level of administrator prohibits the modification of the current settings.
example: account
enum:
- invalid
- account
- 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
forward_voicemail_to_email:
type: boolean
description: Whether to forward the voicemail to email.
example: true
shared_voicemail_notification_by_email:
type: object
description: Once enabled, users receive email notification when there is a new shared voicemail or videomail. If the extension that shares the voicemail or videomail has disabled the voicemail or videomail notification by email policy, then users do not receive notifications. It only displays when the voicemail policy is using the new policy framework.
allOf:
- type: object
properties:
enable:
type: boolean
example: true
locked:
type: boolean
description: Whether the senior administrator allows users to modify the current settings.
example: false
locked_by:
type: string
description: Which level of administrator prohibits the modification of the current settings.
example: account
enum:
- invalid
- account
restricted_call_hours:
type: object
description: Once enabled, define when the extension or user cannot make or accept calls and send SMS.
allOf:
- type: object
properties:
enable:
type: boolean
example: true
locked:
type: boolean
description: Whether the senior administrator allows users to modify the current settings.
example: false
locked_by:
type: string
description: Which level of administrator prohibits the modification of the current settings.
example: account
enum:
- invalid
- account
- type: object
properties:
time_zone:
type: object
properties:
id:
type: string
description: The [time zone list](https://developer.zoom.us/docs/api-reference/other-references/abbreviation-lists/#timezones) for supported time zones and their formats.
example: America/Adak
name:
type: string
description: The time zone name. If time zone id is empty, it shows as `setByExtension`.
example: (GMT-9:00) Adak
description: This field sets either time zone `id` or `set_by_extension`.
restricted_hours_applied:
type: boolean
description: Whether restricted hours have been applied.
example: false
restricted_holiday_hours_applied:
type: boolean
description: Whether restricted holiday hours have been applied.
example: false
allow_internal_calls:
type: boolean
description: Whether to allow internal calls or SMS during restricted hours.
example: true
allowed_call_locations:
type: object
description: Once enabled, it defines where the extension or user can make and accept calls and send SMS.
allOf:
- type: object
properties:
enable:
type: boolean
example: true
locked:
type: boolean
description: Whether the senior administrator allows users to modify the current settings.
example: false
locked_by:
type: string
description: Which level of administrator prohibits the modification of the current settings.
example: account
enum:
- invalid
- account
- type: object
properties:
locations_applied:
type: boolean
description: Whether locations have been applied.
example: false
allow_internal_calls:
type: boolean
description: Whether to allow internal calls when outside of the allowed locations
example: true
check_voicemails_over_phone:
type: object
description: Whether to allow extension owners or members of a shared line group to check voicemails for extension numbers over the phone using a PIN code.
allOf:
- type: object
properties:
enable:
type: boolean
example: true
locked:
type: boolean
description: Whether the senior administrator allows users to modify the current settings.
example: false
locked_by:
type: string
description: Which level of administrator prohibits the modification of the current settings.
example: account
enum:
- invalid
- account
auto_call_recording:
type: object
description: Whether to allow automatic recording of all inbound and outbound calls.
allOf:
- type: object
properties:
enable:
type: boolean
example: true
locked:
type: boolean
description: Whether the senior administrator allows users to modify the current settings.
example: false
locked_by:
type: string
description: Which level of administrator prohibits the modification of the current settings.
example: account
enum:
- invalid
- account
- type: object
properties:
recording_calls:
type: string
description: "The type of calls automatically recorded: \n* `inbound` \n* `outbound` \n* `both`"
example: inbound
enum:
- inbound
- outbound
- both
recording_transcription:
type: boolean
description: Whether the call recording transcription is enabled.
example: true
recording_start_prompt:
type: boolean
description: "Whether a prompt plays to call participants when the recording has started.\n\n<b>Deprecated:</b> 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\n<b>Note:</b> \n* If customers opt for an 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 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. 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_start_prompt_audio_id:
type: string
description: "The audio that plays when the recording has started. You can use this audio ID to get the audio information using [Get an audio item](https://developer.zoom.us/docs/api-reference/phone/methods#tag/Audio-Library/operation/GetAudioItem) API.\n\n<b>Deprecated:</b> This field will be deprecated in a future release. As an alternative, use the `inbound_audio_notification.recording_start_prompt_audio_id` and `outbound_audio_notification.recording_start_prompt_audio_id` to operate inbound and outbound prompt separately.\n\n<b>Note:</b> \n* If customers opt for an OP flag named `Enable Caller Based Consent Options`, the values of `recording_start_prompt_audio_id` and `inbound_audio_notification.recording_start_prompt_audio_id` will remain consistent. When the field is updated, the `inbound_audio_notification.recording_start_prompt_audio_id` will be also updated.\n* If customers do not opt for an OP flag named `Enable Caller Based Consent Options`, the values of `recording_start_prompt_audio_id`, `inbound_audio_notification.recording_start_prompt_audio_id`, and `outbound_audio_notification.recording_start_prompt_audio_id` always remain consistent. When the field is updated, the `inbound_audio_notification.recording_start_prompt_audio_id`, and `outbound_audio_notification.recording_start_prompt_audio_id` will be also updated."
example: ySMexBgBQsioV8KKCUybTA
deprecated: true
recording_explicit_consent:
type: boolean
description: "Whether the **Press 1** option that provides recording consent is enabled.\n\n<b>Deprecated:</b> 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\n<b>Note:</b> \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
allow_stop_resume_recording:
type: boolean
description: Whether the stop and resume 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 the automatic call recording, and the call cannot reconnect after five seconds. This does **not** include emergency calls.
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.
example: true
play_beep_member:
type: string
description: Whether to play the recording beep tone for all participants in the call or only the recording user. It displays only when `enable` is true.
example: allMembers
enum:
- allMembers
- recordingUser
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
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\n<b>Note:</b> \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 for an 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_start_prompt_audio_id:
type: string
description: "The audio that plays when the recording has started for inbound call. You can use this audio ID to get the audio information using [Get an audio item](https://developer.zoom.us/docs/api-reference/phone/methods#tag/Audio-Library/operation/GetAudioItem) API.\n\n<b>Note:</b> \n* If customers do not opt for an OP flag named `Enable Caller Based Consent Options`, the values of `recording_start_prompt_audio_id`, `inbound_audio_notification.recording_start_prompt_audio_id`, and `outbound_audio_notification.recording_start_prompt_audio_id` 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_start_prompt_audio_id` and `outbound_audio_notification.recording_start_prompt_audio_id` with the same value."
example: ySMexBgBQsioV8KKCUybTA
recording_explicit_consent:
type: boolean
description: "Whether the **Press 1** option that provides recording consent for inbound call is enabled.\n\n<b>Note:</b> \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\n<b>Note:</b> \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 cus
# --- truncated at 32 KB (161 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/zoom-phone/refs/heads/main/openapi/zoom-phone-accounts-api-openapi.yml