Заголовки запроса
string
обязательно
API-токен сервисного пользователя в формате
Bearer YOUR_TOKEN. Токен выпускает владелец школы в кабинете:
Управление → Школа → Для разработчиков → API-ключи — подробнее в разделе «Аутентификация».integer
обязательно
Числовой ID продавца — аккаунта, которому принадлежит школа. Скопируйте его на странице API-ключи в
карточке «Данные для интеграции → Идентификаторы». По этому ID проверяются права токена.
integer
обязательно
Числовой ID школы, берётся там же, где
Seller-Id. Значение должно совпадать со школой продавца — иначе
вернётся ошибка 400 с cause: "ForbiddenSchoolMismatch".SchoolManageUsers).
Параметры запроса
При обновлении все поля необязательны для заполнения. Если поле необходимо удалить и оно может быть пустым — передавайте null
userId — числовой ID пользователя в Exode (поле id в ответе user/create,
user/find или user/list). Если вы храните
у себя только свой идентификатор — используйте вариант
по внешнему идентификатору extId.
Пароль этим методом изменить нельзя. Если пользователя с таким userId нет в школе из заголовка School-Id,
вернётся 401 с cause: "Forbidden" и сообщением seller not entity owner.string
Email адрес пользователя. Должен быть валидным email форматом. При передаче пустой строки — преобразуется в
null.string
Номер телефона пользователя. Должен быть в международном формате (например, +9876543210). При передаче пустой строки — преобразуется в
null.string
Доменный логин пользователя. До 65 символов: латинские буквы, цифры,
_ и точки — точка не может быть первой/последней и не может
идти подряд (автоматически приводится к нижнему
регистру). Должен быть уникальным в рамках школы. Используется для входа наряду с email и phone.integer
Telegram ID пользователя. Целое число или
null. Логином не является — используется для связи аккаунта с Telegram.string
Внешний идентификатор пользователя из вашей системы. Строка до 50 символов или
null (пустая строка сбрасывает
значение в null). Логином не является — используется только для связи с вашей CRM/LMS и поиска пользователя.enum
Статус учётной записи:
Active, OnLeave, Banned, Blocked или Terminated.Active— обычный доступ;OnLeave— «в отсутствии»: информационный статус, доступ не блокирует. Управляется автоматически модулем отсутствий — вручную устанавливать не рекомендуется;Banned— забанен: вход запрещён, активные сессии завершаются. Чтобы снять бан — передайтеActive: фактический статус пересчитается автоматически по трудоустройствам и отсутствиям (Terminated/OnLeave/Active), поэтому уволенный до бана сотрудник не получит доступ по ошибке;Blocked— заблокирован: вход запрещён, активные сессии завершаются, зачисления на продукты блокируются. Возврат вActiveвосстанавливает доступ;Terminated— уволен: доступ закрыт так же, как уBlocked. Управляется автоматически модулем трудоустройств (увольнение с последнего активного трудоустройства); при увольнении используйтеstaff/employment/terminate, а не прямую установку статуса.
Deleted зарезервирован системой (удаление аккаунта) — передать его нельзя.Булево поле
banned из запроса удалено — блокировка управляется только через status (Banned /
Blocked). В ответе поля banned и active по-прежнему присутствуют как производные от status.object
Контейнер связанных данных — как в
user/create: блок staff.employments
(массив 1–10). Только для корпоративных школ; в отличие от создания — необязателен. Трудоустройства
применяются идемпотентно: повторная передача той же активной пары департамент + должность не создаёт дубль.Через
extra в update можно только донанять сотрудника. Переводы, смена должности и увольнение —
через эндпоинты раздела Сотрудники (HR).Параметры профиля
object
Объект с данными профиля пользователя для обновления.
При обновлении пользователя можно изменить как основные данные, так и данные профиля. Если профиль не указан,
то соответственно, он остается без изменений.
Обновление пользователя по внешнему идентификатору
SchoolManageUsers).
То же самое, что и обновление по
userId, но пользователь адресуется по внешнему идентификатору extId
в рамках школы — удобно для интеграций (CRM/1С), где внутренние id Exode не хранятся. Тело запроса, ответ,
защита владельца школы и поддержка extra — идентичны обычному update.Параметры
string
обязательно
Внешний идентификатор пользователя в рамках школы. Не может содержать
/ и пробельные символы;
не-ASCII значения (кириллица и т.п.) в пути должны быть URL-encoded (encodeURIComponent).Требования к правам доступа
Для обновления пользователя требуется право «Управление пользователями школы» (
SchoolManageUsers).При установке блокирующего статуса (
Banned/Blocked/Terminated) все активные сессии пользователя
автоматически завершаются — это
реализовано для обеспечения безопасности.Обновлено: 2026-09-25 13:43 UTC