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

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

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

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

Параметры:
Параметр Тип Описание Обязательный
email 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 Фамилия
email string Email
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 пользователя.

Параметры:
Параметр Тип Описание Обязательный
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": "Разработчик"}'