RingCentral Devices API

The Devices API from RingCentral — 8 operation(s) for devices.

OpenAPI Specification

ringcentral-devices-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: RingCentral Adaptive Cards Devices 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: Devices
paths:
  /restapi/v2/accounts/{accountId}/device-inventory:
    post:
      summary: Add Phone to Inventory
      description: Adds an existing phone (customer provided device - BYOD) as an unassigned device to the account inventory.
      tags:
      - Devices
      operationId: addDeviceToInventory
      parameters:
      - $ref: '#/components/parameters/AccountId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddDeviceToInventoryRequest'
        required: true
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddDeviceToInventoryResponse'
        '400':
          $ref: '#/components/responses/InvalidRequest'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
        '503':
          $ref: '#/components/responses/ServiceNotAvailable'
      x-feature: EditAccountDevices
      x-availability: Limited
      x-throttling-group: Heavy
      x-app-permission: EditAccounts
    delete:
      summary: Delete Device from Inventory
      description: 'Deletes an existing unassigned (without digital line or phone number) device or multiple devices

        from the account inventory. It is possible to delete up to 10 devices per request.

        '
      tags:
      - Devices
      operationId: deleteDeviceFromInventory
      parameters:
      - $ref: '#/components/parameters/AccountId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeleteDeviceFromInventoryRequest'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteDeviceFromInventoryResponse'
        '400':
          $ref: '#/components/responses/InvalidRequest'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalError'
        '503':
          $ref: '#/components/responses/ServiceNotAvailable'
      x-feature: AddRemoveDevices
      x-availability: Limited
      x-throttling-group: Heavy
      x-app-permission: EditAccounts
  /restapi/v2/accounts/{accountId}/devices/{deviceId}:
    delete:
      tags:
      - Devices
      summary: Remove phone line
      description: "Disassociates a phone line (DL & Device) from an extension:\n\n - if the value of `keepAssetsInInventory` is `true`,\nthe given device is moved to unassigned devices and the number is moved to the number inventory;\n - if the value of `keepAssetsInInventory` is `false`, the given device and number is removed from the account;\n - if the parameter `keepAssetsInInventory` is not set (empty body), default value `true` is set.\n"
      operationId: removeLineJWSPublic
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - name: deviceId
        in: path
        description: Internal identifier of a source device
        required: true
        schema:
          type: string
        example: '65462346462'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RemoveLineRequest'
      responses:
        '200':
          description: 'Successful response (when `keepAssetsInInventory` is `true`)

            '
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RemoveLineResponse'
        '204':
          description: 'Successful response (when `keepAssetsInInventory` is `false`)

            '
        '400':
          $ref: '#/components/responses/InvalidRequest'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
      x-availability: Limited
      x-throttling-group: Medium
      x-app-permission: EditAccounts
      x-user-permission: EditAccountDevices
  /restapi/v2/accounts/{accountId}/devices/bulk-add:
    post:
      tags:
      - Devices
      summary: Add BYOD Devices
      description: Adds multiple BYOD (customer provided) devices to an account.
      operationId: bulkAddDevicesV2
      parameters:
      - $ref: '#/components/parameters/AccountId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BulkAddDevicesRequest'
        required: true
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BulkAddDevicesResponse'
        '400':
          $ref: '#/components/responses/InvalidRequest'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
        '503':
          $ref: '#/components/responses/ServiceNotAvailable'
      x-availability: Limited
      x-throttling-group: Heavy
      x-app-permission: EditAccounts
      x-user-permission: AddRemoveDevices
  /restapi/v2/accounts/{accountId}/extensions/{extensionId}/devices/{deviceId}/replace:
    post:
      tags:
      - Devices
      summary: Swap Devices
      description: "Replaces the user device with another device, which is assigned to an extension\nor is stored in the inventory of the same account.\nCurrently, the following device types can be swapped - `HardPhone` and `OtherPhone`.\n\nPlease note:\n\n - This method allows replacing a device itself, while a phone number,\n   a digital Line and an emergency address associated with this device remain unchanged\n   and will still work together in a chain with the replacement device.\n - If a target device is from the inventory, then a source device will be moved\n   to the inventory, and a target device will be assigned to the current extension.\n - If a target device is currently assigned to another extension,\n   then the devices will be just swapped.\n"
      operationId: replaceDevicesJWSPublic
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - $ref: '#/components/parameters/ExtensionId'
      - name: deviceId
        in: path
        description: Internal identifier of a source device that is currently assigned to the given extension
        required: true
        schema:
          type: string
        example: '65462346462'
      responses:
        '204':
          description: No content
        '400':
          $ref: '#/components/responses/InvalidRequest'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SwapDeviceRequest'
        required: true
      x-availability: Limited
      x-throttling-group: Medium
      x-app-permission: EditAccounts
      x-user-permission: EditUserDevices
  /restapi/v1.0/account/{accountId}/device/{deviceId}:
    get:
      tags:
      - Devices
      summary: Get Device
      description: Returns account device(s) by their ID(s).
      operationId: readDevice
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - $ref: '#/components/parameters/DeviceId'
      - name: syncEmergencyAddress
        in: query
        description: Specifies if an emergency address should be synchronized or not
        schema:
          type: boolean
          default: false
      responses:
        '200':
          description: Account device(s) information
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviceResource'
      x-feature: ReadAccountDevices
      x-availability: High
      x-throttling-group: Light
      x-app-permission: ReadAccounts
      x-user-permission: ReadCompanyDevices
    put:
      tags:
      - Devices
      summary: Update Device
      description: Updates account device(s) by their ID(s).
      operationId: updateDevice
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - $ref: '#/components/parameters/DeviceId'
      - name: prestatement
        in: query
        schema:
          type: boolean
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccountDeviceUpdate'
        required: true
      responses:
        '200':
          description: Updated device(s) information
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviceResource'
      x-feature: EditAccountDevices
      x-availability: Limited
      x-throttling-group: Medium
      x-app-permission: EditAccounts
      x-user-permission: EditCompanyDevices
  /restapi/v1.0/account/{accountId}/device/{deviceId}/sip-info:
    get:
      tags:
      - Devices
      summary: Get Device SIP Info
      description: Returns device SIP information.
      operationId: readDeviceSipInfo
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - $ref: '#/components/parameters/DeviceId'
      responses:
        '200':
          description: Device SIP information
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SipInfoResource'
      x-feature: ReadAccountDevices
      x-availability: High
      x-throttling-group: Light
      x-app-permission: ReadAccounts
      x-user-permission: ReadCompanyDevices
  /restapi/v1.0/account/{accountId}/device/{deviceId}/emergency:
    put:
      tags:
      - Devices
      summary: Update Device Emergency Info
      description: Updates account device emergency information.
      operationId: updateDeviceEmergency
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - $ref: '#/components/parameters/DeviceId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccountDeviceUpdate'
        required: true
      responses:
        '200':
          description: Updated emergency information of a device
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviceResource'
      x-availability: Limited
      x-throttling-group: Medium
      x-app-permission: EditAccounts
      x-user-permission: EditCompanyDevices
  /restapi/v1.0/account/{accountId}/extension/{extensionId}/device:
    get:
      tags:
      - Devices
      summary: List Extension Devices
      description: 'Returns devices of an extension or multiple extensions by their ID(s). Batch request

        is supported.

        '
      operationId: listExtensionDevices
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - $ref: '#/components/parameters/ExtensionId'
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PerPage'
      - name: linePooling
        in: query
        description: Pooling type of device - Host - a device with standalone paid phone line which can be linked to a soft client instance - Guest - a device with a linked phone line - None - a device without a phone line or with specific line (free, BLA, etc.)
        schema:
          type: string
          enum:
          - Host
          - Guest
          - None
      - name: feature
        in: query
        description: Device feature or multiple features supported
        schema:
          $ref: '#/components/schemas/DeviceFeatureEnum'
      - name: type
        in: query
        description: Device type
        schema:
          type: string
          default: HardPhone
          enum:
          - HardPhone
          - SoftPhone
          - OtherPhone
          - MobileDevice
          - BLA
          - Paging
          - WebPhone
          - WebRTC
          - Room
      - name: lineType
        in: query
        description: Phone line type
        schema:
          $ref: '#/components/schemas/PhoneLineTypeEnum'
      responses:
        '200':
          description: Extension devices information
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetExtensionDevicesResponse'
      x-feature: ReadExtensionDevices
      x-availability: High
      x-throttling-group: Light
      x-app-permission: ReadAccounts
      x-user-permission: ReadUserDevices
