Roles
Roles personalizados y permisos por empresa.
POST /api/companies/{companyId}/roles/v1
Section titled “POST /api/companies/{companyId}/roles/v1”Crear rol personalizado
Parámetros
Section titled “Parámetros”| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
companyId | string | ✅ |
Request Body (requerido ✅)
Section titled “Request Body (requerido ✅)”{ "name": "supervisor", "permissions": ["employees.view","attendance.view.all"] }Respuestas
Section titled “Respuestas”Rol creado exitosamente
{ "id": "00000000-0000-0000-0000-000000000000", "companyId": "00000000-0000-0000-0000-000000000000", "name": "name", "isPredefined": true, "permissions": [], "createdAt": "2024-01-15T10:00:00Z", "updatedAt": "2024-01-15T10:00:00Z" }GET /api/companies/{companyId}/roles/v1
Section titled “GET /api/companies/{companyId}/roles/v1”Listar roles de la empresa
Parámetros
Section titled “Parámetros”| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
companyId | string | ✅ |
Respuestas
Section titled “Respuestas”Lista de roles
{ "id": "00000000-0000-0000-0000-000000000000", "companyId": "00000000-0000-0000-0000-000000000000", "name": "name", "isPredefined": true, "permissions": [], "createdAt": "2024-01-15T10:00:00Z", "updatedAt": "2024-01-15T10:00:00Z" }PATCH /api/companies/{companyId}/roles/v1/{roleId}
Section titled “PATCH /api/companies/{companyId}/roles/v1/{roleId}”Actualizar rol
Roles predefinidos no pueden renombrarse. Los permisos se sobreescriben completamente (no se agregan).
Parámetros
Section titled “Parámetros”| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
companyId | string | ✅ | |
roleId | string | ✅ |
Request Body (requerido ✅)
Section titled “Request Body (requerido ✅)”{ "name": "name", "permissions": [] }Respuestas
Section titled “Respuestas”Rol actualizado
{ "id": "00000000-0000-0000-0000-000000000000", "companyId": "00000000-0000-0000-0000-000000000000", "name": "name", "isPredefined": true, "permissions": [], "createdAt": "2024-01-15T10:00:00Z", "updatedAt": "2024-01-15T10:00:00Z" }DELETE /api/companies/{companyId}/roles/v1/{roleId}
Section titled “DELETE /api/companies/{companyId}/roles/v1/{roleId}”Eliminar rol
Rol eliminado
Parámetros
Section titled “Parámetros”| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
companyId | string | ✅ | |
roleId | string | ✅ |
Respuestas
Section titled “Respuestas”Rol eliminado exitosamente
Schemas
Section titled “Schemas”CreateRoleRequest
Section titled “CreateRoleRequest”| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
name | string ej: “supervisor” | ✅ | |
permissions | array ej: [“employees.view”,“attendance.view.all”] | ❌ |
RoleResponse
Section titled “RoleResponse”| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
id | string (uuid) | ❌ | |
companyId | string (uuid) | ❌ | |
name | string | ❌ | |
isPredefined | boolean | ❌ | |
permissions | array | ❌ | |
createdAt | string (date-time) | ❌ | |
updatedAt | string (date-time) | ❌ |
UpdateRoleRequest
Section titled “UpdateRoleRequest”| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
name | string | ❌ | |
permissions | array | ❌ |