[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"docs-entities\u002Fusers\u002Flist":3,"docs-tabs-entities\u002Fusers\u002Flist":6},{"content":4,"lastmod":5},"\n## Список сотрудников\n\n`GET \u002Fv1\u002Fusers`\n\nВозвращает список сотрудников портала с поддержкой фильтрации, сортировки и автопагинации. Метод не возвращает ботов, почтовых пользователей и пользователей Открытых линий.\n\n## Параметры\n\n| Параметр | Тип | По умолч. | Описание |\n|----------|-----|-----------|---------|\n| `limit` | number | `50` | Количество записей (до 5000). При `limit > 50` Вайбкод автоматически запрашивает несколько страниц у Битрикс24 |\n| `offset` | number | `0` | Пропустить N записей. При `offset > 0` рекомендуется `limit ≤ 500` |\n| `order` | object | — | Сортировка по любому полю записи. Пример: `?order[name]=asc` |\n| `filter` | object | — | Фильтрация по полям `GET \u002Fv1\u002Fusers\u002Ffields`.\u003Cbr>[Синтаксис фильтрации](\u002Fdocs\u002Ffiltering). Пример: `?filter[name]=Иван` |\n\n## Примеры\n\n### curl — личный ключ\n\n```bash\ncurl \"https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Fusers?limit=10&filter[active]=true\" \\\n  -H \"X-Api-Key: YOUR_API_KEY\"\n```\n\n### curl — OAuth-приложение\n\n```bash\ncurl \"https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Fusers?limit=10&filter[active]=true\" \\\n  -H \"X-Api-Key: YOUR_APP_KEY\" \\\n  -H \"Authorization: Bearer USER_SESSION_TOKEN\"\n```\n\n### JavaScript — личный ключ\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Fusers?limit=10&filter[active]=true', {\n  headers: {\n    'X-Api-Key': 'YOUR_API_KEY',\n  },\n})\n\nconst { success, data, total } = await res.json()\nconsole.log(`Найдено ${total} сотрудников`)\n```\n\n### JavaScript — OAuth-приложение\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Fusers?limit=10&filter[active]=true', {\n  headers: {\n    'X-Api-Key': 'YOUR_APP_KEY',\n    'Authorization': 'Bearer USER_SESSION_TOKEN',\n  },\n})\n\nconst { success, data, total } = await res.json()\n```\n\n## Поля ответа\n\n| Поле | Тип | Описание |\n|------|-----|---------|\n| `success` | boolean | Всегда `true` при успехе |\n| `data` | array | Массив сотрудников. Каждый элемент содержит все поля — см. [Поля сотрудника](\u002Fdocs\u002Fentities\u002Fusers\u002Ffields) |\n| `total` | number | Общее количество записей под фильтр |\n| `page` | number | Текущая страница |\n| `limit` | number | Размер страницы |\n\nURL карточки любого сотрудника из массива `data` — его `id`:\n\n```\nhttps:\u002F\u002F\u003Cportal>.bitrix24.ru\u002Fcompany\u002Fpersonal\u002Fuser\u002F\u003Cid>\u002F\n```\n\n`\u003Cportal>` — домен портала. Доступ ограничен правами сотрудника в Битрикс24.\n\n## Пример ответа\n\n```json\n{\n  \"success\": true,\n  \"data\": [\n    {\n      \"id\": 1,\n      \"xmlId\": \"28889266\",\n      \"active\": true,\n      \"name\": \"Мария\",\n      \"lastName\": null,\n      \"secondName\": \"Отчество\",\n      \"email\": \"maria@example.com\",\n      \"lastLogin\": \"2026-05-05T08:25:11.000Z\",\n      \"dateRegister\": \"2020-04-20T00:00:00.000Z\",\n      \"timeZone\": \"Europe\u002FKaliningrad\",\n      \"isOnline\": false,\n      \"timestampX\": {},\n      \"lastActivityDate\": {},\n      \"personalGender\": \"F\",\n      \"personalPhoto\": \"https:\u002F\u002Fcdn-ru.bitrix24.ru\u002F...\u002Fphoto.jpg\",\n      \"personalMobile\": \"+79991234567\",\n      \"workPosition\": null,\n      \"departmentId\": [1, 107, 47],\n      \"userType\": \"employee\"\n    },\n    {\n      \"id\": 29,\n      \"xmlId\": \"28936832\",\n      \"active\": true,\n      \"name\": \"Иван\",\n      \"lastName\": \"Петров\",\n      \"email\": \"ivan.petrov@example.com\",\n      \"departmentId\": [1],\n      \"userType\": \"employee\"\n    }\n  ],\n  \"total\": 30,\n  \"page\": 1,\n  \"limit\": 10\n}\n```\n\nПоказаны основные поля. Полный список — [Поля сотрудника](\u002Fdocs\u002Fentities\u002Fusers\u002Ffields).\n\n## Пример ответа при ошибке\n\n403 — нет скоупа:\n\n```json\n{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"SCOPE_DENIED\",\n    \"message\": \"This endpoint requires 'user' scope\"\n  }\n}\n```\n\n## Ошибки\n\n| HTTP | Код | Описание |\n|------|-----|---------|\n| 400 | `INVALID_FILTER_FIELD` | Фильтр по несуществующему полю — список полей в `GET \u002Fv1\u002Fusers\u002Ffields` |\n| 401 | `TOKEN_MISSING` | API-ключ не имеет настроенных токенов |\n| 403 | `SCOPE_DENIED` | API-ключ не имеет скоупа `user` |\n\nПолный список общих ошибок API — [Ошибки](\u002Fdocs\u002Ferrors).\n\n## Известные особенности\n\n**Семантика `filter[active]`.** `active: true` исключает деактивированных. `active: false` Битрикс24 не интерпретирует как «только деактивированные» — возвращаются все. Чтобы получить только деактивированных, просеивайте результат на стороне клиента по полю `active`.\n\n**Поля `WORK_*` и часть полей `PERSONAL_*` приходят в `UPPER_SNAKE_CASE`.** `WORK_COMPANY`, `WORK_DEPARTMENT`, `WORK_WWW`, `WORK_FAX`, `WORK_CITY`, `WORK_STATE`, `WORK_ZIP`, `WORK_COUNTRY` и аналогичные; `PERSONAL_STATE`, `PERSONAL_ZIP`, `PERSONAL_COUNTRY`, `PERSONAL_MAILBOX`, `PERSONAL_NOTES` — в оригинальных именах Битрикс24. UF-поля портала тоже сохраняют свои имена. Стандартные поля (`name`, `email`, `active`, `timeZone`, `userType`, `departmentId` и др.) — `camelCase`.\n\n**Поле `lastActivityDate` (объявлено `datetime`).** На практике приходит **пустым объектом `{}`**, либо ключ **отсутствует** вовсе — ISO-строка по этому полю в проверках не наблюдалась. `{}` — истинное значение в JS, поэтому `if (u.lastActivityDate)` ложно-срабатывает. То же у `timestampX` (всегда `{}`). Не парсьте как дату и не полагайтесь на truthy-проверку; сравнивайте тип (`typeof x === 'string'`). См. сводку по «пусто» в datetime-полях в [обзоре сущности](\u002Fdocs\u002Fentities\u002Fusers) (п. 7).\n\n## Смотрите также\n\n- [Получить сотрудника](\u002Fdocs\u002Fentities\u002Fusers\u002Fget) — один по ID\n- [Поиск сотрудников](\u002Fdocs\u002Fentities\u002Fusers\u002Fsearch) — POST с фильтрами в теле\n- [Поля сотрудника](\u002Fdocs\u002Fentities\u002Fusers\u002Ffields) — полный список полей\n- [Синтаксис фильтрации](\u002Fdocs\u002Ffiltering)\n- [Entity API](\u002Fdocs\u002Fentity-api) — order, пагинация\n- [Лимиты и оптимизация](\u002Fdocs\u002Foptimization)\n","2026-07-07",{}]