Zoom Phone · Agentic Access

Zoom Phone Agentic Access

x-agentic-access generated

Zoom Phone exposes 419 API operations that an AI agent could call, of which 242 are state-changing ‘acting’ operations. This is a recommended x-agentic-access execution contract — the scope, audience, consequence tier, short-lived token constraints, and escalation each action should carry before it is handed to an autonomous agent.

By consequence: 177 read, 229 write, 5 physical, and 8 safety-critical.

8 operations are classed safety-critical and should require human-in-the-loop approval at runtime.

Contracts are classified heuristically from the provider’s OpenAPI and refresh on every APIs.io network build; audience is bound per deployment. The model follows Curity’s Access Intelligence (apidays Munich 2026). Browse every provider’s agent contracts at agentic-access.apis.io.

TelecommunicationsUnited StatesUCaaSCloud PBXVoiceVoIPSIPMessagingSMSPhone NumbersNumber PortingBYOCCarrier PeeringContact CenterCommunications
Operations: 419 Acting: 242 Human-in-the-loop: 8 Method: generated

By consequence

read 177 write 229 physical 5 safety-critical 8

Highest-consequence actions

The physical and safety-critical operations an agent could invoke — the ones that most warrant scoped tokens, tight TTLs, and escalation. Full per-operation contracts are in the source below.

MethodPathConsequenceHuman-in-loop
POST /phone/batch_locations safety-critical required
POST /phone/devices/{deviceId}/reboot safety-critical required
POST /phone/emergency_addresses safety-critical required
DELETE /phone/emergency_addresses/{emergencyAddressId} safety-critical required
PATCH /phone/emergency_addresses/{emergencyAddressId} safety-critical required
POST /phone/locations safety-critical required
DELETE /phone/locations/{locationId} safety-critical required
PATCH /phone/locations/{locationId} safety-critical required
PUT /phone/devices/{deviceId}/provision_templates physical conditional
POST /phone/fax/documents physical conditional
POST /phone/provision_templates physical conditional
DELETE /phone/provision_templates/{templateId} physical conditional
PATCH /phone/provision_templates/{templateId} physical conditional

Source

Agentic Access

Raw ↑
generated: '2026-07-25'
method: generated
source: openapi/zoom-phone-api-openapi.json, openapi/zoom-phone-number-management-openapi.json
description: Recommended x-agentic-access execution contracts, classified heuristically from
  the OpenAPI. A governance starting point for exposing this API to AI agents — review and bind
  audience per deployment. See research/curity/agentic-governance/.
summary:
  operations: 419
  by_action_class:
    connected: 177
    acting: 242
  by_consequence:
    read: 177
    write: 229
    safety-critical: 8
    physical: 5
  human_in_the_loop_required: 8
operations:
- path: /phone/account_settings
  method: get
  operationId: listZoomPhoneAccountSettings
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - phone:read:admin
    - phone:read:list_account_settings:admin
    token:
      max-ttl: 3600
    audit: none
- path: /phone/outbound_caller_id/customized_numbers
  method: get
  operationId: listCustomizeOutboundCallerNumbers
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - phone:read:admin
    - phone:read:list_customized_number:admin
    token:
      max-ttl: 3600
    audit: none
- path: /phone/outbound_caller_id/customized_numbers
  method: post
  operationId: addOutboundCallerNumbers
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - phone:write:admin
    - phone:write:customized_number:admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /phone/outbound_caller_id/customized_numbers
  method: delete
  operationId: deleteOutboundCallerNumbers
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - phone:delete:customized_number:admin
    - phone:write:admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /phone/alert_settings
  method: get
  operationId: ListAlertSettingsWithPagingQuery
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - phone:read:admin
    - phone:read:list_alert_settings:admin
    token:
      max-ttl: 3600
    audit: none
- path: /phone/alert_settings
  method: post
  operationId: AddAnAlertSetting
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - phone:write:admin
    - phone:write:alert_setting:admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /phone/alert_settings/{alertSettingId}
  method: get
  operationId: GetAlertSettingDetails
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - phone:read:admin
    - phone:read:alert_setting:admin
    token:
      max-ttl: 3600
    audit: none
