RingCentral Call Queues API

The Call Queues API from RingCentral — 8 operation(s) for call queues.

OpenAPI Specification

ringcentral-call-queues-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: RingCentral Adaptive Cards Call Queues API
  description: RingCentral API specification
  version: 1.0.58-20240529-47eda8bd
  contact:
    name: RingCentral Developers Support
    url: https://developers.ringcentral.com/support
  termsOfService: https://www.ringcentral.com/legal/apilitos.html
  license:
    name: RingCentral API License Agreement
    url: https://www.ringcentral.com/legal/apilitos.html
servers:
- url: https://platform.ringcentral.com
  description: Production API entry point
- url: https://media.ringcentral.com
  description: Production Media entry point
- url: https://platform.devtest.ringcentral.com
  description: Developer sandbox API entry point
- url: https://platform.devtest.ringcentral.com
  description: Developer sandbox Media entry point
security:
- OAuth2: []
tags:
- name: Call Queues
paths:
  /restapi/v1.0/account/{accountId}/call-queues:
    get:
      tags:
      - Call Queues
      summary: List Call Queues
      description: Returns a call queue list.
      operationId: listCallQueues
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - name: page
        in: query
        description: Indicates a page number to retrieve. Only positive number values are accepted
        schema:
          type: integer
          format: int32
          default: 1
      - name: perPage
        in: query
        description: Indicates a page size (number of items)
        schema:
          type: integer
          format: int32
          default: 100
      - name: memberExtensionId
        in: query
        description: Internal identifier of an extension that is a member of every group within the result
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CallQueues'
      x-feature: ReadExtensions
      x-availability: High
      x-throttling-group: Medium
      x-app-permission: ReadAccounts
      x-user-permission: ReadExtensions
  /restapi/v1.0/account/{accountId}/call-queues/{groupId}:
    get:
      tags:
      - Call Queues
      summary: Get Call Queue
      description: Returns basic information on a call queue group extension.
      operationId: readCallQueueInfo
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - name: groupId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Call queue information
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CallQueueDetails'
      x-feature: ReadExtensions
      x-availability: Limited
      x-throttling-group: Light
      x-app-permission: ReadAccounts
      x-user-permission: ReadExtensions
    put:
      tags:
      - Call Queues
      summary: Update Call Queue
      description: 'Updates information on a call queue group extension.

        '
      operationId: updateCallQueueInfo
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - name: groupId
        in: path
        required: true
        description: Internal identifier of a call queue group
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CallQueueDetails'
        required: true
      responses:
        '200':
          description: Updated call queue information
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CallQueueDetails'
      x-feature: EditExtensionInfo
      x-availability: Limited
      x-throttling-group: Light
      x-app-permission: EditExtensions
      x-user-permission: EditUserInfo
  /restapi/v1.0/account/{accountId}/call-queues/{groupId}/bulk-assign:
    post:
      tags:
      - Call Queues
      summary: Assign Multiple Call Queue Members
      description: 'Assigns multiple call queue members to call queue group.

        '
      operationId: assignMultipleCallQueueMembers
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - name: groupId
        in: path
        required: true
        description: Internal identifier of a call queue group
        schema:
          type: string
      requestBody:
        description: Changes for the given group
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CallQueueBulkAssignResource'
        required: true
      responses:
        '204':
          description: No Content
        '400':
          description: Extension of type [${extensionType}] cannot be included into call queue
      x-feature: EditGroups
      x-availability: Limited
      x-throttling-group: Heavy
      x-app-permission: EditExtensions
      x-user-permission: Groups
  /restapi/v1.0/account/{accountId}/call-queues/{groupId}/members:
    get:
      tags:
      - Call Queues
      summary: List Call Queue Members
      description: 'Returns a list of call queue group members.

        '
      operationId: listCallQueueMembers
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - name: groupId
        in: path
        required: true
        description: Internal identifier of a call queue group
        schema:
          type: string
      - name: page
        in: query
        description: 'Indicates a page number to retrieve. Only positive number values

          are allowed

          '
        schema:
          type: integer
          format: int32
          default: 1
      - name: perPage
        in: query
        description: Indicates a page size (number of items)
        schema:
          type: integer
          format: int32
          default: 100
      responses:
        '200':
          description: Call queue group members information
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CallQueueMembers'
      x-feature: ReadExtensions
      x-availability: High
      x-throttling-group: Light
      x-app-permission: ReadAccounts
      x-user-permission: ReadExtensions
  /restapi/v1.0/account/{accountId}/department/{departmentId}/members:
    get:
      tags:
      - Call Queues
      summary: Get Department Member List
      description: 'Viewing user account information (including name, business name, address

        and phone number/account number). Please note, that this method is

        deprecated and legacy ''Department'' entity corresponds to ''Call Queue''

        in modern RingCentral product terminology. In order to retrieve call

        queue members please use the following method

        `GET/restapi/v1.0/account/{accountId}/call-queues/{groupId}/members`.

        '
      operationId: listDepartmentMembers
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - name: departmentId
        in: path
        description: 'Internal identifier of a Department extension (same as extensionId

          but only the ID of a department extension is valid). Please note that

          legacy ''Department'' extension type corresponds to ''Call Queue'' extensions

          in modern RingCentral product terminology

          '
        required: true
        schema:
          type: integer
          format: int64
      - name: page
        in: query
        description: 'Indicates a page number to retrieve. Only positive number values

          are accepted

          '
        schema:
          type: integer
          format: int32
          default: 1
      - name: perPage
        in: query
        description: Indicates a page size (number of items)
        schema:
          type: integer
          format: int32
          default: 100
      responses:
        '200':
          description: Department members information
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DepartmentMemberList'
      deprecated: true
      x-feature: ReadExtensions
      x-availability: High
      x-throttling-group: Light
      x-app-permission: ReadAccounts
      x-user-permission: ReadExtensions
  /restapi/v1.0/account/{accountId}/department/bulk-assign:
    post:
      tags:
      - Call Queues
      summary: Assign Multiple Department Members
      description: 'Adds and/or removes multiple call queue members. Please note,

        that this method is deprecated and legacy ''Department'' entity

        corresponds to ''Call Queue'' in modern RingCentral product terminology.

        In order to assign multiple call queue members please use the following

        method `POST/restapi/v1.0/account/{accountId}/call-queues/{groupId}/bulk-assign`.

        '
      operationId: assignMultipleDepartmentMembers
      parameters:
      - $ref: '#/components/parameters/AccountId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DepartmentBulkAssignResource'
        required: false
      responses:
        '204':
          description: Successful response
      deprecated: true
      x-feature: EditUserGroups
      x-availability: Limited
      x-throttling-group: Heavy
      x-app-permission: EditAccounts
      x-user-permission: UserGroups
  /restapi/v1.0/account/{accountId}/extension/{extensionId}/call-queues:
    put:
      tags:
      - Call Queues
      summary: Update User Call Queues
      description: 'Updates a list of call queues where the user is an agent. This

        is a full update request, which means that if any call queue where the user is

        an agent is not mentioned in request, then the user is automatically removed

        from this queue.

        '
      operationId: updateUserCallQueues
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - $ref: '#/components/parameters/ExtensionId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserCallQueues'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserCallQueues'
      x-feature: EditCallQueuePresence
      x-availability: Limited
      x-throttling-group: Medium
      x-user-permission: EditCallQueuePresence
      x-app-permission: EditAccounts
  /restapi/v1.0/account/{accountId}/extension/{callQueueId}/overflow-settings:
    get:
      tags:
      - Call Queues
      summary: Get Call Queue Overflow Settings
      description: Returns overflow settings for a call queue specified in path.
      operationId: getCallQueueOverflowSettings
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - name: callQueueId
        in: path
        description: Internal identifier of a call queue
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Call queue overflow settings
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CallQueueOverflowSettings'
      x-availability: Limited
      x-throttling-group: Heavy
      x-app-permission: ReadAccounts
      x-user-permission: CallQueueToCallQueue
    put:
      tags:
      - Call Queues
      summary: Update Call Queue Overflow Settings
      description: Updates overflow settings for a call queue specified in path.
      operationId: updateCallQueueOverflowSettings
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - name: callQueueId
        in: path
        description: Internal identifier of a call queue
        required: true
        schema:
          type: string
      requestBody:
        description: JSON body
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CallQueueOverflowSettingsRequestResource'
        required: true
      responses:
        '200':
          description: Updated call queue overflow settings
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CallQueueOverflowSettings'
      x-availability: Limited
      x-throttling-group: Heavy
      x-app-permission: EditExtensions
      x-user-permission: CallQueueToCallQueue
