Roles
Description
Overview
The Roles API provides role-based access control (RBAC) functionality:
- Role management
- User-role assignments
- Permission management
- Access control
Core Concepts
A user can have multiple roles. A role can have multiple users. each customer entry can have several own roles.
Roles
- Administrator
- Standard User
- Custom roles
Endpoints
Role Management
Create Role
POST /v1/roles
Create a new role.
Request Body:
{
"name": "manager",
"description": "Department manager role",
"active": true
}Get Role
GET /v1/roles/{role_id}
Get role details.
Update Role
PUT /v1/roles/{role_id}
Update role details.
Request Body:
{
"name": "team_lead",
"description": "Updated description for role",
"active": false
}Delete Role
DELETE /v1/roles/{role_id}
Delete a role.
User-Role Management
Assign Role
POST /v1/user-roles
Create a user-role link.
Request Body:
{
"user_id": "123e4567-e89b-12d3-a456-426614174000",
"role_id": "123e4567-e89b-12d3-a456-426614174001"
}Remove Role
DELETE /v1/user-roles/{id}
Remove role from user.
Error Codes
| Code | Description |
|---|---|
| common.failed_to_serialize | Failed to serialize input |
| common.invalid_id | Invalid ID |
| roles_m.role_name_cannot_be_empty | Role name cannot be empty |
| roles_m.user_role_already_exists | User role already exists |
| roles_m.invalid_role_id | Invalid role ID |
| roles_m.invalid_role_name | Invalid role name |
| roles_m.role_not_found | Role not found |
| roles_m.failed_to_get_roles | Failed to retrieve roles |
| roles_m.failed_to_check_permission | Failed to check permission |
| roles_m.database_error | Database error |
| roles_m.record_not_found | Record not found |
| roles_m.failed_to_get_user_roles | Failed to get user roles |
| roles_m.failed_to_fetch_permissions | Failed to fetch permissions |
| roles_m.failed_to_get_record_type | Failed to get record type |
| roles_m.role_not_found_in_config | Role not found in configuration |