- path: /phone/alert_settings/{alertSettingId}
  method: delete
  operationId: DeleteAnAlertSetting
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - phone:delete:alert_setting:admin
    - phone:write:admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /phone/alert_settings/{alertSettingId}
  method: patch
  operationId: UpdateAnAlertSetting
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - phone:patch:alert_setting:admin
    - phone:write:admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /phone/audios/{audioId}
  method: get
  operationId: GetAudioItem
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - phone:read
    - phone:read:admin
    - phone:read:audio
    - phone:read:audio:admin
    token:
      max-ttl: 3600
    audit: none
- path: /phone/audios/{audioId}
  method: delete
  operationId: DeleteAudioItem
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - phone:delete:audio
    - phone:delete:audio:admin
    - phone:write
    - phone:write:admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /phone/audios/{audioId}
  method: patch
  operationId: UpdateAudioItem
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - phone:update:audio
    - phone:update:audio:admin
    - phone:write
    - phone:write:admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /phone/users/{userId}/audios
  method: get
  operationId: ListAudioItems
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - phone:read
    - phone:read:admin
    - phone:read:list_audios
    - phone:read:list_audios:admin
    token:
      max-ttl: 3600
    audit: none
- path: /phone/users/{userId}/audios
  method: post
  operationId: AddAnAudio
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - phone:write
    - phone:write:admin
    - phone:write:audio
    - phone:write:audio:admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /phone/users/{userId}/audios/batch
  method: post
  operationId: AddAudioItem
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - phone:write
    - phone:write:admin
    - phone:write:batch_audios
    - phone:write:batch_audios:admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /phone/auto_receptionists
  method: get
  operationId: listAutoReceptionists
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - phone:read:admin
    - phone:read:list_auto_receptionists:admin
    token:
      max-ttl: 3600
    audit: none
- path: /phone/auto_receptionists
  method: post
  operationId: addAutoReceptionist
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - phone:write:admin
    - phone:write:auto_receptionist:admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /phone/auto_receptionists/{autoReceptionistId}
  method: get
  operationId: getAutoReceptionistDetail
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - phone:read:admin
    - phone:read:auto_receptionist:admin
    token:
      max-ttl: 3600
    audit: none
- path: /phone/auto_receptionists/{autoReceptionistId}
  method: delete
  operationId: deleteAutoReceptionist
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - phone:delete:auto_receptionist:admin
    - phone:write:admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /phone/auto_receptionists/{autoReceptionistId}
  method: patch
  operationId: updateAutoReceptionist
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - phone:update:auto_receptionist:admin
    - phone:write:admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /phone/auto_receptionists/{autoReceptionistId}/call_handling/settings
  method: get
  operationId: getAutoReceptionistCallHandlingSettings
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - phone:read:admin
    - phone:read:auto_receptionist_call_handling_setting:admin
    token:
      max-ttl: 3600
    audit: none
- path: /phone/auto_receptionists/{autoReceptionistId}/call_handling/settings/{hourType}
  method: patch
  operationId: updateAutoReceptionistCallHandlingSettings
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - phone:update:auto_receptionist_call_handling_setting:admin
    - phone:write:admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /phone/auto_receptionists/{autoReceptionistId}/phone_numbers
  method: post
  operationId: assignPhoneNumbersAutoReceptionist
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - phone:write:admin
    - phone:write:auto_receptionist_number:admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /phone/auto_receptionists/{autoReceptionistId}/phone_numbers
  method: delete
  operationId: unassignAllPhoneNumsAutoReceptionist
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - phone:delete:auto_receptionist_number:admin
    - phone:write:admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /phone/auto_receptionists/{autoReceptionistId}/phone_numbers/{phoneNumberId}
  method: delete
  operationId: unassignAPhoneNumAutoReceptionist
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - phone:delete:auto_receptionist_number:admin
    - phone:write:admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /phone/auto_receptionists/{autoReceptionistId}/policies
  method: get
  operationId: getAutoReceptionistsPolicy
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - phone:read:admin
    - phone:read:auto_receptionist_policy:admin
    token:
      max-ttl: 3600
    audit: none
