Skip to main content

GET /api/admin/users

List all users with pagination.

Query parameters

ParameterTypeDefaultDescription
pageinteger1Page number
limitinteger200Items per page (max 500)

Response

{
  "success": true,
  "data": [
    {
      "user_id": "a1b2c3d4-...",
      "full_name": "John Doe",
      "email": "john@example.com",
      "role": "user",
      "created_at": "2025-01-01T00:00:00Z",
      "last_login_at": "2025-01-15T10:00:00Z"
    }
  ],
  "count": 50,
  "total": 1250,
  "page": 1,
  "limit": 200
}

GET /api/admin/users/

Get a single user by UUID.

POST /api/admin/users

Create a new user.

Request body

{
  "full_name": "Jane Smith",
  "email": "jane@example.com",
  "role": "user"
}

PUT /api/admin/users/

Update an existing user.

Request body

{
  "full_name": "Jane Smith Updated",
  "email": "jane.new@example.com",
  "role": "admin"
}

DELETE /api/admin/users/

Delete a user by UUID.

GET /api/admin/users/search

Search users by email or role.

Query parameters

ParameterTypeDescription
emailstringPartial email match (case-insensitive)
rolestringExact role match (user, admin)
pageintegerPage number
limitintegerItems per page