Overview
The Roles API provides endpoints for managing roles within the system. Roles are used to group permissions and assign them to users.List Roles
Retrieve all roles available for the current tenant.HTTP Request
GET /api/v1/identity/roles
Authorization
RequiresPermissions.Roles.View permission.
Response
Returns an array ofRoleDto objects.
Role’s unique identifier
Role name
Role description (optional)
Array of permission strings assigned to the role (optional)
Response Example
Get Role by ID
Retrieve a specific role by its unique identifier.HTTP Request
GET /api/v1/identity/roles/{id}
Authorization
RequiresPermissions.Roles.View permission.
Path Parameters
The unique identifier of the role
Response
Returns aRoleDto object with role details.
Create or Update Role
Create a new role or update an existing role’s name and description.HTTP Request
POST /api/v1/identity/roles
Authorization
RequiresPermissions.Roles.Create permission.
Request Body
Role ID. If the role exists, it will be updated; otherwise, a new role is created.
Role name (must be unique within the tenant)
Role description (optional)
Response
Returns the created or updatedRoleDto object.
Response Example
Update Role Permissions
Replace the set of permissions assigned to a role.HTTP Request
PUT /api/v1/identity/{id}/permissions
Authorization
RequiresPermissions.Roles.Update permission.
Path Parameters
The unique identifier of the role
Request Body
The ID of the role to update (must match the path parameter)
Array of permission strings to assign to the role. This replaces all existing permissions.
Response
Returns a success message string.Response Example
Error Responses
Bad Request - Role ID in path doesn’t match request body
Get Role with Permissions
Retrieve a role along with its assigned permissions.HTTP Request
GET /api/v1/identity/roles/{id}/permissions
Authorization
RequiresPermissions.Roles.View permission.
Path Parameters
The unique identifier of the role
Response
Returns aRoleDto object including the permissions array.
Delete Role
Remove an existing role by its unique identifier.HTTP Request
DELETE /api/v1/identity/roles/{id}
Authorization
RequiresPermissions.Roles.Delete permission.
Path Parameters
The unique identifier of the role to delete
Response
Returns204 No Content on successful deletion.
Notes
- System roles cannot be deleted
- Roles assigned to users may require reassignment before deletion
- Deleting a role removes all permission assignments for that role