- path: /phone/auto_receptionists/{autoReceptionistId}/policies
  method: patch
  operationId: updateAutoReceptionistPolicy
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - phone:update:auto_receptionist_policy:admin
    - phone:write:admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /phone/auto_receptionists/{autoReceptionistId}/policies/{policyType}
  method: post
  operationId: AddPolicy
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - phone:write:admin
    - phone:write:auto_receptionist_policy:admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /phone/auto_receptionists/{autoReceptionistId}/policies/{policyType}
  method: delete
  operationId: DeletePolicy
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - phone:delete:auto_receptionist_policy:admin
    - phone:write:admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /phone/auto_receptionists/{autoReceptionistId}/policies/{policyType}
  method: patch
  operationId: updatePolicy
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - phone:update:auto_receptionist_policy:admin
    - phone:write:admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /phone/auto_receptionists/{autoReceptionistId}/settings
  method: get
  operationId: getAutoReceptionistSettings
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - phone:read:admin
    - phone:read:auto_receptionist_setting:admin
    token:
      max-ttl: 3600
    audit: none
- path: /phone/auto_receptionists/{autoReceptionistId}/settings/{settingType}
  method: post
  operationId: addAutoReceptionistSetting
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - phone:write:admin
    - phone:write:auto_receptionist_setting:admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /phone/auto_receptionists/{autoReceptionistId}/settings/{settingType}
  method: delete
  operationId: deleteAutoReceptionistSetting
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - phone:delete:auto_receptionist_setting:admin
    - phone:write:admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /phone/auto_receptionists/{autoReceptionistId}/settings/{settingType}
  method: patch
  operationId: updateAutoReceptionistSetting
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - phone:update:auto_receptionist_setting:admin
    - phone:write:admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /phone/billing_accounts
  method: get
  operationId: listBillingAccount
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - phone:read:admin
    - phone:read:list_billing_accounts:admin
    token:
      max-ttl: 3600
    audit: none
- path: /phone/billing_accounts/{billingAccountId}
  method: get
  operationId: GetABillingAccount
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - phone:read:admin
    - phone:read:billing_account:admin
    token:
      max-ttl: 3600
    audit: none
- path: /phone/blocked_list
  method: get
  operationId: listBlockedList
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - phone:read:admin
    - phone:read:list_blocked_lists:admin
    token:
      max-ttl: 3600
    audit: none
- path: /phone/blocked_list
  method: post
  operationId: addAnumberToBlockedList
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - phone:write:admin
    - phone:write:blocked_list:admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /phone/blocked_list/{blockedListId}
  method: get
  operationId: getABlockedList
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - phone:read:admin
    - phone:read:blocked_list:admin
    token:
      max-ttl: 3600
    audit: none
- path: /phone/blocked_list/{blockedListId}
  method: delete
  operationId: deleteABlockedList
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - phone:delete:blocked_list:admin
    - phone:write:admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /phone/blocked_list/{blockedListId}
  method: patch
  operationId: updateBlockedList
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - phone:update:blocked_list:admin
    - phone:write:admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /phone/extension/{extensionId}/call_handling/settings
  method: get
  operationId: getCallHandling
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - phone:read:admin
    - phone:read:list_call_handling_settings:admin
    token:
      max-ttl: 3600
    audit: none
- path: /phone/extension/{extensionId}/call_handling/settings/{settingType}
  method: post
  operationId: addCallHandling
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - phone:write:admin
    - phone:write:call_handling_setting:admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /phone/extension/{extensionId}/call_handling/settings/{settingType}
  method: delete
  operationId: deleteCallHandling
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - phone:delete:call_handling_setting:admin
    - phone:write:admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /phone/extension/{extensionId}/call_handling/settings/{settingType}
  method: patch
  operationId: updateCallHandling
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - phone:update:call_handling_setting:admin
    - phone:write:admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /phone/call_element/{callElementId}
  method: get
  operationId: getCallElement
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - phone:read
    - phone:read:call_log:admin
    - phone_call_log:read
    - phone_call_log:read:admin
    token:
      max-ttl: 3600
    audit: none
