Skip to main content

Admin: Users

Manage all user accounts. Requires admin-level permissions.

Endpoints overview​

MethodEndpointPermissionDescription
GET/api/usersadmin:users:viewList all users
POST/api/usersadmin:users:createCreate a user
PUT/api/users/:idadmin:users:editUpdate a user
DELETE/api/users/:idadmin:users:deleteDelete a user

Endpoints​

List all users​

GET /api/users — Auth required, Permission: admin:users:view

Query params (optional)

ParamTypeDescription
searchstringFilter 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"
}
FieldRequired
emailyes
passwordyes
enNameyes
enSurnameyes
uaNameyes
uaSurnameyes
roleIdyes

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