Пользователи
Эндпоинты для управления пользователями.
GET
/v1/users
Admin
Получить список всех пользователей (только для администраторов).
Параметры:
| Параметр | Тип | Описание |
|---|---|---|
| limit | integer | Количество записей (по умолчанию 20) |
| offset | integer | Сдвиг для пагинации |
Пример запроса:
curl -X GET "https://api.neoswift.site/v1/users?limit=10&offset=0" \
-H "Authorization: Bearer YOUR_TOKEN"
GET
/v1/users/{id}
Protected
Получить информацию о пользователе по ID.
Параметры:
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| id | integer | ID пользователя | Да |
Пример запроса:
curl -X GET "https://api.neoswift.site/v1/users/1" \
-H "Authorization: Bearer YOUR_TOKEN"
POST
/v1/users
Admin
Создать нового пользователя (только для администраторов).
Параметры:
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| string | Email пользователя | Да | |
| first_name | string | Имя | Да |
| last_name | string | Фамилия | Да |
| password | string | Пароль (минимум 6 символов) | Да |
| role | string | Роль (user, admin, moderator) | Нет |
Пример запроса:
curl -X POST "https://api.neoswift.site/v1/users" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"email": "new@example.com", "first_name": "Петр", "last_name": "Петров", "password": "123456"}'
PUT
/v1/users/{id}
Admin
Обновить данные пользователя (только для администраторов).
Параметры:
| Параметр | Тип | Описание |
|---|---|---|
| first_name | string | Имя |
| last_name | string | Фамилия |
| string | ||
| role | string | Роль |
| status | enum | Статус (active, banned, pending) |
Пример запроса:
curl -X PUT "https://api.neoswift.site/v1/users/1" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"first_name": "Иван"}'
DELETE
/v1/users/{id}
Admin
Удалить пользователя по ID (только для администраторов).
Параметры:
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| id | integer | ID пользователя | Да |
Пример запроса:
curl -X DELETE "https://api.neoswift.site/v1/users/1" \
-H "Authorization: Bearer YOUR_TOKEN"
POST
/v1/users?action=avatar
Profile
Смена аватара пользователя (URL или base64).
Параметры:
| Параметр | Тип | Описание |
|---|---|---|
| avatar_url | string | URL аватара |
| avatar_base64 | string | Аватар в формате base64 |
Пример запроса:
curl -X POST "https://api.neoswift.site/v1/users?action=avatar" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"avatar_url": "https://example.com/avatar.jpg"}'
POST
/v1/users?action=password
Profile
Смена пароля пользователя.
Параметры:
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| old_password | string | Старый пароль | Да |
| new_password | string | Новый пароль | Да |
Пример запроса:
curl -X POST "https://api.neoswift.site/v1/users?action=password" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"old_password": "old123", "new_password": "new123456"}'
POST
/v1/users?action=email
Profile
Смена email пользователя.
Параметры:
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| string | Новый email | Да |
Пример запроса:
curl -X POST "https://api.neoswift.site/v1/users?action=email" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"email": "newemail@example.com"}'
POST
/v1/users?action=profile
Profile
Обновление профиля (имя, фамилия, био, телефон).
Параметры:
| Параметр | Тип | Описание |
|---|---|---|
| first_name | string | Имя |
| last_name | string | Фамилия |
| bio | string | Биография |
| phone | string | Телефон |
Пример запроса:
curl -X POST "https://api.neoswift.site/v1/users?action=profile" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"first_name": "Иван", "last_name": "Петров", "bio": "Разработчик"}'