This guide provides detailed information about managing user roles through our API. Roles define permissions and access levels for users within the system. For security, always validate role permissions before granting access.
📌 Endpoints Overview
GET /api/user-roles
Retrieve all available roles
⚠️ Requiressystem_admin
scopePOST /api/user-roles
Create a new role
✅ Example payload:{ "name": "developer", "description": "API access with limited permissions", "permissions": ["read_data", "write_logs"] }
PUT /api/user-roles/{id}
Update an existing role
🔄 Supported fields:name
,description
,permissions
DELETE /api/user-roles/{id}
Remove a role
⚠️ Will cascade delete associated users
📊 Response Examples
Status Code | Description | Example Payload |
---|---|---|
200 OK | Role details | {"id": 1, "name": "admin"} |
201 Created | New role successfully | {"message": "Role created", "role_id": 42} |
204 No Content | Role deleted | - |
400 Bad Request | Invalid input | {"error": "Missing required field 'name'"} |
🔐 Role Permissions Matrix
admin
🚀 Full access to all system features- Create users
- Manage roles
- View audit logs
editor
✏️ Limited editing capabilities- Update user profiles
- Modify role permissions
viewer
👁️ Read-only access- View user lists
- Check role assignments
📚 Related Documentation
For deeper insights into role-based access control:
Learn about RBAC implementation
View role permission categories