Skip to main content

Users

List All Users

curl -X GET "${VITE_BASE_URL}/users" \
  -H "Authorization: Bearer <token>"
Retrieves a list of all users in the system. Authentication Required: Yes

Response

data
array
Array of user objects
id
number
User unique identifier
email
string
User email address
name
string
User full name
role_id
number
Associated role ID
role
object
Role information with permissions
employee_id
number
Associated employee ID if applicable
status
string
User status (active, inactive)
last_login
string
Timestamp of last login
created_at
string
Creation timestamp
{
  "data": [
    {
      "id": 1,
      "email": "[email protected]",
      "name": "Administrator",
      "role_id": 1,
      "role": {
        "id": 1,
        "name": "Super Admin",
        "permissions": ["*"]
      },
      "employee_id": null,
      "status": "active",
      "last_login": "2024-03-03T08:30:00Z",
      "created_at": "2023-01-01T00:00:00Z"
    }
  ]
}

Delete User

curl -X DELETE "${VITE_BASE_URL}/users/5" \
  -H "Authorization: Bearer <token>"
Deletes a user account. Authentication Required: Yes

Path Parameters

id
number
required
User ID to delete

Response

message
string
Success message
{
  "message": "User deleted successfully"
}

Roles

List All Roles

curl -X GET "${VITE_BASE_URL}/roles" \
  -H "Authorization: Bearer <token>"
Retrieves a list of all roles. Authentication Required: Yes

Response

data
array
Array of role objects
id
number
Role unique identifier
name
string
Role name
description
string
Role description
permissions
array
Array of permission objects assigned to this role
users_count
number
Number of users with this role
{
  "data": [
    {
      "id": 1,
      "name": "Super Admin",
      "description": "Full system access",
      "permissions": [
        {
          "id": 1,
          "name": "users.view",
          "description": "View users"
        },
        {
          "id": 2,
          "name": "users.create",
          "description": "Create users"
        }
      ],
      "users_count": 3
    }
  ]
}

Get Role by ID

curl -X GET "${VITE_BASE_URL}/roles/1" \
  -H "Authorization: Bearer <token>"
Retrieves a single role by ID. Authentication Required: Yes

Path Parameters

id
number
required
Role ID

Response

id
number
Role unique identifier
name
string
Role name
description
string
Role description
permissions
array
Full list of permissions with details
{
  "id": 2,
  "name": "Sales Manager",
  "description": "Manage sales and clients",
  "permissions": [
    {
      "id": 10,
      "name": "clients.view",
      "description": "View clients"
    },
    {
      "id": 11,
      "name": "clients.create",
      "description": "Create clients"
    },
    {
      "id": 20,
      "name": "quotations.view",
      "description": "View quotations"
    },
    {
      "id": 21,
      "name": "quotations.create",
      "description": "Create quotations"
    }
  ]
}

Create Role

curl -X POST "${VITE_BASE_URL}/roles" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Inventory Manager",
    "description": "Manage inventory and products",
    "permissions": [10, 11, 12, 30, 31]
  }'
Creates a new role with assigned permissions. Authentication Required: Yes

Request Body

name
string
required
Role name
description
string
Role description
permissions
array
required
Array of permission IDs to assign to this role

Response

id
number
Created role ID
message
string
Success message
{
  "id": 5,
  "message": "Role created successfully"
}

Update Role

curl -X PUT "${VITE_BASE_URL}/roles/5" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Senior Inventory Manager",
    "permissions": [10, 11, 12, 13, 30, 31, 32]
  }'
Updates an existing role. Authentication Required: Yes

Path Parameters

id
number
required
Role ID to update

Request Body

Same fields as Create Role (all optional for updates)

Delete Role

curl -X DELETE "${VITE_BASE_URL}/roles/5" \
  -H "Authorization: Bearer <token>"
Deletes a role. Cannot delete if users are assigned to this role. Authentication Required: Yes

Path Parameters

id
number
required
Role ID to delete

Permissions

List All Permissions

curl -X GET "${VITE_BASE_URL}/permissions" \
  -H "Authorization: Bearer <token>"
Retrieves a list of all available permissions in the system. Authentication Required: Yes

Response

data
array
Array of permission objects
id
number
Permission unique identifier
name
string
Permission name (e.g., “users.view”, “products.create”)
description
string
Human-readable permission description
module
string
Module this permission belongs to
{
  "data": [
    {
      "id": 1,
      "name": "users.view",
      "description": "View users",
      "module": "Users"
    },
    {
      "id": 2,
      "name": "users.create",
      "description": "Create users",
      "module": "Users"
    },
    {
      "id": 10,
      "name": "products.view",
      "description": "View products",
      "module": "Products"
    }
  ]
}

Create Permission

curl -X POST "${VITE_BASE_URL}/permissions" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "reports.export",
    "description": "Export reports to PDF/Excel",
    "module": "Reports"
  }'
Creates a new permission. Authentication Required: Yes

Request Body

name
string
required
Permission name (use dot notation: module.action)
description
string
required
Human-readable description
module
string
required
Module name this permission belongs to

Response

id
number
Created permission ID
message
string
Success message

Delete Permission

curl -X DELETE "${VITE_BASE_URL}/permissions/50" \
  -H "Authorization: Bearer <token>"
Deletes a permission. Cannot delete if assigned to any role. Authentication Required: Yes

Path Parameters

id
number
required
Permission ID to delete

Build docs developers (and LLMs) love