Zoom Phone Firmware Update Rules API

The Firmware Update Rules API from Zoom Phone — 3 operation(s) for firmware update rules.

Operations 6

GET /phone/firmware_update_rules List firmware update rules #
POST /phone/firmware_update_rules Add a firmware update rule #
GET /phone/firmware_update_rules/{ruleId} Get firmware update rule information #
DELETE /phone/firmware_update_rules/{ruleId} Delete firmware update rule #
PATCH /phone/firmware_update_rules/{ruleId} Update firmware update rule #
GET /phone/firmwares List updatable firmwares #

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-firmware-update-rules-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-firmware-update-rules-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Phone Firmware Update Rules 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: Firmware Update Rules
paths:
  /phone/firmware_update_rules:
    get:
      tags:
      - Firmware Update Rules
      summary: List firmware update rules
      description: "Use this API to get [firmware update rules](https://support.zoom.us/hc/en-us/articles/360054198852-Setting-up-firmware-update-rules).\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:list_firmware_update_rules:admin`\n\n**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`"
      operationId: ListFirmwareRules
      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 if multiple sites are enabled.
        required: false
        schema:
          type: string
          example: 8f71O6rWT8KFUGQmJIFAdQ
      - 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
      responses:
        '200':
          description: '**HTTP Status Code:** `200` **OK**


            Successfully listed the firmware update rules.'
          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: 10mHdrdYyMxKi8LQhL7GPI6BWj65IcrbjJ2
                  page_size:
                    type: integer
                    description: The size of the page.
                    example: 30
                  rules:
                    type: array
                    description: Firmware update rules list.
                    items:
                      type: object
                      properties:
                        rule_id:
                          type: string
                          description: Unique identifier of the firmware update rule.
                          example: 3h_bQL5MR_-sCmlJcTclVg
                        version:
                          type: string
                          description: Firmware version.
                          example: 3.4.5.18
                        device_type:
                          type: string
                          description: Device type.
                          example: AudioCodes
                        device_model:
                          type: string
                          description: Device model name.
                          example: 445hd
        '400':
          description: "**HTTP Status Code:** `400` <br>\n Bad Request\n\n**Error Code:** `300` <br>\n\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:list_firmware_update_rules:admin
        openapi_authorization: []
      x-extensions:
        x-macro-scopes:
        - phone:read:admin
        x-granular-scopes:
        - phone:read:list_firmware_update_rules:admin
    post:
      tags:
      - Firmware Update Rules
      summary: Add a firmware update rule
      description: "Use this API to add a [firmware update rule](https://support.zoom.us/hc/en-us/articles/360054198852-Setting-up-firmware-update-rules).\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:firmware_update_rule:admin`\n\n**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`"
      operationId: AddFirmwareRule
      requestBody:
        content:
          application/json:
            schema:
              required:
              - device_model
              - device_type
              - version
              type: object
              properties:
                site_id:
                  type: string
                  description: Unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672). This can be retrieved from the [List Phone Sites](https://marketplace.zoom.us/docs/api-reference/phone/methods#operation/listPhoneSites) API. Required if multiple sites are enabled.
                  example: 8f71O6rWT8KFUGQmJIFAdQ
                version:
                  type: string
                  description: Firmware version.
                  example: 3.4.5.18
                device_type:
                  type: string
                  description: Device type.
                  example: AudioCodes
                device_model:
                  type: string
                  description: Device model name.
                  example: 445hd
                restart_type:
                  type: integer
                  description: 'Restart type: `1` - Restart the devices immediately. `2` - Restart with the next resync or auto pull'
                  example: 1
                  default: 1
                  enum:
                  - 1
                  - 2
      responses:
        '201':
          description: '**HTTP Status Code:** `201` **Created**


            Successfully added a firmware update rule.'
          content:
            application/json:
              schema:
                type: object
                properties:
                  rule_Id:
                    type: string
                    description: Unique identifier of the firmware update rule.
                    example: MRNStlOVS02fJ6pOAzrh0A
        '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:** `404` <br>\nThe firmware version does not exist, firmware version:{0}.\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:firmware_update_rule:admin
        openapi_authorization: []
      x-extensions:
        x-macro-scopes:
        - phone:write:admin
        x-granular-scopes:
        - phone:write:firmware_update_rule:admin
  /phone/firmware_update_rules/{ruleId}:
    get:
      tags:
      - Firmware Update Rules
      summary: Get firmware update rule information
      description: "Use this API to get the [firmware update rule](https://support.zoom.us/hc/en-us/articles/360054198852-Setting-up-firmware-update-rules) information.\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:firmware_update_rule:admin`\n\n**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`"
      operationId: GetFirmwareRuleDetail
      parameters:
      - name: ruleId
        in: path
        description: Unique identifier of the firmware update rule.
        required: true
        schema:
          type: string
          example: 4Hzv4_K1RRKC_MFDPIocJA
      responses:
        '200':
          description: '**HTTP Status Code:** `200` **OK**


            Successfully get the firmware update rule.'
          content:
            application/json:
              schema:
                type: object
                properties:
                  device_type:
                    type: string
                    description: Device type.
                    example: AudioCodes
                  device_model:
                    type: string
                    description: Device model name.
                    example: 445hd
                  version:
                    type: string
                    description: Firmware version.
                    example: 3.4.5.18
                  update_log:
                    type: string
                    description: The update log.
                    example: 1. Supports call forwarding for Zoom Phone
        '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:** `404` <br>\nFirmware rule (ID: {0}) 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:firmware_update_rule:admin
        openapi_authorization: []
      x-extensions:
        x-macro-scopes:
        - phone:read:admin
        x-granular-scopes:
        - phone:read:firmware_update_rule:admin
    delete:
      tags:
      - Firmware Update Rules
      summary: Delete firmware update rule
      description: "Use this API to delete the [firmware update rule](https://support.zoom.us/hc/en-us/articles/360054198852-Setting-up-firmware-update-rules).\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:firmware_update_rule:admin`\n\n**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`"
      operationId: DeleteFirmwareUpdateRule
      parameters:
      - name: ruleId
        in: path
        description: Unique identifier of the firmware update rule.
        required: true
        schema:
          type: string
          example: 4Hzv4_K1RRKC_MFDPIocJA
      - name: restart_type
        in: query
        description: 'Restart type: `1` - Restart the devices immediately. `2` - Restart with the next resync or auto pull.'
        required: false
        schema:
          type: integer
          example: 1
          default: 1
          enum:
          - 1
          - 2
      responses:
        '204':
          description: '**HTTP Status Code:** `204` **No Content**



            Successfully deleted firmware update rule.'
        '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:** `404` <br>\nThe rule does not exist, rule id:{0}.\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:firmware_update_rule:admin
        openapi_authorization: []
      x-extensions:
        x-macro-scopes:
        - phone:write:admin
        x-granular-scopes:
        - phone:delete:firmware_update_rule:admin
    patch:
      tags:
      - Firmware Update Rules
      summary: Update firmware update rule
      description: "Use this API to update a specific [firmware update rule](https://support.zoom.us/hc/en-us/articles/360054198852-Setting-up-firmware-update-rules).\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:update:firmware_update_rule:admin`\n\n**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`"
      operationId: UpdateFirmwareRule
      parameters:
      - name: ruleId
        in: path
        description: Unique identifier of the firmware update rule.
        required: true
        schema:
          type: string
          example: 4Hzv4_K1RRKC_MFDPIocJA
      requestBody:
        content:
          application/json:
            schema:
              required:
              - device_model
              - device_type
              - version
              type: object
              properties:
                version:
                  type: string
                  description: Firmware version.
                  example: 3.4.5.18
                device_type:
                  type: string
                  description: Device type.
                  example: AudioCodes
                device_model:
                  type: string
                  description: Device model name.
                  example: 445hd
                restart_type:
                  type: integer
                  description: 'Restart type: `1` - Restart the devices immediately. `2` - Restart with the next resync or auto pull'
                  example: 1
                  default: 1
                  enum:
                  - 1
                  - 2
      responses:
        '204':
          description: '**HTTP Status Code:** `204` **No Content**


            Successfully updated a firmware update rule.'
        '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:** `404` <br>\nThe rule does not exist, rule id:{0}.<br>\n\nThe firmware version does not exist, firmware version:{0}.\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:update:firmware_update_rule:admin
        openapi_authorization: []
      x-extensions:
        x-macro-scopes:
        - phone:write:admin
        x-granular-scopes:
        - phone:update:firmware_update_rule:admin
  /phone/firmwares:
    get:
      tags:
      - Firmware Update Rules
      summary: List updatable firmwares
      description: "Use this API to get updatable [firmwares](https://support.zoom.us/hc/en-us/articles/360054198852-Setting-up-firmware-update-rules).\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:list_firmwares:admin`\n\n**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`"
      operationId: ListFirmwares
      parameters:
      - name: is_update
        in: query
        description: "Firmware update rule enabled. \n `true` - Get all firmwares that can have firmware update rules added \n `false` - Get all firmwares whether or not you can add firmware update rules to it"
        required: false
        schema:
          type: boolean
          example: true
          default: true
      - name: site_id
        in: query
        description: Unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-multiple-sites). Required if multiple sites are enabled.
        required: false
        schema:
          type: string
          example: 8f71O6rWT8KFUGQmJIFAdQ
      responses:
        '200':
          description: '**HTTP Status Code:** `200` **OK**


            Successfully listed the firmwares.'
          content:
            application/json:
              schema:
                type: object
                properties:
                  firmwares:
                    type: array
                    description: Firmwares list.
                    items:
                      type: object
                      properties:
                        device_type:
                          type: string
                          description: Device type.
                          example: AudioCodes
                        device_model:
                          type: string
                          description: Device model name.
                          example: 445hd
                        versions:
                          type: array
                          description: Firmware versions.
                          items:
                            type: object
                            properties:
                              version:
                                type: string
                                description: Firmware version.
                                example: 3.4.5.18
                              update_log:
                                type: string
                                description: The update log.
                                example: 1. Supports call forwarding for Zoom Phone
                              expire_time:
                                type: string
                                description: Expire time.
                                example: '2021-05-29T00:32:16.000Z'
                              status:
                                type: integer
                                description: "Version status: \n* `1` &mdash; Available. \n* `2` &mdash; Unavailable. \n* `3` &mdash; Sunset"
                                example: 1
                                enum:
                                - 1
                                - 2
                                - 3
        '400':
          description: "**HTTP Status Code:** `400` <br>\n Bad Request\n\n**Error Code:** `300` <br>\n\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:list_firmwares:admin
        openapi_authorization: []
      x-extensions:
        x-macro-scopes:
        - phone:read:admin
        x-granular-scopes:
        - phone:read:list_firmwares:admin