components:
  schemas:
    QueueShortInfoResource:
      type: object
      properties:
        id:
          type: string
          description: Call queue extension identifier
        name:
          type: string
          description: Call queue name (read-only)
    CallQueueInfo:
      type: object
      properties:
        uri:
          type: string
          format: uri
          description: Link to a call queue
        id:
          type: string
          description: Internal identifier of a call queue
        extensionNumber:
          type: string
          description: Extension number of a call queue
        name:
          type: string
          description: Name of a call queue
        status:
          type: string
          description: Call queue status
          enum:
          - Enabled
          - Disabled
          - NotActivated
        subType:
          type: string
          description: Indicates whether it is an emergency call queue extension or not
          enum:
          - Emergency
    BulkAssignItem:
      type: object
      properties:
        departmentId:
          type: string
        addedExtensionIds:
          type: array
          items:
            type: string
        removedExtensionIds:
          type: array
          items:
            type: string
    DepartmentBulkAssignResource:
      type: object
      description: 'Please note that legacy ''Department'' extension type corresponds to

        ''Call Queue'' extensions in modern RingCentral product terminology

        '
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/BulkAssignItem'
    CallQueueServiceLevelSettings:
      type: object
      properties:
        slaGoal:
          type: integer
          format: int32
          description: 'Target percentage of calls that must be answered by agents

            within the service level time threshold

            '
        slaThresholdSeconds:
          type: integer
          format: int32
          description: 'The period of time in seconds that is considered to be an acceptable

            service level

            '
        includeAbandonedCalls:
          type: boolean
          description: 'Includes abandoned calls (when callers hang up prior to being

            served by an agent) into service-level calculation

            '
        abandonedThresholdSeconds:
          type: integer
          format: int32
          description: 'Abandoned calls that are shorter than the defined period of

            time in seconds will not be included into the calculation of Service Level

            '
      description: Call queue service level settings
    CallQueueBulkAssignResource:
      type: object
      properties:
        addedExtensionIds:
          type: array
          items:
            type: string
        removedExtensionIds:
          type: array
          items:
            type: string
    EnumeratedPagingModel:
      type: object
      required:
      - perPage
      additionalProperties: false
      properties:
        perPage:
          type: integer
          format: int32
          minimum: 1
          maximum: 1000
          description: 'Current page size, describes how many items are in each page.

            Matches "perPage" parameter from the request.

            '
          example: 50
        page:
          type: integer
          format: int32
          minimum: 1
          maximum: 1000
          description: 'The current page number. 1-indexed, so the first page is 1

            by default. May be omitted if result is empty (because non-existent page

            was specified or perPage=0 was requested)

            '
          example: 5
        pageStart:
          type: integer
          format: int32
          minimum: 0
          description: 'The zero-based number of the first element on the current page.

            Omitted if the page is omitted or result is empty

            '
          example: 0
        pageEnd:
          type: integer
          format: int32
          minimum: 0
          description: 'The zero-based index of the last element on the current page.

            Omitted if the page is omitted or result is empty

            '
          example: 5
        totalPages:
          type: integer
          format: int32
          minimum: 0
          description: 'The total number of pages in a dataset. May be omitted for

            some resources due to performance reasons

            '
          example: 25
        totalElements:
          type: integer
          format: int32
          minimum: 0
          description: 'The total number of elements in a dataset. May be omitted for

            some resource due to performance reasons

            '
          example: 25
    PageNavigationUri:
      type: object
      additionalProperties: false
      properties:
        uri:
          type: string
          description: Canonical URI to retrieve the particular page of the result set
          format: uri
    PageNavigationModel:
      type: object
      description: Links to other pages of the current result set
      additionalProperties: false
      properties:
        firstPage:
          $ref: '#/components/schemas/PageNavigationUri'
        nextPage:
          $ref: '#/components/schemas/PageNavigationUri'
        previousPage:
          $ref: '#/components/schemas/PageNavigationUri'
        lastPage:
          $ref: '#/components/schemas/PageNavigationUri'
    CallQueueIdResource:
      type: object
      properties:
        id:
          type: string
          description: Internal identifier of a call queue
    CallQueueOverflowSettingsRequestResource:
      type: object
      properties:
        enabled:
          type: boolean
          description: Call queue overflow status
        items:
          type: array
          items:
            $ref: '#/components/schemas/CallQueueIdResource'
    CallQueueMemberInfo:
      type: object
      properties:
        uri:
          type: string
          format: uri
          description: Link to a call queue member
        id:
          type: integer
          format: int64
          description: Internal identifier of a call queue member
        extensionNumber:
          type: string
          description: Extension number of a call queue member
    CallQueueDetails:
      allOf:
      - $ref: '#/components/schemas/CallQueueInfo'
      - type: object
        properties:
          serviceLevelSettings:
            $ref: '#/components/schemas/CallQueueServiceLevelSettings'
          editableMemberStatus:
            type: boolean
            description: Allows members to change their queue status
          alertTimer:
            type: integer
            format: int32
            description: 'Alert timer or pickup setting. Delay time in seconds before call queue group members are notified when calls are queued

              '
            enum:
            - 5
            - 10
            - 15
            - 20
            - 30
            - 45
            - 60
            - 120
            - 180
            - 240
            - 300
            - 360
            - 420
            - 480
            - 540
            - 600
    CallQueueMembers:
      required:
      - navigation
      - paging
      - records
      - uri
      type: object
      properties:
        uri:
          type: string
          format: uri
          description: Link to a call queue members resource
        records:
          type: array
          description: List of call queue members
          items:
            $ref: '#/components/schemas/CallQueueMemberInfo'
        navigation:
          $ref: '#/components/schemas/PageNavigationModel'
        paging:
          $ref: '#/components/schemas/EnumeratedPagingModel'
    CallQueues:
      required:
      - navigation
      - paging
      - records
      - uri
      type: object
      properties:
        uri:
          type: string
          format: uri
          description: Link to a call queues resource
        records:
          type: array
          description: List of call queues
          items:
            $ref: '#/components/schemas/CallQueueInfo'
        navigation:
          $ref: '#/components/schemas/PageNavigationModel'
        paging:
          $ref: '#/components/schemas/EnumeratedPagingModel'
    UserCallQueues:
      type: object
      properties:
        records:
          type: array
          description: List of queues where an extension is an agent
          items:
            $ref: '#/components/schemas/QueueShortInfoResource'
    DepartmentMemberList:
      type: object
      description: 'Please note that legacy ''Department'' extension type corresponds to

        ''Call Queue'' extensions in modern RingCentral product terminology

        '
      properties:
        uri:
          type: string
          format: uri
          description: Canonical URL of the resource
        records:
          type: array
          description: List of call queue member extensions
          items:
            $ref: '#/components/schemas/ExtensionInfo'
        navigation:
          $ref: '#/components/schemas/PageNavigationModel'
        paging:
          $ref: '#/components/schemas/EnumeratedPagingModel'
    CallQueueOverflowSettings:
      type: object
      properties:
        enabled:
          type: boolean
          description: Call queue overflow status
        items:
          type: array
          items:
            $ref: '#/components/schemas/CallQueueInfo'
    ExtensionInfo:
      type: object
      properties:
        id:
          type: integer
          format: int64
          description: Internal identifier of an extension
        uri:
          type: string
          format: uri
          description: Canonical URI of an extension
        name:
          type: string
          description: Extension name
        extensionNumber:
          type: string
          description: Extension short number
        partnerId:
          type: string
          description: 'For partner applications. Internal identifier of an extension

            created by partner. The RingCentral supports the mapping of accounts and

            stores the corresponding account ID/extension ID for each partner ID of

            a client application. In request URIs partner IDs are accepted instead

            of regular RingCentral native IDs as path parameters using `pid=XXX` clause.

            Though in response URIs contain the corresponding account IDs and extension

            IDs. In all request and response bodies these values are reflected via

            partnerId attributes of account and extension

            '
      description: 'Information on the extension, to which the phone number is assigned.

        Returned only for the request of Account phone number list

        '
  parameters:
    AccountId:
      name: accountId
      in: path
      description: 'Internal identifier of the RingCentral account

        (can be set to "~" to indicate that the account associated with current authorization session should be used)

        '
      required: true
      style: simple
      explode: false
      schema:
        type: string
        default: '~'
      example: '~'
    ExtensionId:
      name: extensionId
      in: path
      description: 'Internal identifier of the RingCentral extension/user

        (can be set to "~" to indicate that the extension associated with current authorization session should be used)

        '
      required: true
      style: simple
      explode: false
      schema:
        type: string
        default: '~'
      example: '~'
  securitySchemes:
    OAuth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://platform.ringcentral.com/restapi/oauth/authorize
          tokenUrl: https://platform.ringcentral.com/restapi/oauth/token
          refreshUrl: https://platform.ringcentral.com/restapi/oauth/token
          scopes: {}
