Zoom Phone Phone Roles API

The Phone Roles API from Zoom Phone — 4 operation(s) for phone roles.

Operations 11

GET /phone/roles List phone roles #
POST /phone/roles Duplicate a phone role #
GET /phone/roles/{roleId} Get role information #
DELETE /phone/roles/{roleId} Delete a phone role #
PATCH /phone/roles/{roleId} Update a phone role #
GET /phone/roles/{roleId}/members List members in a role #
POST /phone/roles/{roleId}/members Add members to roles #
DELETE /phone/roles/{roleId}/members Delete members in a role #
GET /phone/roles/{roleId}/targets List phone role targets #
POST /phone/roles/{roleId}/targets Add phone role targets #
DELETE /phone/roles/{roleId}/targets Delete phone role targets #

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-phone-roles-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-phone-roles-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Phone Roles 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: Phone Roles
paths:
  /phone/roles:
    get:
      tags:
      - Phone Roles
      summary: List phone roles
      description: "Returns the phone roles.\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_roles:admin`\n\n**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `MEDIUM`"
      operationId: ListPhoneRoles
      responses:
        '200':
          description: '**HTTP Status Code:** `200` **OK**


            Successfully listed phone roles.'
          content:
            application/json:
              schema:
                type: object
                properties:
                  roles:
                    maxItems: 250
                    type: array
                    description: The phone role list.
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          description: The unique identifier of the [role](https://support.zoom.us/hc/en-us/articles/360042099012-Using-Zoom-Phone-role-management) assigned to the user.
                          example: MRNStlOVS02fJ6pOAzrh0A
                        name:
                          type: string
                          description: The user's [role](https://support.zoom.us/hc/en-us/articles/115001078646-Role-Based-Access-Control) name.
                          example: Phone Super Admin
                        description:
                          type: string
                          description: The role description.
                          example: Admin has full privileges to access and manage the Zoom Phone (default).
                        total_members:
                          type: integer
                          description: The total members assigned to the role.
                          example: 1
                        is_default:
                          type: boolean
                          description: Whether the role is default or not.
                          example: true
        '400':
          description: "**HTTP Status Code:** `400` <br>\n Bad Request  \n\n **Error Code:** `401` <br>\n Invalid access token. <br>\n"
        '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 "
      security:
      - openapi_oauth:
        - phone:read:admin
        - phone:read:list_roles:admin
        openapi_authorization: []
      x-extensions:
        x-permissions: []
        x-macro-scopes:
        - phone:read:admin
        x-granular-scopes:
        - phone:read:list_roles:admin
    post:
      tags:
      - Phone Roles
      summary: Duplicate a phone role
      description: "Use this API to duplicate a phone role.\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:role:admin`\n\n**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`"
      operationId: DuplicatePhoneRole
      requestBody:
        content:
          application/json:
            schema:
              required:
              - role_id
              type: object
              properties:
                role_id:
                  type: string
                  description: Unique identifier of the source [role](https://support.zoom.us/hc/en-us/articles/360042099012-Using-Zoom-Phone-role-management) assigned to the user.
                  example: MRNStlOVS02fJ6pOAzrh0B
                name:
                  type: string
                  description: User's [role](https://support.zoom.us/hc/en-us/articles/115001078646-Role-Based-Access-Control) name.
                  example: Phone Super Admin
                description:
                  type: string
                  description: Role description.
                  example: Admin has full privileges to access and manage the Zoom Phone (default).
      responses:
        '201':
          description: '**HTTP Status Code:** `201` **Created**



            Successfully duplicated a phone role.'
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    description: Unique identifier of the newly duplicated [role](https://support.zoom.us/hc/en-us/articles/360042099012-Using-Zoom-Phone-role-management) assigned to the user.
                    example: MRNStlOVS02fJ6pOAzrh0A
                  name:
                    type: string
                    description: User's [role](https://support.zoom.us/hc/en-us/articles/115001078646-Role-Based-Access-Control) name.
                    example: Compliance Admin (Copy)
        '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:write:admin
        - phone:write:role:admin
        openapi_authorization: []
      x-extensions:
        x-macro-scopes:
        - phone:write:admin
        x-granular-scopes:
        - phone:write:role:admin
  /phone/roles/{roleId}:
    get:
      tags:
      - Phone Roles
      summary: Get role information
      description: "Use this API to get information on a phone [role](https://support.zoom.us/hc/en-us/articles/360042099012-Using-Zoom-Phone-role-management).\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:role:admin`\n\n**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`"
      operationId: getRoleInformation
      parameters:
      - name: roleId
        in: path
        description: The role ID.
        required: true
        schema:
          type: string
          example: cw2r21Vh21
      responses:
        '200':
          description: "**Status Code:** `200`  \n \nInformation about a specific role returned."
          content:
            application/json:
              schema:
                type: object
                properties:
                  description:
                    type: string
                    description: Description of the role.
                    example: Admin has full privileges to access and manage the Zoom Phone (default).
                  id:
                    type: string
                    description: The role ID.
                    example: MRNStlOVS02fJ6pOAzrh0A
                  name:
                    type: string
                    description: Name of the role.
                    example: Phone Super Admin
                  total_members:
                    type: integer
                    description: Total members assigned to that role.
                    example: 1
                  is_default:
                    type: boolean
                    description: Indicates whether it is a default role.
                    example: true
        '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:role:admin
        openapi_authorization: []
      x-extensions:
        x-macro-scopes:
        - phone:read:admin
        x-granular-scopes:
        - phone:read:role:admin
    delete:
      tags:
      - Phone Roles
      summary: Delete a phone role
      description: "Use this API to delete a phone [role](https://support.zoom.us/hc/en-us/articles/360042099012-Using-Zoom-Phone-role-management).\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:role:admin`\n\n**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`"
      operationId: DeletePhoneRole
      parameters:
      - name: roleId
        in: path
        description: Unique identifier of the [role](https://support.zoom.us/hc/en-us/articles/360042099012-Using-Zoom-Phone-role-management) assigned to the user.
        required: true
        schema:
          type: string
          example: MRNStlOVS02fJ6pOAzrh0A
      responses:
        '204':
          description: '**HTTP Status Code:** `204` **No Content**



            Successfully deleted a phone role.'
        '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:write:admin
        - phone:delete:role:admin
        openapi_authorization: []
      x-extensions:
        x-macro-scopes:
        - phone:write:admin
        x-granular-scopes:
        - phone:delete:role:admin
    patch:
      tags:
      - Phone Roles
      summary: Update a phone role
      description: "Use this API to update a role.\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:role:admin`\n\n**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`"
      operationId: UpdatePhoneRole
      parameters:
      - name: roleId
        in: path
        description: Unique identifier of the [role](https://support.zoom.us/hc/en-us/articles/360042099012-Using-Zoom-Phone-role-management) assigned to the user.
        required: true
        schema:
          type: string
          example: MRNStlOVS02fJ6pOAzrh0A
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: User's [role](https://support.zoom.us/hc/en-us/articles/115001078646-Role-Based-Access-Control) name. Name length can be up to 128 characters
                  example: Phone Super Admin
                description:
                  type: string
                  description: Role description. Description length can be up to 255 characters
                  example: Admin has full privileges to access and manage the Zoom Phone (default).
      responses:
        '204':
          description: '**HTTP Status Code:** `204` **No Content**


            Successfully updated a role.'
        '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:write:admin
        - phone:update:role:admin
        openapi_authorization: []
      x-extensions:
        x-macro-scopes:
        - phone:write:admin
        x-granular-scopes:
        - phone:update:role:admin
  /phone/roles/{roleId}/members:
    get:
      tags:
      - Phone Roles
      summary: List members in a role
      description: "Use this API to get members (not) in a [role](https://support.zoom.us/hc/en-us/articles/360042099012-Using-Zoom-Phone-role-management).\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:role_member:admin`\n\n**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`"
      operationId: ListRoleMembers
      parameters:
      - name: roleId
        in: path
        description: Unique identifier of the [role](https://support.zoom.us/hc/en-us/articles/360042099012-Using-Zoom-Phone-role-management) assigned to the user.
        required: true
        schema:
          type: string
          example: MRNStlOVS02fJ6pOAzrh0A
      - name: in_role
        in: query
        description: 'Whether the user belongs to the role: default is `false`.'
        required: false
        schema:
          type: boolean
          example: false
          default: false
      responses:
        '200':
          description: '**HTTP Status Code:** `200` **OK**


            Successfully listed members (not) in the role.'
          content:
            application/json:
              schema:
                type: object
                properties:
                  members:
                    type: array
                    description: Member list.
                    items:
                      type: object
                      properties:
                        user_id:
                          type: string
                          description: The user ID.
                          example: 1PXbl7s6Q52nbePrUxUZTg
                        display_name:
                          type: string
                          description: Display name.
                          example: ZOOM_API Test
                        email:
                          type: string
                          description: Email.
                          example: 2020042400000003@qq.com
                        extension_number:
                          type: integer
                          description: Extension number.
                          format: int64
                          example: 1000123460
                        site:
                          type: object
                          properties:
                            id:
                              type: string
                              description: Unique identifier of the site.
                              example: 8f71O6rWT8KFUGQmJIFAdQ
                            name:
                              type: string
                              description: Site name.
                              example: Main 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:role_member:admin
        openapi_authorization: []
      x-extensions:
        x-macro-scopes:
        - phone:read:admin
        x-granular-scopes:
        - phone:read:role_member:admin
    post:
      tags:
      - Phone Roles
      summary: Add members to roles
      description: "Use this API to add members to [roles](https://support.zoom.us/hc/en-us/articles/360042099012-Using-Zoom-Phone-role-management#h_01EFHY1R4QWAYTA6Z661NM9Q27).\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:role_member:admin`\n\n**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`"
      operationId: AddRoleMembers
      parameters:
      - name: roleId
        in: path
        description: Unique identifier of the [role](https://support.zoom.us/hc/en-us/articles/360042099012-Using-Zoom-Phone-role-management) assigned to the user.
        required: true
        schema:
          type: string
          example: MRNStlOVS02fJ6pOAzrh0A
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                role_id:
                  type: string
                  description: 'Unique identifier of the existing [role](https://support.zoom.us/hc/en-us/articles/360042099012-Using-Zoom-Phone-role-management) assigned to the user: used when copying members'' role.'
                  example: Ft0H7NYlSX6EeO-rwaZW-Q
                copy_targets:
                  type: boolean
                  description: 'Whether to copy the target: used when copying members'' role.'
                  example: true
                  default: false
                copy_all_members:
                  type: boolean
                  description: 'Whether to copy all members with the role: used when copying members'' role.'
                  example: true
                  default: false
                user_ids:
                  type: array
                  description: The user IDs or email addresses of the user
                  items:
                    type: string
                    example: 1PXbl7s6Q52nbePrUxUZTg
      responses:
        '201':
          description: '**HTTP Status Code:** `201` **No Content**



            Successfully added members to a role.'
        '400':
          description: "**HTTP Status Code:** `400` <br>\n Bad Request\n\n**Error Code:** `300` <br>\n\n\n**Error Code:** `400` <br>\nThere are invalid emails:{0}\n\nThere are invalid user ids:{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:role_member:admin
        openapi_authorization: []
      x-extensions:
        x-macro-scopes:
        - phone:write:admin
        x-granular-scopes:
        - phone:write:role_member:admin
    delete:
      tags:
      - Phone Roles
      summary: Delete members in a role
      description: "Use this API to delete member(s) in a [role](https://support.zoom.us/hc/en-us/articles/360042099012-Using-Zoom-Phone-role-management).\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:role_member:admin`\n\n**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`"
      operationId: DelRoleMembers
      parameters:
      - name: roleId
        in: path
        description: Unique identifier of the [role](https://support.zoom.us/hc/en-us/articles/360042099012-Using-Zoom-Phone-role-management) assigned to the user.
        required: true
        schema:
          type: string
          example: MRNStlOVS02fJ6pOAzrh0A
      - name: user_ids
        in: query
        description: The user IDs or email addresses of the user
        required: true
        schema:
          type: array
          items:
            type: string
            example: tw9GZQNlQVW9vGq8sm0n_Q
      responses:
        '204':
          description: '**HTTP Status Code:** `204` **No Content**



            Successfully deleted members in a role.'
        '400':
          description: "**HTTP Status Code:** `400` <br>\n Bad Request\n\n**Error Code:** `400` <br>\nThere are invalid emails:{0}\n\nThere are invalid user ids:{0}\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:write:admin
        - phone:delete:role_member:admin
        openapi_authorization: []
      x-extensions:
        x-macro-scopes:
        - phone:write:admin
        x-granular-scopes:
        - phone:delete:role_member:admin
  /phone/roles/{roleId}/targets:
    get:
      tags:
      - Phone Roles
      summary: List phone role targets
      description: "Targets of a phone [role](https://support.zoom.us/hc/en-us/articles/360042099012-Using-Zoom-Phone-role-management). \n\n**Prerequisites:** \n* Business or Education account \n* Zoom Phone license\n\n**[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `phone:read:admin`\n\n**[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `phone:read:list_roles:admin`\n\n**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT`"
      operationId: ListPhoneRoleTargets
      parameters:
      - name: roleId
        in: path
        description: The unique identifier of the [role](https://support.zoom.us/hc/en-us/articles/360042099012-Using-Zoom-Phone-role-management) assigned to the user.
        required: true
        schema:
          type: string
          example: MRNStlOVS02fJ6pOAzrh0A
      - name: is_default
        in: query
        description: 'If`is_default`=`true`, it manages the role default targets.

          If `is_default`=`false`, it manages the role member targets.'
        required: false
        schema:
          type: boolean
          example: false
          default: false
      - name: user_id
        in: query
        description: The role member ID. It's required if `is_default`=`false`.
        required: false
        schema:
          type: string
          example: 1PXbl7s6Q52nbePrUxUZTg
      - name: selected
        in: query
        description: "`selected`=`true`filters the targets that are in the role.\n `selected`=`false` filters the targets that are not in the role."
        required: false
        schema:
          type: boolean
          example: true
          default: true
      - name: target_type
        in: query
        description: "The target type. \n\nDifferent types of roles manage different types of targets: \n\n * super_admin: need not manage targets. \n\n * site_admin: support site type. \n\n * callQueue_admin: support callQueue type. \n\n * autoReceptionist_admin: support autoReceptionist type. \n\n * sharedLineGroup_admin: support sharedLineGroup type. \n\n * commonArea_admin: support site type. \n\n * recording_admin: support site, callQueue, autoReceptionist, user, group types. \n\n * compliance_admin: support site, callQueue, user, group, sharedLineGroup, commonArea types."
        required: false
        schema:
          type: string
          example: user
          enum:
          - site
          - callQueue
          - autoReceptionist
          - user
          - group
          - sharedLineGroup
          - commonArea
      - name: site_id
        in: query
        description: The unique identifier of the site.
        required: false
        schema:
          type: string
          example: 8f71O6rWT8KFUGQmJIFAdQ
      - name: keyword
        in: query
        description: The keyword of the name or extension ID. It provides the ability to search by keyword.
        required: false
        schema:
          type: string
          example: abcxyz
      - name: page_size
        in: query
        description: The number of records returned from a single API call.
        required: false
        schema:
          type: string
          example: '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. This token's expiration period is 15 minutes.
        required: false
        schema:
          type: string
          example: BJLYC6PABbAHdjwSkGVQeeR6B1juwHqj3G2
      responses:
        '200':
          description: '**HTTP Status Code:** `200` **OK** Successfully listed the role targets.'
          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: nav48KOj42vYPSG4f0cCdT575bZ980did22
                  page_size:
                    maximum: 300
                    type: integer
                    description: The number of records returned from a single API call.
                    example: 30
                  total_records:
                    type: integer
                    description: The total records found for this query.
                    example: 45
                  targets:
                    type: array
                    description: The list of role member targets.
                    items:
                      type: object
                      properties:
                        target_id:
                          type: string
                          description: The target ID.
                          example: zSBIkYJzS6KkQqu5nFxvgg
                        target_type:
                          type: string
                          description: "The target type. \n\nDifferent types of roles manage different types of targets: \n\n * super_admin: need not manage targets. \n\n * site_admin: support site type. \n\n * callQueue_admin: support callQueue type. \n\n * autoReceptionist_admin: support autoReceptionist type. \n\n * sharedLineGroup_admin: support sharedLineGroup type. \n\n * commonArea_admin: support site type. \n\n * recording_admin: support site, callQueue, autoReceptionist, user, group types. \n\n * compliance_admin: support site, callQueue, user, group, sharedLineGroup, commonArea types."
                          example: user
                          enum:
                          - site
                          - callQueue
                          - autoReceptionist
                          - user
                          - group
                          - sharedLineGroup
                          - commonArea
                        target_name:
                          type: string
                          description: The target name.
                          example: Test name
                        extension_number:
                          type: integer
                          description: The extension number of the target.
                          example: 1234503
                        site_id:
                          type: string
                          description: The unique identifier of the site.
                          example: 8f71O6rWT8KFUGQmJIFAdQ
                        site_name:
                          type: string
                          description: The site name.
                          example: Main Site
                      description: The details about the target.
        '400':
          description: "**HTTP Status Code:** `400` <br>\n Bad Request  \n\n **Error Code:** `300` <br>\n Validation Failed {       \"field\": \"target_type\",       \"message\": \"Invalid field.\"     } <br>\n**Error Code:** `400` <br>\n The next page token is invalid or expired. <br>\n"
        '404':
          description: "**HTTP Status Code:** `404` <br>\n Not Found  \n\n **Error Code:** `404` <br>\n Phone role does not exist for role Id: {roleId}. <br>\n**Error Code:** `1001` <br>\n User does not exist for user id: {user_id}. <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 "
      security:
      - openapi_oauth:
        - phone:read:admin
        - phone:read:list_roles:admin
        openapi_authorization: []
      x-extensions:
        x-permissions: []
        x-macro-scopes:
        - phone:read:admin
        x-granular-scopes:
        - phone:read:list_roles:admin
    post:
      tags:
      - Phone Roles
      summary: Add phone role targets
      description: "Adds targets to phone [roles](https://support.zoom.us/hc/en-us/articles/360042099012-Using-Zoom-Phone-role-management).\n\n**Prerequisites:**\n* Business or Education account\n* Zoom Phone license \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:role:admin`\n\n**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT`"
      operationId: AddPhoneRoleTargets
      parameters:
      - name: roleId
        in: path
        description: The unique identifier of the [role](https://support.zoom.us/hc/en-us/articles/360042099012-Using-Zoom-Phone-role-management) assigned to the user.
        required: true
        schema:
          type: string
          example: MRNStlOVS02fJ6pOAzrh0A
      requestBody:
        content:
          application/json:
            schema:
              required:
              - targets
              type: object
              properties:
                is_default:
                  type: boolean
                  description: "If `is_default`=`true`, then it manages the role default targets. \nIf `is_default`=`false`, then it manages the role member targets."
                  example: false
                  default: false
                user_id:
                  type: string
                  description: The role member ID. It's required if `is_default`=`false`.
                  example: 1PXbl7s6Q52nbePrUxUZTg
                targets:
                  maxItems: 500
                  type: array
                  description: The targets you want to add.
                  items:
                    required:
                    - target_ids
                    type: object
                    properties:
                      target_type:
                        type: string
                        description: "The target type. \n\nDifferent types of roles manage different types of targets: \n\n * super_admin: need not manage targets. \n\n * site_admin: support site type. \n\

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