For AI agents: markdown of this page — /docs-content-en/chats/members/active.md documentation index — /llms.txt
Active members
GET /v1/chats/:dialogId/users/active
Returns the chat members as user cards, as a single page, in the chosen order. To list the most active members first, pass sort=lastSendMessageId&order=desc. The member list in the v2 mode pages through all members.
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
ParameterdialogId (path) |
Typestring | Requiredyes | Default— | DescriptionDialog identifier: chatXXX for a group chat, a user ID for the personal dialog with that user, or the alias me for the personal dialog with yourself |
Parameterlimit (query) |
Typenumber | Requiredno | Default50 | DescriptionHow many members to return, from 1 to 200. An out-of-range value is clamped and echoed in meta.requestedLimit and meta.appliedLimit |
Parametersort (query) |
Typestring | Requiredno | Default— | DescriptionThe sort key: id — the membership record, lastSendMessageId — the member's last message, userId — the user ID. Without sort the order is up to Bitrix24 |
Parameterorder (query) |
Typestring | Requiredno | Defaultdesc |
DescriptionThe direction of sort: desc or asc, case-insensitive. Accepted only together with sort |
Other parameters and repeated ones are rejected with 400 INVALID_PARAMS.
Examples
curl — personal key
curl "https://vibecode.bitrix24.com/v1/chats/chat42/users/active?sort=lastSendMessageId&order=desc&limit=10" \
-H "X-Api-Key: YOUR_API_KEY"
curl — OAuth application
curl "https://vibecode.bitrix24.com/v1/chats/chat42/users/active?sort=lastSendMessageId&order=desc&limit=10" \
-H "X-Api-Key: YOUR_APP_KEY" \
-H "Authorization: Bearer USER_SESSION_TOKEN"
JavaScript — personal key
const res = await fetch('https://vibecode.bitrix24.com/v1/chats/chat42/users/active?sort=lastSendMessageId&order=desc&limit=10', {
headers: { 'X-Api-Key': 'YOUR_API_KEY' },
})
const { data } = await res.json()
console.log('Active:', data.map((u) => u.name))
JavaScript — OAuth application
const res = await fetch('https://vibecode.bitrix24.com/v1/chats/chat42/users/active?sort=lastSendMessageId&order=desc&limit=10', {
headers: {
'X-Api-Key': 'YOUR_APP_KEY',
'Authorization': 'Bearer USER_SESSION_TOKEN',
},
})
const { data } = await res.json()
console.log('Active:', data.map((u) => u.name))
Response fields
| Field | Type | Description |
|---|---|---|
Fieldsuccess |
Typeboolean | DescriptionAlways true on success |
Fielddata |
Typearray | DescriptionMember cards — the same fields as in the member list |
Fielddata[].id |
Typenumber | DescriptionUser ID |
Fielddata[].active |
Typeboolean | DescriptionWhether the account is active |
Fielddata[].name |
Typestring | DescriptionFull name |
Fielddata[].firstName |
Typestring | DescriptionFirst name |
Fielddata[].lastName |
Typestring | DescriptionLast name |
Fielddata[].workPosition |
Typestring|null | DescriptionJob title |
Fielddata[].color |
Typestring | DescriptionAvatar color |
Fielddata[].avatar |
Typestring | DescriptionAvatar URL. Empty string if no avatar is set |
Fielddata[].gender |
Typestring | DescriptionGender: M — male, F — female, empty string — not specified |
Fielddata[].birthday |
Typestring | DescriptionBirth date. Empty string if not specified |
Fielddata[].extranet |
Typeboolean | DescriptionExternal user, type extranet |
Fielddata[].network |
Typeboolean | DescriptionBitrix24.Network user |
Fielddata[].connector |
Typeboolean | DescriptionOpen Channels user of the Contact Center |
Fielddata[].idle |
Typeboolean | DescriptionIdle |
Fielddata[].absent |
Typeboolean | string | Descriptionfalse or the date the absence ends |
Fielddata[].departments |
Typenumber[] | DescriptionIDs of the user's departments. List: GET /v1/departments |
Fielddata[].status |
Typestring | DescriptionStatus (online, away, dnd) |
Fielddata[].lastActivityDate |
Typestring | DescriptionLast activity date (ISO 8601) |
Fielddata[].bot |
Typeboolean | DescriptionWhether the user is a bot |
Fielddata[].type |
Typestring | DescriptionUser type (user, bot, extranet) |
Fieldmeta.requestedLimit |
Typenumber | DescriptionThe limit passed, when it was outside the range from 1 to 200 |
Fieldmeta.appliedLimit |
Typenumber | DescriptionThe limit applied — only when it was clamped to a bound |
Response example
{
"success": true,
"data": [
{
"id": 7,
"active": true,
"name": "Anna Grey",
"firstName": "Anna",
"lastName": "Grey",
"workPosition": "Analyst",
"color": "#83c3f7",
"avatar": "",
"gender": "F",
"birthday": "",
"extranet": false,
"network": false,
"bot": false,
"connector": false,
"status": "away",
"idle": false,
"lastActivityDate": "2026-09-20T10:00:00+00:00",
"absent": false,
"departments": [1],
"type": "user"
}
]
}
Error response example
400 — order without sort:
{
"success": false,
"error": {
"code": "INVALID_PARAMS",
"message": "`order` sets the direction of `sort` and is accepted only together with it."
}
}
Errors
| HTTP | Code | Description |
|---|---|---|
| HTTP400 | CodeINVALID_PARAMS |
DescriptionA parameter other than limit, sort or order, a repeated parameter, a non-numeric limit, a sort or order value outside the allowed values, or order without sort. Checked before any call to Bitrix24 |
| HTTP403 | CodeSCOPE_DENIED |
DescriptionThe API key does not have the im scope |
| HTTP403 | CodeWRITE_BLOCKED_READONLY_KEY |
DescriptionRead-only key, and the chat is not confirmed: a value other than chatN was passed and the personal dialog was not found in the same employee's recent dialog list — up to 20 pages and 4000 rows — or the alias creates a dialog. Rejected before any call to Bitrix24 |
| HTTP403 | CodeWRITE_BLOCKED_READONLY_KEY |
DescriptionRead-only key that is not an employee's personal key: an application key with a user session, a management key, or a key with an unconfirmed owner |
| HTTP401 | CodeTOKEN_MISSING |
DescriptionThe API key has no Bitrix24 tokens configured |
| HTTP404 | CodeENTITY_NOT_FOUND |
DescriptionBitrix24 returned "not found"; the portal code is in error.b24Code |
| HTTP422 | CodeBITRIX_ERROR |
DescriptionBitrix24 returned an error; the portal code is in error.b24Code. A missing chat lands here with the code CHAT_NOT_FOUND |
| HTTP502 | CodeME_ALIAS_RESOLUTION_FAILED |
DescriptionThe user could not be resolved for the me alias |
The full list of common API errors — Errors.
Known specifics
Reading may make you a member. If the chat allows auto-join, Bitrix24 may add the caller as a member. A READONLY key may perform this read under two conditions: it is an employee's personal key, and the chat is confirmed — chatN was passed or the personal dialog was found in the same employee's recent dialogs. The read does not mark messages as read. The user's Bitrix24 access and the im scope still apply.