- path: /phone/call_history
  method: get
  operationId: accountCallHistory
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - phone:read:admin
    - phone:read:list_call_logs:admin
    - phone_call_log:read:admin
    token:
      max-ttl: 3600
    audit: none
- path: /phone/call_history/{callHistoryUuid}
  method: get
  operationId: getCallPath
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - phone:read:admin
    - phone:read:call_log:admin
    - phone_call_log:read:admin
    token:
      max-ttl: 3600
    audit: none
- path: /phone/call_history/{callLogId}/client_code
  method: patch
  operationId: addClientCodeToCallHistory
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - phone:update:call_log:admin
    - phone:write:admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /phone/call_history_detail/{callHistoryId}
  method: get
  operationId: getCallHistoryDetail
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - phone:read
    - phone:read:call_log:admin
    - phone_call_log:read
    - phone_call_log:read:admin
    token:
      max-ttl: 3600
    audit: none
- path: /phone/call_logs
  method: get
  operationId: accountCallLogs
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - phone:read:admin
    - phone:read:list_call_logs:admin
    - phone_call_log:read:admin
    token:
      max-ttl: 3600
    audit: none
- path: /phone/call_logs/{callLogId}
  method: get
  operationId: getCallLogDetails
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - phone:read
    - phone:read:admin
    - phone:read:call_log:admin
    - phone_call_log:read
    - phone_call_log:read:admin
    token:
      max-ttl: 3600
    audit: none
- path: /phone/call_logs/{callLogId}/client_code
  method: put
  operationId: addClientCodeToCallLog
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - phone:update:call_log:admin
    - phone:write:admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /phone/user/{userId}/ai_call_summary/{aiCallSummaryId}
  method: get
  operationId: getUserAICallSummary
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - phone:read
    - phone:read:admin
    - phone:read:ai_call_summary
    - phone:read:ai_call_summary:admin
    token:
      max-ttl: 3600
    audit: none
- path: /phone/users/{userId}/call_history
  method: get
  operationId: phoneUserCallHistory
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - phone:read:admin
    - phone:read:list_call_logs
    - phone:read:list_call_logs:admin
    - phone_call_log:read
    token:
      max-ttl: 3600
    audit: none
- path: /phone/users/{userId}/call_history/sync
  method: get
  operationId: syncUserCallHistory
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - phone:read
    - phone:read:admin
    - phone:read:list_call_logs
    - phone:read:list_call_logs:admin
    token:
      max-ttl: 3600
    audit: none
- path: /phone/users/{userId}/call_history/{callLogId}
  method: delete
  operationId: deleteUserCallHistory
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - phone:delete:call_log
    - phone:delete:call_log:admin
    - phone:write
    - phone:write:admin
    - phone_call_log:write
    - phone_call_log:write:admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /phone/users/{userId}/call_logs
  method: get
  operationId: phoneUserCallLogs
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - phone:read
    - phone:read:admin
    - phone:read:list_call_logs
    - phone:read:list_call_logs:admin
    - phone_call_log:read
    - phone_call_log:read:admin
    token:
      max-ttl: 3600
    audit: none
- path: /phone/users/{userId}/call_logs/sync
  method: get
  operationId: syncUserCallLogs
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - phone:read
    - phone:read:admin
    - phone:read:list_call_logs
    - phone:read:list_call_logs:admin
    token:
      max-ttl: 3600
    audit: none
- path: /phone/users/{userId}/call_logs/{callLogId}
  method: delete
  operationId: deleteCallLog
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - phone:delete:call_log
    - phone:delete:call_log:admin
    - phone:write
    - phone:write:admin
    - phone_call_log:write
    - phone_call_log:write:admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /phone/call_queue_analytics
  method: get
  operationId: callqueueanalytics
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - phone:read:admin
    - phone:read:list_call_queues:admin
    token:
      max-ttl: 3600
    audit: none