x-tagGroups:
- name: Voice
  popular: true
  tags:
  - Business Hours
  - Call Blocking
  - Call Control
  - Call Forwarding
  - Call Handling Rules
  - Interaction Rules
  - State-based Rules
  - Call Flip
  - Call Log
  - Call History
  - Call Log Export
  - Call Monitoring Groups
  - Call Queues
  - Call Recordings
  - Call Recording Settings
  - Device SIP Registration
  - Greetings
  - IVR
  - RingOut
  - Verification Calls
- name: SMS and Fax
  popular: true
  tags:
  - Fax
  - Message Exports
  - Message Store
  - Pager Messages
  - SMS
  - High Volume SMS
  - SMS Log Export
  - SMS Templates
  - Voicemail Broadcasting
- name: Social Messaging
  popular: true
  tags:
  - Identities
  - Contents
- name: Team Messaging
  popular: true
  tags:
  - Adaptive Cards
  - Bots
  - Calendar Events
  - Chats
  - Conversations
  - Compliance Exports
  - Contacts
  - Incoming Webhooks
  - Notes
  - Posts
  - Profile
  - Tasks
  - Teams
- name: Video
  popular: true
  tags:
  - Bridge Management
  - Delegation Management
  - Meetings History
  - Meeting Recordings
  - RCM Meetings (Legacy)
  - RCM Webinars (Legacy)
