Admin endpoints are under /api/admin/. These require Super Admin role.

Overview

EndpointMethodDescription
/api/admin/usersGETList all users
/api/admin/users/:id/statusPUTActivate or deactivate a user

Endpoints

List All Users

Retrieve a list of all registered users.

GET /api/admin/users

Headers: Authorization: Bearer <accessToken>

Required Role: Super Admin

Response (200):

{
  "users": [
    {
      "id": "uuid",
      "email": "user@example.com",
      "name": "John Doe",
      "avatar": "https://...",
      "role": "user",
      "provider": "email",
      "isActive": true,
      "createdAt": "2025-01-15T10:30:00Z"
    },
    {
      "id": "uuid-2",
      "email": "admin@example.com",
      "name": "Admin User",
      "role": "admin",
      "provider": "email",
      "isActive": true,
      "createdAt": "2025-01-10T08:00:00Z"
    }
  ]
}

Update User Status

Activate or deactivate a user account. Deactivated users cannot log in.

PUT /api/admin/users/:id/status

Headers: Authorization: Bearer <accessToken>

Required Role: Super Admin

URL Parameters:

ParameterDescription
idUser UUID

Request Body:

{
  "isActive": false
}

Response (200):

{
  "message": "user status updated",
  "user": {
    "id": "uuid",
    "email": "user@example.com",
    "isActive": false
  }
}

User Roles

RoleDescriptionPermissions
guestTemporary userJoin rooms only
userRegular userCreate/join rooms, manage own profile
adminSuper AdminAll user permissions + manage users, view all rooms

Creating an Admin

Admin users are created via the CLI:

# Create a user
bedrud user create --email "admin@example.com" --password "securepassword" --name "Admin"
 
# Promote to admin
bedrud user promote --email "admin@example.com"

There is no API endpoint to promote users - this is intentional for security.


Error Responses

{
  "error": "forbidden"
}
StatusMeaning
401Not authenticated
403Not a Super Admin
404User not found
500Internal server error

See also