Skip to Content
Справочник APIAPI пользователей

API пользователей

Эндпоинты для управления пользователями в системе.

Получение списка пользователей

Получение полного списка пользователей.

Запрос

GET /api/users

Заголовки

НазваниеТипОписание
X-API-KeystringОбязательный. API ключ

Параметры запроса

НазваниеТипОписание
pageintegerНеобязательный. Номер страницы (по умолчанию: 1)
per_pageintegerНеобязательный. Количество записей на странице (по умолчанию: 20)

Ответ

{ "users": [ { "id": 1, "username": "admin", "email": "[email protected]", "created_at": "2023-01-01T00:00:00Z", "status": "active" }, { "id": 2, "username": "user1", "email": "[email protected]", "created_at": "2023-01-02T00:00:00Z", "status": "active" } ] }

Поля ответа

ПолеТипОписание
usersarrayМассив пользователей
idintegerID пользователя
usernamestringИмя пользователя
emailstringEmail пользователя
created_atstringДата создания
statusstringСтатус пользователя

Коды ответов

КодОписание
200Успешный запрос
401Неверный API ключ или отсутствует
403Недостаточно прав для выполнения запроса

Получение данных пользователя

Получение детальной информации о конкретном пользователе.

Запрос

GET /api/users/{id}

Параметры пути

НазваниеТипОписание
idintegerID пользователя

Заголовки

НазваниеТипОписание
X-API-KeystringОбязательный. API ключ

Ответ

{ "user": { "id": 1, "username": "admin", "email": "[email protected]", "created_at": "2023-01-01T00:00:00Z", "updated_at": "2023-01-10T00:00:00Z", "status": "active", "roles": [ { "id": 1, "name": "admin", "description": "Администратор" } ] } }

Поля ответа

ПолеТипОписание
userobjectОбъект пользователя
idintegerID пользователя
usernamestringИмя пользователя
emailstringEmail пользователя
created_atstringДата создания
updated_atstringДата обновления
statusstringСтатус пользователя
rolesarrayМассив ролей пользователя

Коды ответов

КодОписание
200Успешный запрос
401Неверный API ключ или отсутствует
403Недостаточно прав для выполнения запроса
404Пользователь не найден

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

Создание нового пользователя в системе.

Запрос

POST /api/users

Заголовки

НазваниеТипОписание
X-API-KeystringОбязательный. API ключ
Content-TypestringОбязательный. application/json

Тело запроса

{ "username": "newuser", "email": "[email protected]", "password": "securepassword", "role_ids": [2] }

Параметры тела запроса

НазваниеТипОписание
usernamestringОбязательный. Имя пользователя
emailstringОбязательный. Email пользователя
passwordstringОбязательный. Пароль пользователя
role_idsarrayНеобязательный. ID ролей пользователя

Ответ

{ "message": "User created successfully", "user": { "id": 3, "username": "newuser", "email": "[email protected]", "created_at": "2023-03-15T12:00:00Z", "status": "active" } }

Коды ответов

КодОписание
201Пользователь успешно создан
401Неверный API ключ или отсутствует
403Недостаточно прав для выполнения запроса
422Неверные параметры запроса

Обновление пользователя

Обновление данных существующего пользователя.

Запрос

PUT /api/users/{id}

Параметры пути

НазваниеТипОписание
idintegerID пользователя

Заголовки

НазваниеТипОписание
X-API-KeystringОбязательный. API ключ
Content-TypestringОбязательный. application/json

Тело запроса

{ "username": "updateduser", "email": "[email protected]", "password": "newsecurepassword", "status": "active" }

Параметры тела запроса

НазваниеТипОписание
usernamestringНеобязательный. Имя пользователя
emailstringНеобязательный. Email пользователя
passwordstringНеобязательный. Пароль пользователя
statusstringНеобязательный. Статус пользователя

Ответ

{ "message": "User updated successfully", "user": { "id": 3, "username": "updateduser", "email": "[email protected]", "created_at": "2023-03-15T12:00:00Z", "updated_at": "2023-03-16T14:30:00Z", "status": "active" } }

Коды ответов

КодОписание
200Пользователь успешно обновлен
401Неверный API ключ или отсутствует
403Недостаточно прав для выполнения запроса
404Пользователь не найден
422Неверные параметры запроса

Блокировка пользователя

Блокировка пользователя в системе.

Запрос

POST /api/users/{id}/block

Параметры пути

НазваниеТипОписание
idintegerID пользователя

Заголовки

НазваниеТипОписание
X-API-KeystringОбязательный. API ключ
Content-TypestringОбязательный. application/json

Тело запроса

{ "reason": "Нарушение правил сайта", "until": "2023-04-15T00:00:00Z" }

Параметры тела запроса

НазваниеТипОписание
reasonstringНеобязательный. Причина блокировки
untilstringНеобязательный. Дата окончания блокировки (ISO 8601)

Ответ

{ "message": "User blocked successfully" }

Коды ответов

КодОписание
200Пользователь успешно заблокирован
401Неверный API ключ или отсутствует
403Недостаточно прав для выполнения запроса
404Пользователь не найден
422Неверные параметры запроса

Разблокировка пользователя

Разблокировка ранее заблокированного пользователя.

Запрос

POST /api/users/{id}/unblock

Параметры пути

НазваниеТипОписание
idintegerID пользователя

Заголовки

НазваниеТипОписание
X-API-KeystringОбязательный. API ключ

Ответ

{ "message": "User unblocked successfully" }

Коды ответов