- name: Webinar
  popular: true
  tags:
  - Webinars and Sessions
  - Invitees
  - Historical Webinars
  - Historical Recordings
  - Registration Management
  - Registrants
  - Webinar Analytics
  - Webinar Subscriptions
- name: Analytics
  popular: true
  tags:
  - Business Analytics
- name: Artificial Intelligence
  popular: true
  tags:
  - Insights
  - Audio
  - Text
  - Status
- name: Authentication
  tags:
  - OAuth 2.0 / OpenID Connect
  - Interoperability
- name: Account
  tags:
  - Company
  - Custom Fields
  - Features
  - Licenses
  - Tax Locations
  - Cost Centers
  - Multi-Site
  - Phone Numbers
  - Presence
  - Regional Settings
  - User Permissions
  - User Settings
  - Audit Trail
  - Calling Rates
  - Appearance Customization
  - Account Integrations
- name: Provisioning
  tags:
  - Automatic Location Updates
  - Devices
  - Extensions
  - Paging Only Groups
  - Park Locations
  - Phone Lines
  - SCIM
  - Shared Lines
  - Group Call Pickup
  - Delegated Lines Groups
  - Directed Call Pickup
  - IVR Apps
  - Video Configuration
  - Number Porting
  - SMB
  - Account Federation
  - Integrations
  - Enterprise Portal API
  - Push to Talk Provisioning
  - BYOC
- name: Address Book
  tags:
  - External Contacts
  - Internal Contacts
  - Hybrid Directory Contacts
  - Overlay Contacts
  - External Shared Directory
- name: Roles and Permissions
  tags:
  - Permissions
  - Role Management
  - Site Administration
  - User Groups
- name: Events & Notifications
  tags:
  - Subscriptions
- name: User Integrations
  tags:
  - Token Management
  - Calendar Management
  - Calendar Event Management
  - Calendar Presence Link
  - Cloud Personal Contacts
  - Cloud Shared Contacts
  - Cloud Directory
  - Deprecated Calendar API
- name: Rooms
  tags:
  - Rooms Client API
  - Rooms Management API
- name: App Management
  tags:
  - App Gallery
  - App Rating Review
  - Bot Provisioning
- name: Workflow Builder
  tags:
  - Flows
  - Flow Editor
  - Flow Log
  - Flow Templates
- name: Utilities
  tags:
  - API Info
  - Application Settings
  - Async Tasks
  - User Notifications
  - Client Versions
  - End-to-End Encryption