Zoom Phone Provider Exchange API

The Provider Exchange API from Zoom Phone — 2 operation(s) for provider exchange.

Operations 5

GET /phone/carrier_peering/numbers List carrier peering phone numbers. #
GET /phone/peering/numbers List peering phone numbers #
POST /phone/peering/numbers Add peering phone numbers #
DELETE /phone/peering/numbers Remove peering phone numbers #
PATCH /phone/peering/numbers Update peering phone numbers #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/zoom-phone-provider-exchange-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

zoom-phone-provider-exchange-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Phone Provider Exchange 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: Provider Exchange
paths:
  /phone/carrier_peering/numbers:
    get:
      tags:
      - Provider Exchange
      summary: List carrier peering phone numbers.
      description: "Returns phone numbers that the carrier pushed to different customers.\nTo become a peering provider/ carrier, submit your [request](https://docs.google.com/forms/d/e/1FAIpQLSewkY6ixVyKVNkWC-vgmejC16gigxsJWXji3dWzE3XlWtjsgg/viewform).\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`,`phone_peering:read:admin`\n\n**[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `phone:read:list_peering_numbers:admin`\n\n**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT`"
      operationId: listCarrierPeeringPhoneNumbers
      parameters:
      - name: page_size
        in: query
        description: The total number of records returned from a single API call.
        required: false
        schema:
          maximum: 200
          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: phone_number
        in: query
        description: This field filters results by the given phone number.
        required: false
        schema:
          type: string
          example: '18108001001'
      responses:
        '200':
          description: "**HTTP Status Code:** `200` **OK**  \n Carrier peering numbers successfully returned."
          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: 8X8xSdRVKHsabD6Im4tIPODq6GzDOvV5fO1
                  numbers:
                    maxItems: 200
                    type: array
                    description: The information about the phone numbers pushed by the carrier to different customers.
                    items:
                      required:
                      - assigned
                      - phone_number
                      - sip_trunk_name
                      - status
                      type: object
                      properties:
                        customer_account_name:
                          type: string
                          description: The customer's account name.
                          example: Some customer's account name
                        customer_account_number:
                          type: string
                          description: The customer's account number.
                          example: Some customer's account number
                        assigned:
                          type: integer
                          description: 'Whether the phone number is assigned:

                            * `0` — Unassigned.

                            * `1` — Assigned.'
                          example: 1
                        billing_reference_id:
                          type: string
                          description: The carrier's billing reference ID.
                          example: Some billing referenceId
                        phone_number:
                          type: string
                          description: The phone number in [E.164 format](https://en.wikipedia.org/wiki/E.164).
                          example: '+18108001001'
                        service_info:
                          type: string
                          description: The carrier's service information.
                          example: Some service info
                        sip_trunk_name:
                          type: string
                          description: The phone number's [SIP trunk](https://en.wikipedia.org/wiki/SIP_trunking).
                          example: test-carrier-sip-trunk
                        status:
                          type: integer
                          description: 'The phone number''s status:

                            * `0` — Inactive.

                            * `1` — Active.'
                          example: 0
                  total_records:
                    type: integer
                    description: The total number of records returned for this API call.
                    example: 20
        '400':
          description: "**HTTP Status Code:** `400` <br>\n Bad Request  \n\n "
        '429':
          description: "**HTTP Status Code:** `429` <br>\n Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/). \n\n "
      deprecated: true
      security:
      - openapi_oauth:
        - phone:read:admin
        - phone_peering:read:admin
        - phone:read:list_peering_numbers:admin
        openapi_authorization: []
      x-extensions:
        x-permissions: []
        x-macro-scopes:
        - phone:read:admin
        - phone_peering:read:admin
        x-granular-scopes:
        - phone:read:list_peering_numbers:admin
  /phone/peering/numbers:
    get:
      tags:
      - Provider Exchange
      summary: List peering phone numbers
      description: "Returns phone numbers to Zoom through the Provider Exchange.\n\n**Note**: Phone peering API and events are for partners who have completed the MoU to peer with Zoom. To become a peering provider/ carrier, submit your [request](https://docs.google.com/forms/d/e/1FAIpQLSewkY6ixVyKVNkWC-vgmejC16gigxsJWXji3dWzE3XlWtjsgg/viewform).\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`,`phone_peering:read:admin`\n\n**[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `phone:read:list_peering_numbers:admin`\n\n**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT`"
      operationId: listPeeringPhoneNumbers
      parameters:
      - name: page_size
        in: query
        description: The total number of records returned from a single API call.
        required: false
        schema:
          maximum: 200
          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 is 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
      - name: phone_number
        in: query
        description: The sender's or receiver's phone number that limits the list of SMS sessions.
        required: false
        schema:
          type: string
          example: '18108001001'
      - name: carrier_code
        in: query
        description: 'The carrier''s code. The `clientId` that maps to a carrier peered with Zoom.


          This parameter is required if you do **not** use an OAuth token or the OAuth token does not contain the `clientId`.'
        required: false
        schema:
          type: integer
          example: 8801
      responses:
        '200':
          description: "**HTTP Status Code:** `200` **OK**  \n Carrier peering numbers successfully returned."
          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: 8X8xSdRVKHsabD6Im4tIPODq6GzDOvV5fO1
                  numbers:
                    maxItems: 300
                    type: array
                    description: The information about the carrier's phone numbers.
                    items:
                      required:
                      - assigned
                      - phone_number
                      - sip_trunk_name
                      - status
                      type: object
                      properties:
                        assigned:
                          type: integer
                          description: 'Whether the phone number is assigned:

                            * `0` &mdash; Unassigned.

                            * `1` &mdash; Assigned.'
                          example: 1
                        billing_reference_id:
                          type: string
                          description: The carrier's billing reference ID.
                          example: Some billing referenceId
                        phone_number:
                          type: string
                          description: The phone number in [E.164 format](https://en.wikipedia.org/wiki/E.164).
                          example: '+18108001001'
                        service_info:
                          type: string
                          description: The carrier's service information.
                          example: Some service info
                        sip_trunk_name:
                          type: string
                          description: The phone number's [SIP trunk](https://en.wikipedia.org/wiki/SIP_trunking).
                          example: test-carrier-sip-trunk
                        status:
                          type: integer
                          description: 'The phone number''s status:

                            * `0` &mdash; Inactive.

                            * `1` &mdash; Active.'
                          example: 0
                  total_records:
                    type: integer
                    description: The total number of records returned for this API call.
                    example: 20
        '404':
          description: "**HTTP Status Code:** `404` <br>\n Not Found  \n\n **Error Code:** `2001` <br>\n Account does not exist. <br>\n"
        '429':
          description: "**HTTP Status Code:** `429` <br>\n Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/). \n\n "
      deprecated: true
      security:
      - openapi_oauth:
        - phone:read:admin
        - phone_peering:read:admin
        - phone:read:list_peering_numbers:admin
        openapi_authorization: []
      x-extensions:
        x-permissions: []
        x-macro-scopes:
        - phone:read:admin
        - phone_peering:read:admin
        x-granular-scopes:
        - phone:read:list_peering_numbers:admin
    post:
      tags:
      - Provider Exchange
      summary: Add peering phone numbers
      description: "Adds phone numbers to Zoom through the Provider Exchange.\n\n**Note**: Phone peering API and events are for partners who have completed the MoU to peer with Zoom. To become a peering provider/ carrier, submit your [request](https://docs.google.com/forms/d/e/1FAIpQLSewkY6ixVyKVNkWC-vgmejC16gigxsJWXji3dWzE3XlWtjsgg/viewform).\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`,`phone_peering:write:admin`\n\n**[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `phone:write:peering_number:admin`\n\n**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT`"
      operationId: addPeeringPhoneNumbers
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                carrier_code:
                  type: integer
                  description: 'The carrier''s code. The `clientId` maps to a carrier peered with Zoom.


                    This parameter is required if you do **not** use an OAuth token or the OAuth token does not contain the `clientId`.'
                  example: 3456
                phone_numbers:
                  maxItems: 200
                  type: array
                  description: The information about the added phone numbers. Maximum of 200.
                  items:
                    required:
                    - phone_number
                    - sip_trunk_name
                    - status
                    type: object
                    properties:
                      billing_reference_id:
                        type: string
                        description: The carrier's billing reference ID. Maximum of 32 characters
                        example: Some billing referenceId
                      phone_number:
                        type: string
                        description: The phone number in [E.164 format](https://en.wikipedia.org/wiki/E.164).
                        example: '+18008001011'
                      service_info:
                        type: string
                        description: The carrier's service information. Maximum of 255 characters
                        example: Some service info
                      sip_trunk_name:
                        type: string
                        description: The phone number's [SIP trunk](https://en.wikipedia.org/wiki/SIP_trunking).
                        example: first-markert-carrier-trunk
                      status:
                        type: integer
                        description: 'The phone number''s status:

                          * `0` &mdash; Inactive.

                          * `1` &mdash; Active.'
                        example: 1
      responses:
        '201':
          description: "**HTTP Status Code:** `201` **Created**  \n \n\nPeering phone numbers successfully added. Check the API response for any failures."
          content:
            application/json:
              schema:
                type: object
                properties:
                  unprocessed_numbers:
                    maxItems: 200
                    type: array
                    description: The information about unprocessed phone numbers.
                    items:
                      type: object
                      properties:
                        failure_reason:
                          type: string
                          description: The processing failure reason.
                          example: Invalid status
                        phone_number:
                          type: string
                          description: The phone number in [E.164 format](https://en.wikipedia.org/wiki/E.164).
                          example: '+15556660100'
        '400':
          description: "**HTTP Status Code:** `400` <br>\n Bad Request  \n\n **Error Code:** `124` <br>\n Account does not exist: \"{accountId}\". <br>\n**Error Code:** `300` <br>\n Validation Failed. Batch adding phone numbers is limited to 200 per request. <br>\n**Error Code:** `404` <br>\n Unknown carrier. <br>\n"
        '429':
          description: "**HTTP Status Code:** `429` <br>\n Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/). \n\n "
      deprecated: true
      security:
      - openapi_oauth:
        - phone:write:admin
        - phone_peering:write:admin
        - phone:write:peering_number:admin
        openapi_authorization: []
      x-extensions:
        x-permissions: []
        x-macro-scopes:
        - phone:write:admin
        - phone_peering:write:admin
        x-granular-scopes:
        - phone:write:peering_number:admin
    delete:
      tags:
      - Provider Exchange
      summary: Remove peering phone numbers
      description: "Removes phone numbers added to Zoom through the provider exchange.\n\n**Note**: Phone peering API and events are for partners who have completed the MoU to peer with Zoom. To become a peering provider or carrier, submit your [request](https://docs.google.com/forms/d/e/1FAIpQLSewkY6ixVyKVNkWC-vgmejC16gigxsJWXji3dWzE3XlWtjsgg/viewform).\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`,`phone_peering:write:admin`\n\n**[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `phone:delete:peering_number:admin`\n\n**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT`"
      operationId: deletePeeringPhoneNumbers
      parameters:
      - name: carrier_code
        in: query
        description: The carrier's code. The `clientId` maps to a carrier peered with Zoom.  This parameter is required if you do **not** use an OAuth token or the OAuth token does not contain the `clientId`.
        required: false
        schema:
          type: integer
          example: 8901
      - name: phone_numbers
        in: query
        description: The information about the removed phone numbers. Maximum of 200.
        required: true
        schema:
          maxItems: 200
          type: array
          example:
          - '8615306207777'
          - '8615306207778'
          items:
            type: string
      responses:
        '200':
          description: "**HTTP Status Code:** `200` **Created**  \n Phone number successfully deleted. Check the API response for any failures."
          content:
            application/json:
              schema:
                type: object
                properties:
                  unprocessed_numbers:
                    maxItems: 200
                    type: array
                    description: The information about unprocessed phone numbers.
                    items:
                      type: object
                      properties:
                        failure_reason:
                          type: string
                          description: The reason for processing failures.
                          example: Number not exist.
                        phone_number:
                          type: string
                          description: The phone number in [E.164 format](https://en.wikipedia.org/wiki/E.164).
                          example: '+15556660100'
        '400':
          description: "**HTTP Status Code:** `400` <br>\n Bad Request  \n\n **Error Code:** `124` <br>\n Account does not exist: \"{accountId}\". <br>\n**Error Code:** `300` <br>\n Validation Failed. Batch adding phone numbers is limited to 200 per request. <br>\n**Error Code:** `404` <br>\n Unknown carrier. <br>\n"
        '429':
          description: "**HTTP Status Code:** `429` <br>\n Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/). \n\n "
      deprecated: true
      security:
      - openapi_oauth:
        - phone:write:admin
        - phone_peering:write:admin
        - phone:delete:peering_number:admin
        openapi_authorization: []
      x-extensions:
        x-permissions: []
        x-macro-scopes:
        - phone:write:admin
        - phone_peering:write:admin
        x-granular-scopes:
        - phone:delete:peering_number:admin
    patch:
      tags:
      - Provider Exchange
      summary: Update peering phone numbers
      description: "Updates phone numbers to Zoom through the Provider Exchange.\n\n**Note**: Phone peering API and events are for partners that have completed the MoU to peer with Zoom. To become a peering provider/ carrier, submit your [request](https://docs.google.com/forms/d/e/1FAIpQLSewkY6ixVyKVNkWC-vgmejC16gigxsJWXji3dWzE3XlWtjsgg/viewform).\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`,`phone_peering:write:admin`\n\n**[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `phone:update:peering_number:admin`\n\n**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT`"
      operationId: updatePeeringPhoneNumbers
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                carrier_code:
                  type: integer
                  description: 'The carrier''s code. The `clientId` maps to a carrier peered with Zoom.


                    This parameter is required if you do **not** use an OAuth token or the OAuth token does not contain the `clientId`.'
                  example: 1234
                phone_numbers:
                  maxItems: 200
                  type: array
                  description: A maximum of 200.
                  items:
                    required:
                    - phone_number
                    type: object
                    properties:
                      billing_reference_id:
                        type: string
                        description: The carrier's billing reference ID. Maximum of 32 characters.
                        example: Some billing referenceId
                      phone_number:
                        type: string
                        description: The phone number in [E.164 format](https://en.wikipedia.org/wiki/E.164).
                        example: '+18008001000'
                      service_info:
                        type: string
                        description: The carrier's service information. Maximum of 255 characters.
                        example: The encoding used to copy filtered properties files have not been set.
                      sip_trunk_name:
                        type: string
                        description: The SIP trunk for the number
                        example: first-markert-carrier-trunk
                      status:
                        type: integer
                        description: 'The phone number''s status:

                          * `0` &mdash; Inactive.

                          * `1` &mdash; Active.'
                        example: 0
      responses:
        '200':
          description: '**HTTP Status Code:** `200` **OK**


            Phone number successfully updated. Check the API response for any failures.'
          content:
            application/json:
              schema:
                type: object
                properties:
                  unprocessed_numbers:
                    maxItems: 200
                    type: array
                    description: The information about unprocessed phone numbers.
                    items:
                      type: object
                      properties:
                        failure_reason:
                          type: string
                          description: The reason for processing failures.
                          example: Invalid status
                        phone_number:
                          type: string
                          description: The phone number in [E.164 format](https://en.wikipedia.org/wiki/E.164).
                          example: '+15556660100'
        '400':
          description: "**HTTP Status Code:** `400` <br>\n Bad Request  \n\n **Error Code:** `124` <br>\n Account does not exist: \"{accountId}\". <br>\n**Error Code:** `300` <br>\n Validation Failed. Batch adding phone numbers is limited to 200 per request. <br>\n**Error Code:** `404` <br>\n Unknown carrier. <br>\n"
        '429':
          description: "**HTTP Status Code:** `429` <br>\n Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/). \n\n "
      deprecated: true
      security:
      - openapi_oauth:
        - phone:write:admin
        - phone_peering:write:admin
        - phone:update:peering_number:admin
        openapi_authorization: []
      x-extensions:
        x-permissions: []
        x-macro-scopes:
        - phone:write:admin
        - phone_peering:write:admin
        x-granular-scopes:
        - phone:update:peering_number: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_que

# --- truncated at 32 KB (58 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/zoom-phone/refs/heads/main/openapi/zoom-phone-provider-exchange-api-openapi.yml