API Routes Documentation

GET Requests

GET /

Fetch general information.

GET /refresh

Refresh the user's session token.

{
    "accessToken": "token",
    "user": {
        "username": "candidateUser.username",
        "roles": ["role1", "role2"],
        "id": "userID",
        "email": "candidateUser.email",
        "phone": "candidateUser.phone"
    }
}

GET /logout

Log out the user and invalidate the session.

Response: HTTP 204 No Content

GET /api/users/:id

Fetch user information by ID.

{
    "user": "user details object"
}

GET /api/users

Get all users. Restricted to Admin.

{
    "user": {
        "username": "user.username",
        "roles": ["role1", "role2"],
        "id": "userID",
        "email": "user.email",
        "phone": "user.phone"
    }
}

POST Requests

POST /auth

Authenticate user and generate a token.

{
    "accessToken": "token",
    "user": {
        "username": "candidateUser.username",
        "roles": ["role1", "role2"],
        "id": "userID",
        "email": "candidateUser.email",
        "phone": "candidateUser.phone"
    }
}

POST /register

Register a new user.

{
    "success": "User username created",
    "message": "Registration completed"
}

POST /api/users

Create a new user. Restricted to Admin.

PUT Requests

PUT /api/users/:id

Update a user's information by ID.

PUT /api/users

Update user information. Restricted to Admin.

DELETE Requests

DELETE /api/users/:id

Delete a user by ID.

DELETE /api/users

Delete a user. Restricted to Admin.