Admin: Users
Manage all user accounts. Requires admin-level permissions.
Endpoints overview​
| Method | Endpoint | Permission | Description |
|---|---|---|---|
GET | /api/users | admin:users:view | List all users |
POST | /api/users | admin:users:create | Create a user |
PUT | /api/users/:id | admin:users:edit | Update a user |
DELETE | /api/users/:id | admin:users:delete | Delete a user |
Endpoints​
List all users​
GET /api/users — Auth required, Permission: admin:users:view
Query params (optional)
| Param | Type | Description |
|---|---|---|
search | string | Filter by name or email |
Response — 200
[
{
"id": "user-uuid-001",
"email": "jane@example.com",
"enName": "Jane",
"enSurname": "Smith",
"uaName": "Джейн",
"uaSurname": "Сміт",
"roleId": "role-uuid-001",
"role": "Editor",
"avatarUrl": null,
"createdAt": "2025-01-10T09:00:00.000Z",
"permissions": [
{ "name": "episode:create", "scope": "global" }
]
}
]
Create user​
POST /api/users — Auth required, Permission: admin:users:create
Request body
{
"email": "john@example.com",
"password": "temporary_password_123",
"enName": "John",
"enSurname": "Doe",
"uaName": "Джон",
"uaSurname": "Доу",
"roleId": "role-uuid-002"
}
| Field | Required |
|---|---|
email | yes |
password | yes |
enName | yes |
enSurname | yes |
uaName | yes |
uaSurname | yes |
roleId | yes |
Response — 201 — created user object (same shape as list item)
Update user​
PUT /api/users/:id — Auth required, Permission: admin:users:edit
Request body (all fields optional)
{
"enName": "John",
"enSurname": "Doe",
"uaName": "Джон",
"uaSurname": "Доу",
"roleId": "role-uuid-003"
}
Response — 200 — updated user object
Delete user​
DELETE /api/users/:id — Auth required, Permission: admin:users:delete
Response — 204