Перейти к содержанию

Пользователи

Управление учётными записями школы. Все методы доступны только роли school_admin, остальным - 403. Ответы содержат объект «Пользователь» (раздел «Авторизация»). Первого директора школы создаёт администратор Wonk.

Список пользователей

Возвращает учётные записи школы, новые первыми.

Запрос: GET {API_URL}/v1/users, авторизация - токен school_admin.

Параметр Тип Описание
role string В строке запроса: teacher или school_admin
page, page_size integer В строке запроса: пагинация

Ответ 200: страница с items - объектами «Пользователь».

{"items": [{"id": "0b6f...", "email": "teacher@school.kz", "external_id": null, "first_name": "Дана", "last_name": "Сеитова", "role": "teacher", "is_active": true, "created_at": "2026-11-10T10:00:00Z"}], "total": 1, "page": 1, "page_size": 20}

Создание пользователя

Создаёт учётную запись с паролем.

Запрос: POST {API_URL}/v1/users, авторизация - токен school_admin.

Параметр Тип Описание
email* string Email; хранится в нижнем регистре, уникален
password* string Пароль, 8-128 символов
first_name* string Имя, 1-255 символов
last_name* string Фамилия, 1-255 символов
role string teacher (по умолчанию) или school_admin
{"email": "teacher@school.kz", "password": "secret123", "first_name": "Дана", "last_name": "Сеитова", "role": "teacher"}

Ответ 201: объект «Пользователь».

Код ошибки Когда
409 Email уже занят
422 Неверные поля

Пользователь

Возвращает одну учётную запись.

Запрос: GET {API_URL}/v1/users/{user_id}, авторизация - токен school_admin.

Ответ 200: объект «Пользователь».

Код ошибки Когда
404 Учётной записи нет

Изменение пользователя

Меняет переданные поля, остальные не трогает. Сброс пароля - передать password, отключение - "is_active": false; удаления нет.

Запрос: PATCH {API_URL}/v1/users/{user_id}, авторизация - токен school_admin.

Параметр Тип Описание
email string Новый email
password string Новый пароль, 8-128 символов
first_name, last_name string Имя и фамилия, 1-255 символов
role string teacher или school_admin
is_active boolean false отключает учётную запись
{"password": "reset-password-1", "is_active": true}

Ответ 200: объект «Пользователь».

Код ошибки Когда
404 Учётной записи нет
409 Email занят, или попытка отключить себя или сменить себе роль
422 Неверные поля