---
title: "Update User Presence Status"
method: PUT
path: "/restapi/v1.0/account/{accountId}/extension/{extensionId}/presence"
tags: ["Presence"]
---

# Update User Presence Status

`PUT /restapi/v1.0/account/{accountId}/extension/{extensionId}/presence`

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.

## Path parameters

- `accountId` string, required
- `extensionId` string, required

## Request body

- PresenceInfoRequest
  - `userStatus` 'Offline' | 'Busy' | 'Available'
  - `dndStatus` 'TakeAllCalls' | 'DoNotAcceptDepartmentCalls' | 'TakeDepartmentCallsOnly' | 'DoNotAcceptAnyCalls' | 'Unknown'
  - `message` string
  - `allowSeeMyPresence` boolean
  - `ringOnMonitoredCall` boolean
  - `pickUpCallsOnHold` boolean
  - `callerIdVisibility` 'All' | 'None' | 'PermittedUsers' — Configures the user presence visibility. When the `allowSeeMyPresence` parameter is set to `true`, the following visibility options are supported via this parameter - All, None, PermittedUsers

## Response `200`

OK

- PresenceInfoResponse
  - `uri` string, uri — Link to the presence resource
  - `userStatus` 'Offline' | 'Busy' | 'Available'
  - `dndStatus` 'TakeAllCalls' | 'DoNotAcceptDepartmentCalls' | 'TakeDepartmentCallsOnly' | 'DoNotAcceptAnyCalls' | 'Unknown'
  - `message` string
  - `allowSeeMyPresence` boolean
  - `callerIdVisibility` 'All' | 'None' | 'PermittedUsers' — Configures the user presence visibility. When the `allowSeeMyPresence` parameter is set to `true`, the following visibility options are supported via this parameter - All, None, PermittedUsers
  - `ringOnMonitoredCall` boolean
  - `pickUpCallsOnHold` boolean
  - `activeCalls` ActiveCallInfo[]
    - `id` string
    - `direction` 'Inbound' | 'Outbound'
    - `queueCall` boolean — Identifies if a call belongs to the call queue
    - `from` string — Phone number or extension number of a caller. For GCM transport type '_from' property should be used
    - `fromName` string — Name of a caller
    - `to` string — Phone number or extension number of a callee
    - `toName` string — Name of a callee
    - `startTime` string, date-time — Time when the call is actually started
    - `telephonyStatus` 'NoCall' | 'CallConnected' | 'Ringing' | 'OnHold' | 'ParkedCall' — Telephony presence status
    - `sipData` DetailedCallInfo
      - `callId` string
      - `toTag` string
      - `fromTag` string
      - `remoteUri` string, uri
      - `localUri` string, uri
      - `rcSessionId` string
    - `sessionId` string
    - `telephonySessionId` string — Telephony identifier of a call session
    - `onBehalfOf` string — Extension ID of the call owner on whose behalf a call is performed
    - `partyId` string — Internal identifier of a call party
    - `terminationType` string
    - `callInfo` CallInfoCQ — Primary/additional CQ information
      - `primary` PrimaryCQInfo — Primary call session information. Supported for Call Queues only
        - `type` 'PhoneNumberLabel' | 'PhoneNumber' | 'QueueExtension' | 'QueueName' | 'CallerIdName' | 'CallerIdNumber' | 'None' — Call information to be displayed as 'Line 1' for a call queue call session
        - `value` string — Call information value
      - `additional` AdditionalCQInfo — Additional call session information. Supported for Call Queues only
        - `type` 'PhoneNumberLabel' | 'PhoneNumber' | 'QueueExtension' | 'QueueName' | 'CallerIdName' | 'CallerIdNumber' | 'None' — Call information to be displayed as 'Line 2' for a call queue call session
        - `value` string — Call information value
  - `extension` GetPresenceExtensionInfo — Information on extension, for which this presence data is returned
    - `id` integer — Internal identifier of an extension
    - `uri` string, uri — Canonical URI of an extension
    - `extensionNumber` string — Extension number (usually 3 or 4 digits)
  - `meetingStatus` 'Connected' | 'Disconnected' — Meetings presence status
  - `telephonyStatus` 'NoCall' | 'CallConnected' | 'Ringing' | 'OnHold' | 'ParkedCall' — Telephony presence status. Returned if telephony status is changed
  - `presenceStatus` 'Offline' | 'Busy' | 'Available' — Aggregated presence status, calculated from a number of sources

---

[API](https://skmtc.net/ringcentral/apis/ringcentral-api.md) · [All operations](https://skmtc.net/ringcentral/apis/ringcentral-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/ringcentral/ringcentral-api/revisions/8d602198ec97/schema)
