Zoom Phone Dial by Name Directory API

The Dial by Name Directory API from Zoom Phone — 2 operation(s) for dial by name directory.

Operations 6

GET /phone/dial_by_name_directory/extensions List users in directory #
POST /phone/dial_by_name_directory/extensions Add users to a directory #
DELETE /phone/dial_by_name_directory/extensions Delete users from a directory #
GET /phone/sites/{siteId}/dial_by_name_directory/extensions List users in a directory by site #
POST /phone/sites/{siteId}/dial_by_name_directory/extensions Add users to a directory of a site #
DELETE /phone/sites/{siteId}/dial_by_name_directory/extensions Delete users from a directory of a site #

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-dial-by-name-directory-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-dial-by-name-directory-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Phone Dial by Name Directory 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: Dial by Name Directory
paths:
  /phone/dial_by_name_directory/extensions:
    get:
      tags:
      - Dial by Name Directory
      summary: List users in directory
      description: "Use this API to get users that are in or not in a [directory](https://support.zoom.us/hc/en-us/articles/4404938949389-Using-a-dial-by-name-directory).\n\n**Prerequisites:**\n* Business or Education account\n* Zoom Phone license \n\n\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:directory:admin`\n\n**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`"
      operationId: ListUsersFromDirectory
      parameters:
      - name: page_size
        in: query
        description: The number of records returned within 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 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: in_directory
        in: query
        description: Whether the user belongs to the directory.
        required: false
        schema:
          type: boolean
          example: false
          default: false
      - name: site_id
        in: query
        description: Unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-multiple-sites).
        required: true
        schema:
          type: string
          example: LFD8Bb63f
      responses:
        '200':
          description: '**HTTP Status Code:** `200` **OK**


            Successfully listed the user information.'
          content:
            application/json:
              schema:
                type: object
                properties:
                  next_page_token:
                    type: string
                    description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of the available result list exceeds the page size.
                    example: FHBv62
                  page_size:
                    type: integer
                    description: The size of the page.
                    example: 10
                  result:
                    type: array
                    description: User list.
                    items:
                      type: object
                      properties:
                        extension_id:
                          type: string
                          description: Extension ID.
                          example: FDFU83j
                        display_name:
                          type: string
                          description: Display name.
                          example: CUSTOMERS
                        email:
                          type: string
                          description: Email.
                          example: email@example.com
                        extension_number:
                          type: string
                          description: Extension number.
                          example: '1933'
                        site:
                          type: object
                          properties:
                            id:
                              type: string
                              description: Unique identifier of the site.
                              example: flej2f
                            name:
                              type: string
                              description: Site Name.
                              example: New Site
                          description: Site.
        '400':
          description: "**HTTP Status Code:** `400` <br>\n Bad Request\n\n**Error Code:** `300` <br>\n\n\n"
        '404':
          description: "**HTTP Status Code:** `404` <br>\n Not Found\n\n**Error Code:** `2001` <br>\nAccount does not exist.\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 "
      security:
      - openapi_oauth:
        - phone:read:admin
        - phone:read:directory:admin
        openapi_authorization: []
      x-extensions:
        x-macro-scopes:
        - phone:read:admin
        x-granular-scopes:
        - phone:read:directory:admin
    post:
      tags:
      - Dial by Name Directory
      summary: Add users to a directory
      description: "Use this API to add users to a [directory](https://support.zoom.us/hc/en-us/articles/4404938949389-Using-a-dial-by-name-directory).\n\n**Prerequisites:**\n* Business or Education account\n* Zoom Phone license \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:directory:admin`\n\n**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`"
      operationId: AddUsersToDirectory
      requestBody:
        content:
          application/json:
            schema:
              required:
              - site_id
              type: object
              properties:
                site_id:
                  type: string
                  description: Unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-multiple-sites)
                  example: pei2g0vFDF
                extension_ids:
                  type: array
                  description: The IDs of user's extension. If the value is not specified, only add value of `site_id` to `included sites`
                  items:
                    type: string
                    example: O3JFBAnds
      responses:
        '201':
          description: '**HTTP Status Code:** `201` **Created**



            Successfully added users to the directory.'
        '400':
          description: "**HTTP Status Code:** `400` <br>\n Bad Request\n\n**Error Code:** `300` <br>\n\n\n"
        '404':
          description: "**HTTP Status Code:** `404` <br>\n Not Found\n\n**Error Code:** `2001` <br>\nAccount does not exist.\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 "
      security:
      - openapi_oauth:
        - phone:write:admin
        - phone:write:directory:admin
        openapi_authorization: []
      x-extensions:
        x-macro-scopes:
        - phone:write:admin
        x-granular-scopes:
        - phone:write:directory:admin
    delete:
      tags:
      - Dial by Name Directory
      summary: Delete users from a directory
      description: "Use this API to delete users from the [directory](https://support.zoom.us/hc/en-us/articles/4404938949389-Using-a-dial-by-name-directory).\n\n**Prerequisites:**\n* Business or Education account\n* Zoom Phone license \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:delete:directory:admin`\n\n**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`"
      operationId: DeleteUsersFromDirectory
      parameters:
      - name: site_id
        in: query
        description: Unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-multiple-sites)
        required: true
        schema:
          type: string
          example: fdfdkq3k
      - name: extension_ids
        in: query
        description: Extension Ids. If the value is not specified, delete the value of `site_id` from  `included sites` and delete all users related with `site_id` from directory.
        required: false
        schema:
          type: array
          items:
            type: string
            example: derek
      responses:
        '204':
          description: '**HTTP Status Code:** `204` **No Content**



            Successfully deleted users from the directory.'
        '400':
          description: "**HTTP Status Code:** `400` <br>\n Bad Request\n\n**Error Code:** `300` <br>\n\n\n"
        '404':
          description: "**HTTP Status Code:** `404` <br>\n Not Found\n\n**Error Code:** `2001` <br>\nAccount does not exist.\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 "
      security:
      - openapi_oauth:
        - phone:write:admin
        - phone:delete:directory:admin
        openapi_authorization: []
      x-extensions:
        x-macro-scopes:
        - phone:write:admin
        x-granular-scopes:
        - phone:delete:directory:admin
  /phone/sites/{siteId}/dial_by_name_directory/extensions:
    get:
      tags:
      - Dial by Name Directory
      summary: List users in a directory by site
      description: "Use this API to get users that are in or not in a [directory](https://support.zoom.us/hc/en-us/articles/4404938949389-Using-a-dial-by-name-directory) of the specified site.\n\n**Prerequisites:**\n* Business or Education account\n* Zoom Phone license \n\n\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:directory:admin`\n\n**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`"
      operationId: ListUsersFromDirectoryBySite
      parameters:
      - name: siteId
        in: path
        description: Unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-multiple-sites).
        required: true
        schema:
          type: string
          example: fef3ggd
      - name: page_size
        in: query
        description: The number of records returned within 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 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: in_directory
        in: query
        description: Whether the user belongs to the directory.
        required: false
        schema:
          type: boolean
          example: false
          default: false
      - name: site_id
        in: query
        description: Unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-multiple-sites) to which users to get belongs.
        required: false
        schema:
          type: string
          example: fefeqd
      responses:
        '200':
          description: '**HTTP Status Code:** `200` **OK**


            Successfully listed the user information.'
          content:
            application/json:
              schema:
                type: object
                properties:
                  next_page_token:
                    type: string
                    description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of the available result list exceeds the page size.
                    example: lfei3g
                  page_size:
                    type: integer
                    description: The size of the page.
                    example: 30
                  result:
                    type: array
                    description: User list.
                    items:
                      type: object
                      properties:
                        extension_id:
                          type: string
                          description: Extension ID.
                          example: feq3g
                        display_name:
                          type: string
                          description: Display name.
                          example: Name
                        email:
                          type: string
                          description: Email.
                          example: example@example.com
                        extension_number:
                          type: string
                          description: Extension number.
                          example: '1003'
                        site:
                          type: object
                          properties:
                            id:
                              type: string
                              description: Unique identifier of the site.
                              example: fdjl23
                            name:
                              type: string
                              description: Site Name.
                              example: New site
                          description: Site.
        '400':
          description: "**HTTP Status Code:** `400` <br>\n Bad Request\n\n**Error Code:** `300` <br>\n\n\n"
        '404':
          description: "**HTTP Status Code:** `404` <br>\n Not Found\n\n**Error Code:** `2001` <br>\nAccount does not exist.\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 "
      security:
      - openapi_oauth:
        - phone:read:admin
        - phone:read:directory:admin
        openapi_authorization: []
      x-extensions:
        x-macro-scopes:
        - phone:read:admin
        x-granular-scopes:
        - phone:read:directory:admin
    post:
      tags:
      - Dial by Name Directory
      summary: Add users to a directory of a site
      description: "Use this API to add users to a [directory](https://support.zoom.us/hc/en-us/articles/4404938949389-Using-a-dial-by-name-directory) of the specified site.\n\n**Prerequisites:**\n* Business or Education account\n* Zoom Phone license \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:directory:admin`\n\n**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`"
      operationId: AddUsersToDirectoryBySite
      parameters:
      - name: siteId
        in: path
        description: Unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-multiple-sites).
        required: true
        schema:
          type: string
          example: fdfdko2
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                site_id:
                  type: string
                  description: Unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-multiple-sites) to which users to add  belongs
                  example: fdfdwb
                extension_ids:
                  type: array
                  description: The IDs of user's extension. If the value is not specified, only add value of `site_id` to `included sites`
                  items:
                    type: string
                    example: qdvd3fg
      responses:
        '201':
          description: '**HTTP Status Code:** `201` **Created**



            Successfully added users to the directory.'
        '400':
          description: "**HTTP Status Code:** `400` <br>\n Bad Request\n\n**Error Code:** `300` <br>\n\n\n"
        '404':
          description: "**HTTP Status Code:** `404` <br>\n Not Found\n\n**Error Code:** `2001` <br>\nAccount does not exist.\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 "
      security:
      - openapi_oauth:
        - phone:write:admin
        - phone:write:directory:admin
        openapi_authorization: []
      x-extensions:
        x-macro-scopes:
        - phone:write:admin
        x-granular-scopes:
        - phone:write:directory:admin
    delete:
      tags:
      - Dial by Name Directory
      summary: Delete users from a directory of a site
      description: "Use this API to delete users from a [directory](https://support.zoom.us/hc/en-us/articles/4404938949389-Using-a-dial-by-name-directory) of the specified site.\n\n**Prerequisites:**\n* Business or Education account\n* Zoom Phone license \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:delete:directory:admin`\n\n**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`"
      operationId: DeleteUsersFromDirectoryBySite
      parameters:
      - name: siteId
        in: path
        description: Unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-multiple-sites).
        required: true
        schema:
          type: string
          example: fo2if
      - name: site_id
        in: query
        description: Unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-multiple-sites) to which users to delete belongs
        required: false
        schema:
          type: string
          example: fleoq3
      - name: extension_ids
        in: query
        description: Extension Ids. If the value is not specified, delete the value of `site_id` from  `included sites` and delete all users related with `site_id` from directory
        required: false
        schema:
          type: array
          items:
            type: string
            example: fiefi02kd
      responses:
        '204':
          description: '**HTTP Status Code:** `204` **No Content**



            Successfully deleted users from the directory.'
        '400':
          description: "**HTTP Status Code:** `400` <br>\n Bad Request\n\n**Error Code:** `300` <br>\n\n\n"
        '404':
          description: "**HTTP Status Code:** `404` <br>\n Not Found\n\n**Error Code:** `2001` <br>\nAccount does not exist.\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 "
      security:
      - openapi_oauth:
        - phone:write:admin
        - phone:delete:directory:admin
        openapi_authorization: []
      x-extensions:
        x-macro-scopes:
        - phone:write:admin
        x-granular-scopes:
        - phone:delete:directory: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:e

# --- truncated at 32 KB (53 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/zoom-phone/refs/heads/main/openapi/zoom-phone-dial-by-name-directory-api-openapi.yml