[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"docs-entities\u002Fusers\u002Fdelete":3,"docs-tabs-entities\u002Fusers\u002Fdelete":6},{"content":4,"lastmod":5},"\n## Деактивировать сотрудника\n\n`DELETE \u002Fv1\u002Fusers\u002F:id`\n\nДеактивирует сотрудника — снимает доступ к порталу, но сохраняет всю запись и её связи. Эндпоинт маппится на обновление поля активности (`active: false`); все данные и история действий остаются в Битрикс24. Восстановить доступ — `PATCH \u002Fv1\u002Fusers\u002F:id { active: true }`. Требует прав администратора портала.\n\n## Параметры\n\n| Параметр | Тип | Обяз. | Описание |\n|----------|-----|:-----:|---------|\n| `id` (path) | number | да | ID сотрудника |\n\n## Примеры\n\n### curl — личный ключ\n\n```bash\ncurl -X DELETE \"https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Fusers\u002F1331\" \\\n  -H \"X-Api-Key: YOUR_API_KEY\"\n```\n\n### curl — OAuth-приложение\n\n```bash\ncurl -X DELETE \"https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Fusers\u002F1331\" \\\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\u002F1331', {\n  method: 'DELETE',\n  headers: {\n    'X-Api-Key': 'YOUR_API_KEY',\n  },\n})\n\nconst { success, data } = await res.json()\nif (success && data.deactivated) {\n  console.log(`Сотрудник ${data.id} деактивирован`)\n}\n```\n\n### JavaScript — OAuth-приложение\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Fusers\u002F1331', {\n  method: 'DELETE',\n  headers: {\n    'X-Api-Key': 'YOUR_APP_KEY',\n    'Authorization': 'Bearer USER_SESSION_TOKEN',\n  },\n})\n\nconst { success, data } = await res.json()\n```\n\n## Поля ответа\n\n| Поле | Тип | Описание |\n|------|-----|---------|\n| `success` | boolean | Всегда `true` при успешной деактивации |\n| `data.id` | number | ID деактивированного сотрудника |\n| `data.active` | boolean | Всегда `false` после деактивации |\n| `data.deactivated` | boolean | Всегда `true` — явный маркер семантики операции |\n| `data.user` | object | Полная запись сотрудника после деактивации (best-effort: если повторное чтение записи не сработало, поле может отсутствовать — деактивация всё равно выполнена) |\n\n## Пример ответа\n\n```json\n{\n  \"success\": true,\n  \"data\": {\n    \"id\": 1331,\n    \"active\": false,\n    \"deactivated\": true,\n    \"user\": {\n      \"id\": 1331,\n      \"name\": \"Иван\",\n      \"lastName\": \"Петров\",\n      \"email\": \"ivan.petrov@example.com\",\n      \"active\": false,\n      \"workPosition\": \"Менеджер\",\n      \"departmentId\": [1],\n      \"userType\": \"employee\"\n    }\n  }\n}\n```\n\n## Пример ответа при ошибке\n\n403 — у владельца ключа нет прав администратора портала:\n\n```json\n{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"UPDATE_FAILED\",\n    \"message\": \"Bitrix24 rejected user.update for deactivation (result: false)\",\n    \"hint\": \"Bitrix24 returns false when the calling user lacks portal admin rights, or when the target user id does not exist. Verify the webhook\u002FOAuth identity is a portal admin.\"\n  }\n}\n```\n\n## Ошибки\n\n| HTTP | Код | Описание |\n|------|-----|---------|\n| 400 | `INVALID_ID` | `:id` не является положительным целым числом |\n| 401 | `TOKEN_MISSING` | API-ключ не имеет настроенных токенов |\n| 403 | `SCOPE_DENIED` | API-ключ не имеет скоупа `user` |\n| 403 | `UPDATE_FAILED` | Битрикс24 вернул `result: false`. Чаще всего — нет прав администратора портала; реже — сотрудника с таким ID не существует |\n\nПолный список общих ошибок API — [Ошибки](\u002Fdocs\u002Ferrors).\n\n## Известные особенности\n\n**Связи остаются.** После деактивации сотрудник продолжает значиться ответственным за сделки, автором комментариев, участником чатов. Email остаётся занятым — повторно использовать его при создании нового сотрудника не получится без предварительной реактивации существующего: [`PATCH \u002Fv1\u002Fusers\u002F:id { active: true }`](\u002Fdocs\u002Fentities\u002Fusers\u002Fupdate).\n\n**Best-effort повторное чтение записи.** Вайбкод пытается получить актуальную запись после успешной деактивации и кладёт её в `data.user`. Если вспомогательный вызов упал — поле отсутствует, но сама деактивация уже произведена и подтверждена. Повторный [`GET \u002Fv1\u002Fusers\u002F:id`](\u002Fdocs\u002Fentities\u002Fusers\u002Fget) подгрузит запись с `active: false`.\n\n## Смотрите также\n\n- [Обновить сотрудника](\u002Fdocs\u002Fentities\u002Fusers\u002Fupdate) — реактивация через `active: true`\n- [Список сотрудников](\u002Fdocs\u002Fentities\u002Fusers\u002Flist) — поиск перед деактивацией\n- [Получить сотрудника](\u002Fdocs\u002Fentities\u002Fusers\u002Fget) — проверить, что запись доступна\n- [Лимиты и оптимизация](\u002Fdocs\u002Foptimization)\n","2026-07-07",{}]