Skip to main content

GET /api/users

Get a list of all users.

GET /api/users/:username

Get details of a specific user.

POST /api/users

Create a new user.

PUT /api/users/:username

Update an existing user.

DELETE /api/users/:username

Delete a user.

GET /api/users-stats

Get statistics about users and their server access.

Get All Users

Retrieves a list of all users in the system.
  • Endpoint: /api/users
  • Method: GET
  • Authentication: Required (Admin only)
  • Response:
    {
      "success": true,
      "data": [
        {
          "username": "admin",
          "role": "admin",
          "servers": ["server1", "server2"],
          "groups": ["group1"]
        },
        {
          "username": "user1",
          "role": "user",
          "servers": ["server1"],
          "groups": []
        }
      ]
    }
    

Get a User

Retrieves details of a specific user.
  • Endpoint: /api/users/:username
  • Method: GET
  • Authentication: Required (Admin only)
  • Parameters:
    • :username (string, required): The username of the user.
  • Response:
    {
      "success": true,
      "data": {
        "username": "user1",
        "role": "user",
        "servers": ["server1", "server2"],
        "groups": ["group1"]
      }
    }
    

Create a User

Creates a new user in the system.
  • Endpoint: /api/users
  • Method: POST
  • Authentication: Required (Admin only)
  • Body:
    {
      "username": "newuser",
      "password": "securepassword",
      "role": "user",
      "servers": ["server1"],
      "groups": ["group1"]
    }
    
    • username (string, required): The username for the new user.
    • password (string, required): The password for the new user. Must be at least 6 characters.
    • role (string, optional): The role of the user. Either "admin" or "user". Defaults to "user".
    • servers (array of strings, optional): List of server names the user has access to.
    • groups (array of strings, optional): List of group IDs the user belongs to.

Update a User

Updates an existing user’s information.
  • Endpoint: /api/users/:username
  • Method: PUT
  • Authentication: Required (Admin only)
  • Parameters:
    • :username (string, required): The username of the user to update.
  • Body:
    {
      "password": "newpassword",
      "role": "admin",
      "servers": ["server1", "server2", "server3"],
      "groups": ["group1", "group2"]
    }
    
    • password (string, optional): New password for the user.
    • role (string, optional): New role for the user.
    • servers (array of strings, optional): Updated list of accessible servers.
    • groups (array of strings, optional): Updated list of groups.

Delete a User

Removes a user from the system.
  • Endpoint: /api/users/:username
  • Method: DELETE
  • Authentication: Required (Admin only)
  • Parameters:
    • :username (string, required): The username of the user to delete.

Get User Statistics

Retrieves statistics about users and their access to servers and groups.
  • Endpoint: /api/users-stats
  • Method: GET
  • Authentication: Required (Admin only)
  • Response:
    {
      "success": true,
      "data": {
        "totalUsers": 5,
        "adminUsers": 1,
        "regularUsers": 4,
        "usersPerServer": {
          "server1": 3,
          "server2": 2
        },
        "usersPerGroup": {
          "group1": 2,
          "group2": 1
        }
      }
    }
    
Note: All user management endpoints require admin authentication.