КодОписание
200Пользователь успешно разблокирован
401Неверный API ключ или отсутствует
403Недостаточно прав для выполнения запроса
404Пользователь не найден

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

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

Запрос

PUT /api/users/{id}/roles

Параметры пути

НазваниеТипОписание
idintegerID пользователя

Заголовки

НазваниеТипОписание
X-API-KeystringОбязательный. API ключ
Content-TypestringОбязательный. application/json

Тело запроса

{ "role_ids": [1, 2, 3] }

Параметры тела запроса

НазваниеТипОписание
role_idsarrayОбязательный. Массив ID ролей

Ответ

{ "message": "User roles updated successfully", "user": { "id": 3, "username": "user3", "email": "[email protected]", "roles": [ { "id": 1, "name": "admin", "description": "Администратор" }, { "id": 2, "name": "moderator", "description": "Модератор" }, { "id": 3, "name": "user", "description": "Пользователь" } ] } }

Коды ответов

КодОписание
200Роли пользователя успешно обновлены
401Неверный API ключ или отсутствует
403Недостаточно прав для выполнения запроса
404Пользователь не найден
422Неверные параметры запроса

Получение социальных сетей пользователя

Получение списка привязанных социальных сетей пользователя.

Запрос

GET /api/users/{id}/social-networks

Параметры пути

НазваниеТипОписание
idintegerID пользователя

Заголовки

НазваниеТипОписание
X-API-KeystringОбязательный. API ключ

Ответ

{ "social_networks": [ { "id": 1, "network": "vk", "profile_url": "https://vk.com/username" }, { "id": 2, "network": "telegram", "profile_url": "@username" } ] }

Коды ответов

КодОписание
200Успешный запрос
401Неверный API ключ или отсутствует
403Недостаточно прав для выполнения запроса
404Пользователь не найден

Добавление социальной сети пользователю

Добавление новой привязки социальной сети пользователю.

Запрос

POST /api/users/{id}/social-networks

Параметры пути

НазваниеТипОписание
idintegerID пользователя

Заголовки

НазваниеТипОписание
X-API-KeystringОбязательный. API ключ
Content-TypestringОбязательный. application/json

Тело запроса

{ "network_id": 1, "profile_url": "https://vk.com/new_username" }

Параметры тела запроса

НазваниеТипОписание
network_idintegerОбязательный. ID социальной сети
profile_urlstringОбязательный. URL профиля или username

Ответ

{ "message": "Social network added successfully", "social_network": { "id": 3, "network": "vk", "profile_url": "https://vk.com/new_username" } }

Коды ответов

КодОписание
201Социальная сеть успешно добавлена
401Неверный API ключ или отсутствует
403Недостаточно прав для выполнения запроса
404Пользователь не найден
422Неверные параметры запроса

Удаление социальной сети пользователя

Удаление привязки социальной сети у пользователя.

Запрос

DELETE /api/users/{userId}/social-networks/{networkId}

Параметры пути

НазваниеТипОписание
userIdintegerID пользователя
networkIdintegerID привязки социальной сети

Заголовки

НазваниеТипОписание
X-API-KeystringОбязательный. API ключ

Ответ

{ "message": "Social network removed successfully" }

Коды ответов

КодОписание
200Социальная сеть успешно удалена
401Неверный API ключ или отсутствует
403Недостаточно прав для выполнения запроса
404Пользователь или привязка сети не найдены

Получение устройств пользователя

Получение списка устройств пользователя.

Запрос

GET /api/users/{id}/devices

Параметры пути

НазваниеТипОписание
idintegerID пользователя

Заголовки

НазваниеТипОписание
X-API-KeystringОбязательный. API ключ

Ответ

{ "devices": [ { "id": 1, "name": "Chrome on Windows", "last_active": "2023-03-15T12:00:00Z", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36" }, { "id": 2, "name": "Firefox on MacOS", "last_active": "2023-03-10T14:30:00Z", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:109.0) Gecko/20100101 Firefox/111.0" } ] }

Коды ответов

КодОписание
200Успешный запрос
401Неверный API ключ или отсутствует
403Недостаточно прав для выполнения запроса
404Пользователь не найден

Удаление устройства пользователя

Удаление устройства и связанной с ним сессии пользователя.

Запрос

DELETE /api/users/{userId}/devices/{deviceId}

Параметры пути

НазваниеТипОписание
userIdintegerID пользователя
deviceIdintegerID устройства

Заголовки

НазваниеТипОписание
X-API-KeystringОбязательный. API ключ

Ответ

{ "message": "Device removed successfully" }

Коды ответов

КодОписание
200Устройство успешно удалено
401Неверный API ключ или отсутствует
403Недостаточно прав для выполнения запроса
404Пользователь или устройство не найдены

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

Поиск пользователей по имени или email.

Запрос

GET /api/users/search

Заголовки

НазваниеТипОписание
X-API-KeystringОбязательный. API ключ

Параметры запроса

НазваниеТипОписание
qstringОбязательный. Поисковый запрос (мин. 3 символа)

Ответ

{ "users": [ { "id": 1, "username": "admin", "email": "[email protected]", "created_at": "2023-01-01T00:00:00Z", "status": "active" }, { "id": 5, "username": "administrator", "email": "[email protected]", "created_at": "2023-01-05T00:00:00Z", "status": "active" } ] }

Коды ответов

КодОписание
200Успешный запрос
401Неверный API ключ или отсутствует
403Недостаточно прав для выполнения запроса
422Неверные параметры запроса (слишком короткий запрос)