Get All Presence

Returns the presence of all users in a pod.

Get presence information about all company (pod) users.

The returned data is taken from the in-memory cache for performance reasons which means inactive users may be omitted from the response.

All non-inactive users WILL be returned and some inactive users MAY be included. Any omitted user IS inactive.

Returned records are sorted by user ID, ascending.

This method is expensive. It pulls ALL records from the cache, sorts them and then only uses a subset. For large numbers of users, this can be very inefficient both due to sorting and due to the cache being distributed across many nodes.

Addiionally, there is the potential to miss users if they become active after the page in which their user ID falls has already been read by the client. To avoid this situation, a presence feed should be created (and optionally read from) first to capture presence changes of users who get reactivated during a paged call to this endpoint.

GETyourpodURL.symphony.com/pod/v2/users/presence
Query parameters
Header parameters
Response

OK

Body
category*string

Presence status. Possible values are:

  • UNDEFINED
  • AVAILABLE
  • BUSY
  • DO_NOT_DISTURB
  • ON_THE_PHONE
  • BE_RIGHT_BACK
  • IN_A_MEETING
  • AWAY
  • OUT_OF_OFFICE
  • OFF_WORK
  • OFFLINE
Example: "AWAY"
userIdinteger (int64)

The ID of the user to whom the presence state relates.

Example: 14568529068038
timestampinteger (int64)

The time, in milliseconds since Jan 1 1970, when the presence state was set.

Example: 1533928483800
Request
const response = await fetch('yourpodURL.symphony.com/pod/v2/users/presence', {
    method: 'GET',
    headers: {
      "sessionToken": "text"
    },
});
const data = await response.json();
Response
[
  {
    "category": "AVAILABLE",
    "userId": 14568529068038,
    "timestamp": 1533928483800
  },
  {
    "category": "OFFLINE",
    "userId": 974217539631,
    "timestamp": 1503286226030
  }
]

📘 All non-inactive users are returned and some inactive users may be included. Any omitted user is inactive.

🚧 Only users with the "User Provisioning" role can call this endpoint

When calling this as an OBO-enabled endpoint, use the OBO User Authenticate token for sessionToken.

For a list of the available presence statuses, please see the Get Presence

Last updated