components:
  schemas:
    BillingStatementInfo:
      type: object
      properties:
        currency:
          type: string
          description: 'Currency code complying with [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217)

            standard

            '
        charges:
          type: array
          items:
            $ref: '#/components/schemas/BillingStatementCharges'
        fees:
          type: array
          items:
            $ref: '#/components/schemas/BillingStatementFees'
        totalCharged:
          type: number
          format: double
        totalCharges:
          type: number
          format: double
        totalFees:
          type: number
          format: double
        subtotal:
          type: number
          format: double
        totalFreeServiceCredit:
          type: number
          format: double
      description: 'Billing information. Returned for device update request if `prestatement`

        query parameter is set to ''true''

        '
    ExtensionInfoIntId:
      type: object
      properties:
        id:
          type: integer
          description: Internal identifier of an extension
          format: int64
        uri:
          type: string
          format: uri
          description: Canonical URI of an extension
        extensionNumber:
          type: string
          description: Number of extension
        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: This attribute can be omitted for unassigned devices
    OutboundProxyInfo:
      type: object
      properties:
        region:
          type: string
          description: Geographical region
          example: APAC
        proxy:
          type: string
          description: SIP outbound proxy
        proxyTLS:
          type: string
          description: SIP details for TLS (Transport Layer Security)
    PhoneLinesInfo:
      type: object
      properties:
        id:
          type: string
          description: Internal identifier of a phone line
        lineType:
          $ref: '#/components/schemas/PhoneLineTypeEnum'
        phoneInfo:
          $ref: '#/components/schemas/PhoneNumberInfoIntId'
        emergencyAddress:
          $ref: '#/components/schemas/EmergencyAddress'
    EmergencyAddress:
      type: object
      properties:
        required:
          type: boolean
          description: If set to `true` then specifying emergency address is required
        localOnly:
          type: boolean
          description: If set to `true` then only local emergency address can be specified
        lineProvisioningStatus:
          type: string
          description: This status is associated with a phone line provision state
          enum:
          - Valid
          - Provisioning
          - Invalid
    DeviceProvisioningExtensionInfo:
      type: object
      properties:
        id:
          type: string
          description: Internal identifier of an extension
        uri:
          type: string
          format: uri
          description: Canonical URI of an extension
        extensionNumber:
          type: string
          description: Number of extension
        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
    ApiErrorWithParameter:
      description: 'The error model with additional attributes which can be used for HTTP 400/409

        This is a deprecated model: "ApiError" model can be used instead with arbitrary additional parameters

        '
      allOf:
      - $ref: '#/components/schemas/ApiError'
      - type: object
        properties:
          parameterName:
            type: string
            description: The name of the API parameter/attribute which caused the error
          parameterValue:
            type: string
            description: The value of the API parameter/attribute which caused the error
    ShippingAddressInfo:
      type: object
      properties:
        customerName:
          type: string
          description: Name of a primary contact person (receiver)
        additionalCustomerName:
          type: string
          description: 'Name of an additional contact person. Should be specified for

            countries except the US, Canada, the UK and Australia.

            '
        customerEmail:
          type: string
          format: email
          description: 'Email of a primary contact person (receiver). Should be specified

            for countries except the US, Canada, the UK and Australia.

            '
        additionalCustomerEmail:
          type: string
          format: email
          description: 'Email of an additional contact person. Should be specified

            for countries except the US, Canada, the UK and Australia.

            '
        customerPhone:
          type: string
          description: 'Phone number of a primary contact person (receiver). Should

            be specified for countries except the US, Canada, the UK and Australia

            '
        additionalCustomerPhone:
          type: string
          description: 'Phone number of an additional contact person. Should be specified

            for countries except the US, Canada, the UK & Australia.

            '
        street:
          type: string
          description: 'Street address, line 1 - street address, P.O. box, company

            name, c/o

            '
        street2:
          type: string
          description: 'Street address, line 2 - apartment, suite, unit, building,

            floor, etc.

            '
        city:
          type: string
          description: City name
        state:
          type: string
          description: State/province name
        stateId:
          type: string
          description: Internal identifier of a state
        stateIsoCode:
          type: string
          description: ISO code of a state
        stateName:
          type: string
          description: Full name of a state
        countryId:
          type: string
          description: Internal identifier of a country
        countryIsoCode:
          type: string
          description: ISO code of a country
        country:
          type: string
          description: Country name
        countryName:
          type: string
          description: Full name of a country
        zip:
          type: string
          description: Zip code
        taxId:
          type: string
          description: 'National taxpayer identification number. Should be specified

            for Brazil (CNPJ/CPF number) and Argentina (CUIT number).

            '
      description: 'Shipping address for the order. If it coincides with the Emergency

        Service Address, then can be omitted. By default, the same value as the

        emergencyServiceAddress. Multiple addresses can be specified; in case

        an order contains several devices, they can be delivered to different addresses

        '
    DeleteDeviceFromInventoryResponse:
      type: object
      required:
      - records
      properties:
        records:
          type: array
          items:
            type: object
            properties:
              bulkItemSuccessful:
                type: boolean
                description: Specifies if a device is successfully deleted
              deviceId:
                type: string
                description: Internal identifier of a device
              bulkItemErrors:
                type: array
                description: 'The list of errors occurred during processing of particular item of bulk operation.

                  Returned only if `bulkItemSuccessful` is false

                  '
                minItems: 1
                items:
                  $ref: '#/components/schemas/ApiError'
    BulkAddDevicesResponse:
      type: object
      required:
      - results
      properties:
        results:
          type: array
          items:
            oneOf:
            - $ref: '#/components/schemas/BulkAddDevicesSuccessItem'
            - $ref: '#/components/schemas/BulkAddDevicesErrorItem'
    ApiError:
      type: object
      description: Generalized API error structure suitable for any error type
      required:
      - errorCode
      - message
      properties:
        errorCode:
          type: string
          description: Logical error code (typically, 3 letters followed with number, dash separated)
          example: XXX-123
        message:
          type: string
          description: User-friendly error message
          example: Something went wrong
      additionalProperties: true
    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
    ApiErrorResponseModel:
      type: object
      description: Standard error response model which is returned in case of any unsuccessful operation
      required:
      - errors
      properties:
        errors:
          type: array
          description: The array of errors (there will be just one in the most of the cases)
          minItems: 1
          items:
            $ref: '#/components/schemas/ApiError'
    PhoneNumberDefinitionTollType:
      type: object
      description: To use as selection criteria when a number to be selected from the number pool.
      required:
      - tollType
      properties:
        tollType:
          $ref: '#/components/schemas/PhoneNumberTollType'
    PageNavigationUri:
      type: object
      additionalProperties: false
      properties:
        uri:
          type: string
          description: Canonical URI to retrieve the particular page of the result set
          format: uri
    DeviceResource:
      type: object
      properties:
        id:
          type: string
          description: Internal identifier of a device
        uri:
          type: string
          format: uri
          description: Canonical URI of a device
        sku:
          type: string
          description: 'Device identification number (SKU, Stock Keeping Unit) in the format

            TP-ID [-AT-AC], where TP is device type (HP for RC desk phones, DV for all

            other devices including soft phones); ID - device model ID; AT - add-on type

            ID; AC - add-on count (if any). For example ''HP-56-2-2''

            '
        type:
          type: string
          description: Device type
          default: HardPhone
          enum:
          - BLA
          - SoftPhone
          - OtherPhone
          - HardPhone
          - WebPhone
          - Paging
          - Room
          - WebRTC
        name:
          type: string
          description: 'Device name. Mandatory if ordering SoftPhone or OtherPhone.

            Optional for HardPhone. If not specified for HardPhone, then

            a device model is used as a device name

            '
        serial:
          type: string
          description: 'Serial number for HardPhone (is returned only when the phone

            is shipped and provisioned); endpoint ID for SoftPhone and

            mobile applications

            '
        status:
          type: string
          description: Device status
          enum:
          - Offline
          - Online
        computerName:
          type: string
          description: Computer name (for devices of `SoftPhone` type only)
        model:
          $ref: '#/components/schemas/ModelInfo'
        extension:
          $ref: '#/components/schemas/ExtensionInfoIntId'
        emergency:
          $ref: '#/components/schemas/DeviceEmergencyInfo'
        emergencyServiceAddress:
          $ref: '#/components/schemas/EmergencyServiceAddressResource'
        phoneLines:
          type: array
          description: Phone lines information
          items:
            $ref: '#/components/schemas/PhoneLinesInfo'
        shipping:
          $ref: '#/components/schemas/ShippingInfo'
        boxBillingId:
          type: integer
          format: int64
          description: 'Box billing identifier of a device. Applicable only for devices of `HardPhone` type.

            It is an alternative way to identify the device to be ordered. Either

            `model` structure, or `boxBillingId` must be specified

            '
        useAsCommonPhone:
          type: boolean
          description: 'Supported only for devices assigned to Limited extensions.

            If true, enables users to log in to this phone as a common phone.

            '
        hotDeskDevice:
          type: boolean
          description: This flag indicates whether this device is used for hot desking or not
        inCompanyNet:
          type: boolean
          description: 'Network location status. `true` if the device is located in

            the configured corporate network (On-Net); `false` for Off-Net location.

            Parameter is not returned if `EmergencyAddressAutoUpdate` feature is not

            enabled for the account/user, or if device network location is not determined

            '
        site:
          $ref: '#/components/schemas/DeviceSiteInfo'
        lastLocationReportTime:
          type: string
          format: date-time
          description: 'Date/time of receiving last location report in

            [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)

            format including timezone, for example *2016-03-10T18:07:52.534Z

            '
        linePooling:
          $ref: '#/components/schemas/LinePoolingEnum'
        billingStatement:
          $ref: '#/components/schemas/BillingStatementInfo'
    PhoneLineTypeEnum:
      type: string
      description: The type of phone line
      enum:
      - Unknown
      - Standalone
      - StandaloneFree
      - BlaPrimary
      - BlaSecondary
    AddDeviceToInventoryRequest:
      type: object
      required:
      - type
      - quantity
      properties:
        type:
          type: string
          description: 'Device type. Use `OtherPhone` to indicate BYOD (customer provided) device

            '
          enum:
          - OtherPhone
        quantity:
          type: integer
          minimum: 1
          maximum: 50
          format: int32
          description: Quantity of devices (total quantity should not exceed 50)
        site:
          type: object
          properties:
            id:
              type: string
              description: Site extension identifier or "main-site" for the main site
    GetExtensionDevicesResponse:
      required:
      - navigation
      - paging
      - records
      type: object
      properties:
        uri:
          type: string
          format: uri
          description: Link to a list of extension devices
        records:
          type: array
          description: List of extension devices
          items:
            $ref: '#/components/schemas/DeviceResource'
        navigation:
          $ref: '#/components/schemas/PageNavigationModel'
        paging:
          $ref: '#/components/schemas/EnumeratedPagingModel'
    ShippingInfo:
      type: object
      properties:
        status:
          $ref: '#/components/schemas/ShippingStatus'
        carrier:
          type: string
          description: 'Shipping carrier name. Appears only if the device status is ''Shipped''

            '
        trackingNumber:
          type: string
          description: 'Carrier-specific tracking number. Appears only if the device status is ''Shipped''

            '
        method:
          $ref: '#/components/schemas/ShippingMethodInfo'
        address:
          $ref: '#/components/schemas/ShippingAddressInfo'
      description: 'Shipping information, according to which devices (in case of HardPhone)

        or e911 stickers (in case of SoftPhone and OtherPhone) will be delivered

  

# --- truncated at 32 KB (63 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/ringcentral/refs/heads/main/openapi/ringcentral-devices-api-openapi.yml