RingCentral Presence API

The Presence API from RingCentral — 5 operation(s) for presence.

OpenAPI Specification

ringcentral-presence-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: RingCentral Adaptive Cards Presence 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: Presence
paths:
  /restapi/v1.0/account/{accountId}/call-queues/{groupId}/presence:
    get:
      tags:
      - Presence
      summary: Get Call Queue Presence
      description: Returns presence status of the call queue members.
      operationId: readCallQueuePresence
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - name: groupId
        in: path
        description: Internal identifier of a call queue extension
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CallQueuePresence'
      x-request-max-body-size: 100m
      x-feature: ReadPresenceStatus
      x-throttling-group: Light
      x-app-permission: ReadPresence
    put:
      tags:
      - Presence
      summary: Update Call Queue Presence
      description: Updates presence status of the call queue members in the specified queue.
      operationId: updateCallQueuePresence
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - name: groupId
        in: path
        description: Internal identifier of a call queue extension
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CallQueueUpdatePresence'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CallQueuePresence'
      x-request-max-body-size: 100m
      x-feature: EditPresenceStatus
      x-throttling-group: Medium
      x-app-permission: EditPresence
      x-notifications:
      - $ref: '#/components/schemas/CallQueuePresenceEvent'
  /restapi/v1.0/account/{accountId}/presence:
    get:
      tags:
      - Presence
      summary: Get User Presence Status List
      description: 'Returns presence status of all extensions of an account. Please note: The presenceStatus is returned as Offline (the parameters telephonyStatus, message, userStatus and dndStatus are not returned at all) for the following extension types: Department, Announcement Only, Voicemail (Take Messages Only), Fax User, Paging Only Group, Shared Lines Group, IVR Menu, Application Extension.'
      operationId: readAccountPresence
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - name: detailedTelephonyState
        in: query
        description: Whether to return detailed telephony state
        schema:
          type: boolean
      - name: sipData
        in: query
        description: Whether to return SIP data
        schema:
          type: boolean
      - name: page
        in: query
        description: Page number for account presence information
        schema:
          type: integer
          format: int32
      - name: perPage
        in: query
        description: Number for account presence information items per page
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountPresenceInfo'
      x-request-max-body-size: 100m
      x-feature: ReadPresenceStatus
      x-throttling-group: Heavy
      x-app-permission: ReadPresence
      x-user-permission: ReadPresenceStatus
      x-notifications:
      - $ref: '#/components/schemas/AccountPresenceEvent'
  /restapi/v1.0/account/{accountId}/extension/{extensionId}/call-queue-presence:
    get:
      tags:
      - Presence
      summary: Get Agent’s Call Queue Presence
      description: Returns a list of agent's call queues with the agent presence status (per queue).
      operationId: readExtensionCallQueuePresence
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - $ref: '#/components/parameters/ExtensionId'
      - name: editableMemberStatus
        in: query
        description: Filtering by the flag 'Allow members to change their Queue Status'. If 'true' only queues where user can change his availability status are returned
        schema:
          type: boolean
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExtensionCallQueuePresenceList'
      x-request-max-body-size: 100m
      x-feature: ReadPresenceStatus
      x-throttling-group: Light
      x-app-permission: ReadPresence
    put:
      tags:
      - Presence
      summary: Update Call Queue Presence
      description: Updates availability of the agent for the call queues.
      operationId: updateExtensionCallQueuePresence
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - $ref: '#/components/parameters/ExtensionId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExtensionCallQueueUpdatePresenceList'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExtensionCallQueuePresenceList'
      x-request-max-body-size: 100m
      x-feature: EditPresenceStatus
      x-throttling-group: Medium
      x-app-permission: EditPresence
      x-notifications:
      - $ref: '#/components/schemas/CallQueuePresenceEvent'
  /restapi/v1.0/account/{accountId}/extension/{extensionId}/presence:
    get:
      tags:
      - Presence
      summary: Get User Presence Status
      description: "Returns the presence status of an extension or several extensions by their ID(s). The `presenceStatus` is returned as Offline \n(the parameters `telephonyStatus`, `message`, `userStatus` and `dndStatus` are not returned at all) for the following extension types: \nDepartment/Announcement Only/Take Messages Only (Voicemail)/Fax User/Paging Only Group/Shared Lines Group/IVR Menu/Application Extension/Park Location.\nIf the user requests his/her own presence status, the response contains actual presence status even if the status publication is turned off.\n[Batch request syntax](https://developers.ringcentral.com/api-reference/Batch-Requests) is supported. For batch requests the number of extensions \nin one request is limited to 30. If more extensions are included in the request, the error code 400 Bad Request is returned with the logical error\ncode InvalidMultipartRequest and the corresponding message Extension Presence Info multipart request is limited to 30 extensions.\n"
      operationId: readUserPresenceStatus
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - $ref: '#/components/parameters/ExtensionId'
      - name: detailedTelephonyState
        in: query
        description: Specifies whether to return a detailed telephony state or not
        schema:
          type: boolean
      - name: sipData
        in: query
        description: Specifies whether to return SIP data or not
        schema:
          type: boolean
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPresenceInfo'
      x-request-max-body-size: 100m
      x-feature: ReadPresenceStatus
      x-throttling-group: Light
      x-app-permission: ReadPresence
      x-user-permission: ReadPresenceStatus
      x-notifications:
      - $ref: '#/components/schemas/ExtensionPresenceEvent'
      - $ref: '#/components/schemas/DetailedExtensionPresenceEvent'
      - $ref: '#/components/schemas/DetailedExtensionPresenceWithSIPEvent'
    put:
      tags:
      - Presence
      summary: Update User Presence Status
      description: 'Updates user-defined extension presence status, status message and DnD status by extension ID. Supported for regular User extensions only. The extension types listed do not support presence status: Department, Announcement Only, Take Messages Only (Voicemail), Fax User, Paging Only Group, Shared Lines Group, IVR Menu, Application Extension.'
      operationId: updateUserPresenceStatus
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - $ref: '#/components/parameters/ExtensionId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PresenceInfoRequest'
        required: false
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PresenceInfoResponse'
      x-request-max-body-size: 100m
      x-feature: EditPresenceStatus
      x-throttling-group: Medium
      x-app-permission: EditPresence
      x-notifications:
      - $ref: '#/components/schemas/IncomingCallEvent'
      - $ref: '#/components/schemas/MissedCallEvent'
  /restapi/v1.0/account/{accountId}/extension/{extensionId}/unified-presence:
    get:
      tags:
      - Presence
      summary: Get Unified Presence
      description: Returns the unified presence status of the requested user(s). The set of parameters returned by this method differs whether you return the requester's presence or any other user presence.
      operationId: readUnifiedPresence
      parameters:
      - name: accountId
        in: path
        description: Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
        required: true
        schema:
          type: string
          default: '~'
      - name: extensionId
        in: path
        description: Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
        required: true
        schema:
          type: string
          default: '~'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnifiedPresence'
        '207':
          description: Multi-Status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnifiedPresenceList'
        '400':
          description: Some of the parameters are missing or have invalid format
        '404':
          description: Resource not found
      x-throttling-group: Medium
      x-app-permission: ReadPresence
      x-user-permission: ReadPresenceStatus
    patch:
      tags:
      - Presence
      summary: Update Unified Presence
      description: Updates the unified presence for the current user specified in path.
      operationId: updateUnifiedPresence
      parameters:
      - name: accountId
        in: path
        description: Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
        required: true
        schema:
          type: string
          default: '~'
      - name: extensionId
        in: path
        description: Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
        required: true
        schema:
          type: string
          default: '~'
      requestBody:
        description: JSON body
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateUnifiedPresence'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnifiedPresence'
        '400':
          description: Some of parameters are missing or have invalid format
        '403':
          description: User is not allowed to do this action
        '404':
          description: Resource not found
      x-throttling-group: Medium
      x-app-permission: EditPresence
      x-user-permission: EditPresenceStatus
