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
Array of user objectsRole information with permissions
Associated employee ID if applicable
User status (active, inactive)
{
"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
Response
{
"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
Array of role objectsArray of permission objects assigned to this role
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
Response
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
Array of permission IDs to assign to this role
Response
{
"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
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
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
Array of permission objectsPermission unique identifier
Permission name (e.g., “users.view”, “products.create”)
Human-readable permission description
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
Permission name (use dot notation: module.action)
Human-readable description
Module name this permission belongs to
Response
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