- path: /phone/call_queues
  method: get
  operationId: listCallQueues
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - phone:read:admin
    - phone:read:list_call_queues:admin
    token:
      max-ttl: 3600
    audit: none
- path: /phone/call_queues
  method: post
  operationId: createCallQueue
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - phone:write:admin
    - phone:write:call_queue:admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /phone/call_queues/{callQueueId}
  method: get
  operationId: getACallQueue
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - phone:read:admin
    - phone:read:call_queue:admin
    token:
      max-ttl: 3600
    audit: none
- path: /phone/call_queues/{callQueueId}
  method: delete
  operationId: deleteACallQueue
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - phone:delete:call_queue:admin
    - phone:write:admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /phone/call_queues/{callQueueId}
  method: patch
  operationId: updateCallQueue
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - phone:update:call_queue:admin
    - phone:write:admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /phone/call_queues/{callQueueId}/call_handling/settings
  method: get
  operationId: getCallQueueCallHandlingSetting
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - phone:read:admin
    - phone:read:call_queue_call_handling_setting:admin
    token:
      max-ttl: 3600
    audit: none
- path: /phone/call_queues/{callQueueId}/call_handling/settings/{hourType}
  method: patch
  operationId: updateCallQueueCallHandlingSetting
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - phone:update:call_queue_call_handling_setting:admin
    - phone:write:admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /phone/call_queues/{callQueueId}/custom_groups
  method: get
  operationId: Listcustomgroupsofacallqueue
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - phone:read:admin
    - phone:read:call_queue_custom_group:admin
    token:
      max-ttl: 3600
    audit: none
- path: /phone/call_queues/{callQueueId}/custom_groups
  method: post
  operationId: Createacustomgroupinacallqueue
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - phone:write:admin
    - phone:write:call_queue_custom_group:admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /phone/call_queues/{callQueueId}/custom_groups/{customGroupId}
  method: get
  operationId: Getacustomgroup
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - phone:master
    - phone:read:admin
    - phone:read:call_queue_custom_group:admin
    - phone:read:call_queue_custom_group:master
    token:
      max-ttl: 3600
    audit: none
- path: /phone/call_queues/{callQueueId}/custom_groups/{customGroupId}
  method: delete
  operationId: Deleteacustomgroup
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - phone:delete:call_queue_custom_group:admin
    - phone:delete:call_queue_custom_group:master
    - phone:write:admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /phone/call_queues/{callQueueId}/custom_groups/{customGroupId}
  method: patch
  operationId: Updateacustomgroup
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - phone:update:call_queue_custom_group:admin
    - phone:write:admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /phone/call_queues/{callQueueId}/custom_groups/{customGroupId}/members
  method: post
  operationId: Addmemberstoacustomgroup
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - phone:write:admin
    - phone:write:call_queue_custom_group_member:admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /phone/call_queues/{callQueueId}/custom_groups/{customGroupId}/members/{extensionId}
  method: delete
  operationId: Removeamemberfromacustomgroup
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - phone:delete:call_queue_custom_group_member:admin
    - phone:write:admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /phone/call_queues/{callQueueId}/members
  method: get
  operationId: listCallQueueMembers
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - phone:read:admin
    - phone:read:list_call_queue_members:admin
    token:
      max-ttl: 3600
    audit: none
- path: /phone/call_queues/{callQueueId}/members
  method: post
  operationId: addMembersToCallQueue
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - phone:write:admin
    - phone:write:call_queue_member:admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /phone/call_queues/{callQueueId}/members
  method: delete
  operationId: unassignAllMembers
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - phone:delete:call_queue_member:admin
    - phone:write:admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /phone/call_queues/{callQueueId}/members/{memberId}
  method: delete
  operationId: unassignMemberFromCallQueue
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - phone:delete:call_queue_member:admin
    - phone:write:admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    au

# --- truncated at 32 KB (167 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/zoom-phone/refs/heads/main/agentic-access/zoom-phone-agentic-access.yml