components:
  schemas:
    GetPresenceInfo:
      type: object
      properties:
        uri:
          type: string
          format: uri
          description: Canonical URI of a presence info resource
        allowSeeMyPresence:
          type: boolean
          description: If set to `true` - enables other extensions to see the extension presence status
        callerIdVisibility:
          type: string
          description: "Configures the user presence visibility. When the `allowSeeMyPresence` parameter is set to `true`, \nthe following visibility options are supported via this parameter - All, None, PermittedUsers\n"
          enum:
          - All
          - None
          - PermittedUsers
        dndStatus:
          type: string
          description: 'Extended DnD (Do not Disturb) status. Cannot be set for Department/Announcement/Voicemail

            (Take Messages Only)/Fax User/Shared Lines Group/Paging Only Group/IVR

            Menu/Application Extension/Park Location extensions. The ''DoNotAcceptDepartmentCalls''

            and ''TakeDepartmentCallsOnly'' values are applicable only for extensions

            - members of a Department; if these values are set for department outsiders,

            the 400 Bad Request error code is returned. The ''TakeDepartmentCallsOnly''

            status can be set through the old RingCentral user interface and is available

            for some migrated accounts only.

            '
          enum:
          - TakeAllCalls
          - DoNotAcceptAnyCalls
          - DoNotAcceptDepartmentCalls
          - TakeDepartmentCallsOnly
        extension:
          $ref: '#/components/schemas/GetPresenceExtensionInfo'
        message:
          type: string
          description: Custom status message (as previously published by user)
        pickUpCallsOnHold:
          type: boolean
          description: If `true` enables the extension user to pick up a monitored line on hold
        presenceStatus:
          type: string
          description: Aggregated presence status, calculated from a number of sources
          enum:
          - Offline
          - Busy
          - Available
        ringOnMonitoredCall:
          type: boolean
          description: If `true` enables to ring extension phone, if any user monitored by this extension is ringing
        telephonyStatus:
          type: string
          description: Telephony presence status
          enum:
          - NoCall
          - CallConnected
          - Ringing
          - OnHold
          - ParkedCall
        userStatus:
          type: string
          description: User-defined presence status (as previously published by the user)
          enum:
          - Offline
          - Busy
          - Available
        meetingStatus:
          type: string
          description: RingCentral Meetings presence
          enum:
          - Connected
          - Disconnected
        activeCalls:
          type: array
          description: Information on active calls
          items:
            $ref: '#/components/schemas/ActiveCallInfo'
    PresencePagingInfo:
      type: object
      description: Information on paging
      properties:
        page:
          type: integer
          format: int32
          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)
        perPage:
          type: integer
          format: int32
          description: Current page size, describes how many items are in each page. Default value is 100. Maximum value is 1000. If perPage value in the request is greater than 1000, the maximum value (1000) is applied
        pageStart:
          type: integer
          format: int32
          description: The zero-based number of the first element on the current page. Omitted if the page is omitted or result is empty
        pageEnd:
          type: integer
          format: int32
          description: The zero-based index of the last element on the current page. Omitted if the page is omitted or result is empty
        totalPages:
          type: integer
          format: int32
          description: The total number of pages in a dataset. May be omitted for some resources due to performance reasons
        totalElements:
          type: integer
          format: int32
          description: The total number of elements in a dataset. May be omitted for some resource due to performance reasons
    UnifiedPresenceGlip:
      type: object
      properties:
        status:
          type: string
          description: Glip connection status calculated from all user's apps. Returned always for the requester's extension; returned for another users if their glip visibility is set to 'Visible'
          enum:
          - Offline
          - Online
        visibility:
          type: string
          description: Visibility setting allowing other users to see the user's Glip presence status; returned only for requester's extension
          enum:
          - Visible
          - Invisible
        availability:
          type: string
          description: Shows whether user wants to receive Glip notifications or not.
          enum:
          - Available
          - DND
      description: Returned if *Glip* feature is switched on
    ExtensionCallQueuePresence:
      type: object
      properties:
        callQueue:
          $ref: '#/components/schemas/PresenceCallQueueInfo'
        acceptCalls:
          type: boolean
          description: Call queue agent availability for calls of this queue
    CallQueueMember:
      type: object
      description: Call queue member information
      properties:
        id:
          type: string
          description: Internal identifier of an extension
        name:
          type: string
          description: Extension full name
        extensionNumber:
          type: string
          description: Extension number
        site:
          $ref: '#/components/schemas/SiteResource'
    SiteResource:
      type: object
      description: Site extension information
      properties:
        id:
          type: string
          description: Site extension identifier
        name:
          type: string
          description: Site extension name
    ExtensionPresenceEvent:
      type: object
      properties:
        uuid:
          type: string
          description: Universally unique identifier of a notification
        event:
          type: string
          description: Event filter name
        timestamp:
          type: string
          format: date-time
          description: Timestamp when this notification was sent in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format including timezone, for example *2016-03-10T18:07:52.534Z*
        subscriptionId:
          type: string
          description: Internal identifier of a subscription
        body:
          $ref: '#/components/schemas/ExtensionPresenceEventBody'
    PresenceInfoRequest:
      type: object
      properties:
        userStatus:
          type: string
          enum:
          - Offline
          - Busy
          - Available
        dndStatus:
          type: string
          enum:
          - TakeAllCalls
          - DoNotAcceptDepartmentCalls
          - TakeDepartmentCallsOnly
          - DoNotAcceptAnyCalls
          - Unknown
        message:
          maxLength: 75
          minLength: 0
          type: string
        allowSeeMyPresence:
          type: boolean
          default: false
        ringOnMonitoredCall:
          type: boolean
          default: false
        pickUpCallsOnHold:
          type: boolean
          default: false
        callerIdVisibility:
          type: string
          description: "Configures the user presence visibility. When the `allowSeeMyPresence` parameter is set to `true`, \nthe following visibility options are supported via this parameter - All, None, PermittedUsers\n"
          enum:
          - All
          - None
          - PermittedUsers
    DetailedExtensionPresenceEvent:
      type: object
      properties:
        uuid:
          type: string
          description: Universally unique identifier of a notification
        event:
          type: string
          description: Event filter name
        timestamp:
          type: string
          format: date-time
          description: Timestamp when this notification was sent in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format including timezone, for example *2016-03-10T18:07:52.534Z*
        subscriptionId:
          type: string
          description: Internal identifier of a subscription
        body:
          $ref: '#/components/schemas/DetailedExtensionPresenceEventBody'
    APNSInfo:
      type: object
      description: APNS (Apple Push Notification Service) information
      properties:
        aps:
          $ref: '#/components/schemas/APSInfo'
    APSInfo:
      type: object
      description: APS (Apple Push Service) information/ priority data
      properties:
        content-available:
          type: integer
          format: int32
          description: If the value is '1' then notification is turned on even if the application is in background
    GetPresenceExtensionInfo:
      type: object
      description: Information on extension, for which this presence data is returned
      properties:
        id:
          type: integer
          format: int64
          description: Internal identifier of an extension
        uri:
          type: string
          format: uri
          description: Canonical URI of an extension
        extensionNumber:
          type: string
          description: Extension number (usually 3 or 4 digits)
    PrimaryCQInfo:
      type: object
      properties:
        type:
          type: string
          description: Call information to be displayed as 'Line 1' for a call queue call session
          enum:
          - PhoneNumberLabel
          - PhoneNumber
          - QueueExtension
          - QueueName
          - CallerIdName
          - CallerIdNumber
          - None
        value:
          type: string
          description: Call information value
      description: Primary call session information. Supported for Call Queues only
    AdditionalCQInfo:
      type: object
      properties:
        type:
          type: string
          description: Call information to be displayed as 'Line 2' for a call queue call session
          enum:
          - PhoneNumberLabel
          - PhoneNumber
          - QueueExtension
          - QueueName
          - CallerIdName
          - CallerIdNumber
          - None
        value:
          type: string
          description: Call information value
      description: Additional call session information. Supported for Call Queues only
    CallQueueUpdateMemberPresence:
      type: object
      properties:
        member:
          $ref: '#/components/schemas/CallQueueMemberId'
        acceptCurrentQueueCalls:
          type: boolean
          description: Call queue member availability for calls of this queue
    CallQueuePresenceEventBody:
      type: object
      description: Notification payload body
      properties:
        extensionId:
          type: string
          description: Agent extension ID
        callQueueId:
          type: string
          description: Call queue extension ID
        acceptCalls:
          type: boolean
          description: Call queue agent availability for calls of this queue
    ActiveCallInfo:
      type: object
      properties:
        id:
          type: string
        direction:
          type: string
          enum:
          - Inbound
          - Outbound
        queueCall:
          type: boolean
          description: Identifies if a call belongs to the call queue
        from:
          type: string
          description: Phone number or extension number of a caller. For GCM transport type '_from' property should be used
        fromName:
          type: string
          description: Name of a caller
        to:
          type: string
          description: Phone number or extension number of a callee
        toName:
          type: string
          description: Name of a callee
        startTime:
          type: string
          format: date-time
          description: Time when the call is actually started
        telephonyStatus:
          type: string
          description: Telephony presence status
          enum:
          - NoCall
          - CallConnected
          - Ringing
          - OnHold
          - ParkedCall
        sipData:
          $ref: '#/components/schemas/DetailedCallInfo'
        sessionId:
          type: string
        telephonySessionId:
          type: string
          description: Telephony identifier of a call session
        onBehalfOf:
          type: string
          description: Extension ID of the call owner on whose behalf a call is performed
        partyId:
          type: string
          description: Internal identifier of a call party
        terminationType:
          type: string
        callInfo:
          $ref: '#/components/schemas/CallInfoCQ'
    CallQueueId:
      type: object
      description: Call queue information
      properties:
        id:
          type: string
          description: Internal identifier of a call queue
    UpdateUnifiedPresenceGlip:
      type: object
      properties:
        visibility:
          type: string
          description: Visibility setting allowing other users to see Glip presence status
          enum:
          - Visible
          - Invisible
        availability:
          type: string
          description: Availability setting specifying whether to receive Glip notifications or not
          enum:
          - Available
          - DND
    CallQueuePresence:
      type: object
      properties:
        records:
          type: array
          items:
            $ref: '#/components/schemas/CallQueueMemberPresence'
    CallQueuePresenceEvent:
      type: object
      properties:
        uuid:
          type: string
          description: Universally unique identifier of a notification
        event:
          type: string
          description: Event filter name
        timestamp:
          type: string
          format: date-time
          description: Timestamp when this notification was sent in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format including timezone, for example *2016-03-10T18:07:52.534Z*
        subscriptionId:
          type: string
          description: Internal identifier of a subscription
        body:
          $ref: '#/components/schemas/CallQueuePresenceEventBody'
    DetailedExtensionPresenceEventBody:
      type: object
      description: Notification payload body
      properties:
        extensionId:
          type: string
          description: Internal identifier of an extension
          default: '~'
        telephonyStatus:
          type: string
          description: Telephony presence status. Returned if telephony status is changed.
          enum:
          - NoCall
          - CallConnected
          - Ringing
          - OnHold
          - ParkedCall
        activeCalls:
          type: array
          description: List of the latest 7 active calls on extension
          items:
            $ref: '#/components/schemas/ActiveCallInfoWithoutSIP'
        sequence:
          type: integer
          format: int32
          description: Order number of a notification to state the chronology
        presenceStatus:
          type: string
          description: Aggregated presence status, calculated from a number of sources
          enum:
          - Offline
          - Busy
          - Available
        userStatus:
          type: string
          description: User-defined presence status (as previously published by the user)
          enum:
          - Offline
          - Busy
          - Available
        meetingStatus:
          type: string
          description: Meetings presence status
          enum:
          - Connected
          - Disconnected
        dndStatus:
          type: string
          description: Extended DnD (Do not Disturb) status
          enum:
          - TakeAllCalls
          - DoNotAcceptAnyCalls
          - DoNotAcceptDepartmentCalls
          - TakeDepartmentCallsOnly
        allowSeeMyPresence:
          type: boolean
          description: If `true` enables other extensions to see the extension presence status
        ringOnMonitoredCall:
          type: boolean
          description: If `true` enables to ring extension phone, if any user monitored by this extension is ringing
        pickUpCallsOnHold:
          type: boolean
          description: If `true` enables the extension user to pick up a monitored line on hold
        totalActiveCalls:
          type: integer
          format: int32
          description: Total number of active calls on extension at the present moment
        ownerId:
          type: string
          description: Internal identifier of a subscription owner extension
    ExtensionCallQueuePresenceList:
      type: object
      properties:
        records:
          type: array
          items:
            $ref: '#/components/schemas/ExtensionCallQueuePresence'
    IncomingCallEvent:
      type: object
      properties:
        aps:
          $ref: '#/components/schemas/APSInfo'
        event:
          type: string
          description: Event filter name
        uuid:
          type: string
          description: Universally unique identifier of a notification
        subscriptionId:
          type: string
          description: Internal identifier of a subscription
        timestamp:
          type: string
          format: date-time
          description: The timestamp of a call action in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format including timezone, for example 2016-03-10T18:07:52.534Z
        extensionId:
          type: string
          description: Internal identifier of an extension
          default: '~'
        action:
          type: string
          description: Calling action, for example 'StartRing'
        sessionId:
          type: string
          description: Identifier of a call session
        serverId:
          type: string
          description: Identifier of a server
        from:
          type: string
          description: Phone number of a caller. For GCM transport type '_from' property should be used
        fromName:
          type: string
          description: Caller name
        to:
          type: string
          description: Phone number of a callee
        toName:
          type: string
          description: Callee name
        sid:
          type: string
          description: Unique identifier of a session
        toUrl:
          type: string
          description: SIP proxy registration name
        srvLvl:
          type: string
          description: User data
        srvLvlExt:
          type: string
          description: User data
        recUrl:
          type: string
          description: File containing recorded caller name
        pn_ttl:
          type: integer
          format: int32
          description: Notification lifetime value in seconds, the default value is 30 seconds
        ownerId:
          type: string
          description: Internal identifier of a subscription owner extension
    UnifiedPresenceMeeting:
      type: object
      properties:
        status:
          type: string
          description: Meeting status calculated from all user`s meetings


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