Get presence of multiple workspace users. You can filter by date and user IDs.
If the Presence_broadcast_disabled setting is true, the endpoint returns an empty array. You can find this setting under Manage > Workspace > Settings > Troubleshoot.
When the Premium User status hiding feature is enabled, users who have hidden their status from the caller are omitted from the response. This applies to full results and requests filtered by from or ids.
Changelog
| Version | Description |
|---|---|
| 8.8.0 | Added status visibility filtering. |
| 8.6.0 | Added statusSource and statusExpiresAt to returned user objects. |
| 8.5.0 | Restored comma-separated ids query parameter support. |
| 1.1.0 | Added |
The authenticated user ID.
The authenticated user token.
The last date when the status was changed. Format: ISO 8601 datetime. Timezone, milliseconds and seconds are optional. If you don't pass from parameter, you'll get a list of all users' presence and the result will have a full field with value true .
The IDs of the users whose presence you want. Provide one ID as ?ids=userId1, multiple comma-separated IDs as ?ids=userId1,userId2, or repeat the parameter as ?ids=userId1&ids=userId2.
{
"users": [
{
"_id": "rocket.cat",
"name": "Rocket.Cat",
"username": "rocket.cat",
"status": "online",
"utcOffset": 0,
"statusText": "In a call",
"statusSource": "internal",
"avatarETag": "5BB9B5ny5DkKdrwkq"
},
{
"_id": "rocketchat.internal.admin.test",
"name": "RocketChat Internal Admin Test",
"username": "rocketchat.internal.admin.test",
"status": "online",
"utcOffset": -2,
"statusText": "Focus time",
"statusSource": "manual",
"statusExpiresAt": "2026-06-22T18:00:00.000Z",
"avatarETag": "iEbEm4bTT327NJjXt"
}
],
"full": true,
"success": true
}The user's status message.
The claim that set the user's current status. One of internal, manual, or external (priority order: internal > manual > external). Omitted when the user has no recorded status source.
Date as an ISO 8601 string indicating when the user's current status expires. Omitted when the status has no expiration.
Unauthorized
{
"status": "error",
"message": "You must be logged in to do this."
}