components:
  securitySchemes:
    openapi_authorization:
      type: apiKey
      name: Authorization
      in: header
    openapi_oauth:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: /
          tokenUrl: ''
          refreshUrl: ''
          scopes:
            phone:read:admin: phone:read:admin
            phone:read:list_account_settings:admin: phone:read:list_account_settings:admin
            phone:write:admin: phone:write:admin
            phone:write:customized_number:admin: phone:write:customized_number:admin
            phone:read:list_customized_number:admin: phone:read:list_customized_number:admin
            phone:delete:customized_number:admin: phone:delete:customized_number:admin
            phone:write:alert_setting:admin: phone:write:alert_setting:admin
            phone:read:list_alert_settings:admin: phone:read:list_alert_settings:admin
            phone:read:alert_setting:admin: phone:read:alert_setting:admin
            phone:patch:alert_setting:admin: phone:patch:alert_setting:admin
            phone:delete:alert_setting:admin: phone:delete:alert_setting:admin
            phone:read: phone:read
            phone:read:audio: phone:read:audio
            phone:read:audio:admin: phone:read:audio:admin
            phone:write: phone:write
            phone:delete:audio: phone:delete:audio
            phone:delete:audio:admin: phone:delete:audio:admin
            phone:update:audio: phone:update:audio
            phone:update:audio:admin: phone:update:audio:admin
            phone:read:list_audios: phone:read:list_audios
            phone:read:list_audios:admin: phone:read:list_audios:admin
            phone:write:audio: phone:write:audio
            phone:write:audio:admin: phone:write:audio:admin
            phone:write:batch_audios: phone:write:batch_audios
            phone:write:batch_audios:admin: phone:write:batch_audios:admin
            phone:read:list_auto_receptionists:admin: phone:read:list_auto_receptionists:admin
            phone:write:auto_receptionist:admin: phone:write:auto_receptionist:admin
            phone:delete:auto_receptionist:admin: phone:delete:auto_receptionist:admin
            phone:update:auto_receptionist:admin: phone:update:auto_receptionist:admin
            phone:read:auto_receptionist:admin: phone:read:auto_receptionist:admin
            phone:read:auto_receptionist_call_handling_setting:admin: phone:read:auto_receptionist_call_handling_setting:admin
            phone:update:auto_receptionist_call_handling_setting:admin: phone:update:auto_receptionist_call_handling_setting:admin
            phone:delete:auto_receptionist_number:admin: phone:delete:auto_receptionist_number:admin
            phone:write:auto_receptionist_number:admin: phone:write:auto_receptionist_number:admin
            phone:update:auto_receptionist_policy:admin: phone:update:auto_receptionist_policy:admin
            phone:read:auto_receptionist_policy:admin: phone:read:auto_receptionist_policy:admin
            phone:delete:auto_receptionist_policy:admin: phone:delete:auto_receptionist_policy:admin
            phone:write:auto_receptionist_policy:admin: phone:write:auto_receptionist_policy:admin
            phone:read:auto_receptionist_setting:admin: phone:read:auto_receptionist_setting:admin
            phone:write:auto_receptionist_setting:admin: phone:write:auto_receptionist_setting:admin
            phone:update:auto_receptionist_setting:admin: phone:update:auto_receptionist_setting:admin
            phone:delete:auto_receptionist_setting:admin: phone:delete:auto_receptionist_setting:admin
            phone:read:list_billing_accounts:admin: phone:read:list_billing_accounts:admin
            phone:read:billing_account:admin: phone:read:billing_account:admin
            phone:write:blocked_list:admin: phone:write:blocked_list:admin
            phone:read:list_blocked_lists:admin: phone:read:list_blocked_lists:admin
            phone:delete:blocked_list:admin: phone:delete:blocked_list:admin
            phone:read:blocked_list:admin: phone:read:blocked_list:admin
            phone:update:blocked_list:admin: phone:update:blocked_list:admin
            phone:read:list_call_handling_settings:admin: phone:read:list_call_handling_settings:admin
            phone:update:call_handling_setting:admin: phone:update:call_handling_setting:admin
            phone:delete:call_handling_setting:admin: phone:delete:call_handling_setting:admin
            phone:write:call_handling_setting:admin: phone:write:call_handling_setting:admin
            phone_call_log:read: phone_call_log:read
            phone_call_log:read:admin: phone_call_log:read:admin
            phone:read:call_log:admin: phone:read:call_log:admin
            phone:read:list_call_logs:admin: phone:read:list_call_logs:admin
            phone:update:call_log:admin: phone:update:call_log:admin
            phone:read:ai_call_summary: phone:read:ai_call_summary
            phone:read:ai_call_summary:admin: phone:read:ai_call_summary:admin
            phone:read:list_call_logs: phone:read:list_call_logs
            phone_call_log:write: phone_call_log:write
            phone_call_log:write:admin: phone_call_log:write:admin
            phone:delete:call_log: phone:delete:call_log
            phone:delete:call_log:admin: phone:delete:call_log:admin
            phone:read:list_call_queues:admin: phone:read:list_call_queues:admin
            phone:write:call_queue:admin: phone:write:call_queue:admin
            phone:delete:call_queue:admin: phone:delete:call_queue:admin
            phone:update:call_queue:admin: phone:update:call_queue:admin
            phone:read:call_queue:admin: phone:read:call_queue:admin
            phone:read:call_queue_call_handling_setting:admin: phone:read:call_queue_call_handling_setting:admin
            phone:update:call_queue_call_handling_setting:admin: phone:update:call_queue_call_handling_setting:admin
            phone:read:call_queue_custom_group:admin: phone:read:call_queue_custom_group:admin
            phone:write:call_queue_custom_group:admin: phone:write:call_queue_custom_group:admin
            phone:update:call_queue_custom_group:admin: phone:update:call_queue_custom_group:admin
            phone:delete:call_queue_custom_group:admin: phone:delete:call_queue_custom_group:admin
            phone:delete:call_queue_custom_group:master: phone:delete:call_queue_custom_group:master
            phone:master: phone:master
            phone:read:call_queue_custom_group:master: phone:read:call_queue_custom_group:master
            phone:write:call_queue_custom_group_member:admin: phone:write:call_queue_custom_group_member:admin
            phone:delete:call_queue_custom_group_member:admin: phone:delete:call_queue_custom_group_member:admin
            phone:write:call_queue_member:admin: phone:write:call_queue_member:admin
            phone:delete:call_queue_member:admin: phone:delete:call_queue_member:admin
            phone:read:list_call_queue_members:admin: phone:read:list_call_queue_members:admin
            phone:write:call_queue_number:admin: phone:write:call_queue_number:admin
            phone:delete:call_queue_number:admin: phone:delete:call_queue_number:admin
            phone:read:call_queue_policy:admin: phone:read:call_queue_policy:admin
            phone:update:call_queue_policy:admin: phone:update:call_queue_policy:admin
            phone:write:call_queue_policy:admin: phone:write:call_queue_policy:admin
            phone:delete:call_queue_policy:admin: phone:delete:call_queue_policy:admin
            phone:read:list_call_queue_recordings:admin: phone:read:list_call_queue_recordings:admin
            phone:read:call_queue_setting:admin: phone:read:call_queue_setting:admin
            phone:write:call_queue_setting:admin: phone:write:call_queue_setting:admin
            phone:delete:call_queue_setting:admin: phone:delete:call_queue_setting:admin
            phone:update:call_queue_setting:admin: phone:update:call_queue_setting:admin
            phone:update:carrier_number:admin: phone:update:carrier_number:admin
            phone:write:carrier_number:admin: phone:write:carrier_number:admin
            phone:read:list_carrier_numbers:admin: phone:read:list_carrier_numbers:admin
            phone:delete:carrier_number:admin: phone:delete:carrier_number:admin
            phone:write:common_area:admin: phone:write:common_area:admin
            phone:read:common_area:admin: phone:read:common_area:admin
            phone:read:list_common_area_activation_codes:admin: phone:read:list_common_area_activation_codes:admin
            phone:write:apply_template_to_common_areas:admin: phone:write:apply_template_to_common_areas:admin
            phone:delete:common_area:admin: phone:delete:common_area:admin
            phone:update:common_area:admin: phone:update:common_area:admin
            phone:read:common_area_call_handling_setting:admin: phone:read:common_area_call_handling_setting:admin
            phone:update:common_area_call_handling_setting:admin: phone:update:common_area_call_handling_setting:admin
            phone:write:common_area_calling_plan:admin: phone:write:common_area_calling_plan:admin
            phone:delete:common_area_calling_plan:admin: phone:delete:common_area_calling_plan:admin
            phone:write:common_area_number:admin: phone:write:common_area_number:admin
            phone:delete:common_area_number:admin: phone:delete:common_area_number:admin
            phone:read:list_common_area_settings:admin: phone:read:list_common_area_settings:admin
            phone:update:common_area_setting:admin: phone:update:common_area_setting:admin
            phone:delete:common_area_setting:admin: phone:delete:common_area_setting:admin
            phone:write:common_area_setting:admin: phone:write:common_area_setting:admin
            phone:read:call_qos:admin: phone:read:call_qos:admin
            phone:read:default_emergency_address:admin: phone:read:default_emergency_address:admin
            phone:read:detectable_personal_location:admin: phone:read:detectable_personal_location:admin
            phone:read:location_sharing_permission:admin: phone:read:location_sharing_permission:admin
            phone:read:nomadic_emergency_services:admin: phone:read:nomadic_emergency_services:admin
            phone:read:realtime_location_devices:admin: phone:read:realtime_location_devices:admin
            phone:read:realtime_location_users:admin: phone:read:realtime_location_users:admin
            phone:read:list_tracked_locations:admin: phone:read:list_tracked_locations:admin
            phone:update:device_line_keys: phone:update:device_line_keys
            phone:update:device_line_keys:admin: phone:update:device_line_keys:admin
            phone:read:device_line_keys: phone:read:device_line_keys
            phone:read:device_line_keys:admin: phone:read:device_line_keys:admin
            phone:delete:directory:admin: phone:delete:directory:admin
            phone:read:directory:admin: phone:read:directory:admin
            phone:write:directory:admin: phone:write:directory:admin
            phone:write:emergency_address:admin: phone:write:emergency_address:admin
            phone:read:list_emergency_addresses:admin: phone:read:list_emergency_addresses:admin
            phone:read:emergency_address:admin: phone:read:emergency_address:admin
            phone:delete:emergency_address:admin: phone:delete:emergency_address:admin
            phone:update:emergency_address:admin: phone:update:emergency_address:admin
            phone:write:batch_emergency_locations:admin: phone:write:batch_emergency_locations:admin
            phone:read:list_emergency_locations:admin: phone:read:list_emergency_locations:admin
            phone:write:emergency_location:admin: phone:write:emergency_location:admin
            phone:read:emergency_location:admin: phone:read:emergency_location:admin
            phone:update:emergency_location:admin: phone:update:emergency_location:admin
            phone:delete:emergency_location:admin: phone:delete:emergency_location:admin
            phone:write:external_contact:admin: phone:write:external_contact:admin
            phone:read:list_external_contacts:admin: phone:read:list_external_contacts:admin
            phone:delete:external_contact:admin: phone:delete:external_cont

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