Skip to main content

Overview

Roles group permissions together and can be assigned to users. This provides a centralized way to manage access control across your organization.

List Roles

Retrieve all available roles.

Endpoint

GET /roles

Response

data
array
message
string
Success message: “Roles recuperados”

Example Request

cURL
curl -X GET http://localhost:8081/comialex/api/integra/roles \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"

Example Response

{
  "data": [
    {
      "id": 1,
      "nombre": "Administrador",
      "descripcion": "Acceso completo al sistema"
    },
    {
      "id": 2,
      "nombre": "Supervisor",
      "descripcion": "Gestión de empleados y reportes"
    },
    {
      "id": 3,
      "nombre": "Empleado",
      "descripcion": "Acceso básico para registro de asistencia"
    }
  ],
  "message": "Roles recuperados",
  "success": true
}

Create Role

Create a new role.

Endpoint

POST /roles

Request Body

nombre
string
required
Role name
descripcion
string
Role description

Response

data
object
The newly created role object
message
string
Success message: “Rol agregado”

Example Request

cURL
curl -X POST http://localhost:8081/comialex/api/integra/roles \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "nombre": "Gerente de RH",
    "descripcion": "Gestión completa de recursos humanos"
  }'

Example Response

{
  "data": {
    "id": 4,
    "nombre": "Gerente de RH",
    "descripcion": "Gestión completa de recursos humanos"
  },
  "message": "Rol agregado",
  "success": true
}

Get Role with Permissions

Retrieve a role along with its assigned permissions.

Endpoint

GET /roles/{id}/permisos

Path Parameters

id
integer
required
Role ID

Response

data
object
message
string
Success message: “Rol con permisos”

Example Request

cURL
curl -X GET http://localhost:8081/comialex/api/integra/roles/1/permisos \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"

Example Response

{
  "data": {
    "id": 1,
    "nombre": "Administrador",
    "descripcion": "Acceso completo al sistema",
    "permisos": [
      {
        "id": 1,
        "codigo": "asistencia.ver",
        "nombre": "Ver asistencias"
      },
      {
        "id": 2,
        "codigo": "asistencia.registrar",
        "nombre": "Registrar asistencias"
      },
      {
        "id": 3,
        "codigo": "empleados.ver",
        "nombre": "Ver empleados"
      }
    ]
  },
  "message": "Rol con permisos",
  "success": true
}

Update Role

Update role details (name and description).

Endpoint

PATCH /roles/actualizar

Request Body

id
integer
required
Role ID to update
nombre
string
New role name
descripcion
string
New role description

Response

data
null
No data returned on success
message
string
Success message: “Rol actualizado”

Example Request

cURL
curl -X PATCH http://localhost:8081/comialex/api/integra/roles/actualizar \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "id": 4,
    "nombre": "Gerente de Recursos Humanos",
    "descripcion": "Gestión completa de RH y nómina"
  }'

Update Role Permissions

Update the permissions assigned to a role.

Endpoint

PUT /roles/permisos

Request Body

rolId
integer
required
Role ID
permisos
array
required
Array of permission IDs or codes to assign to this role

Response

data
null
No data returned on success
message
string
Success message: “Permisos actualizados”

Example Request

cURL
curl -X PUT http://localhost:8081/comialex/api/integra/roles/permisos \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "rolId": 4,
    "permisos": [1, 2, 3, 5, 7]
  }'
Updating role permissions affects all users assigned to that role. Changes take effect on their next authentication or token refresh.

Delete Role

Delete a role from the system.

Endpoint

DELETE /roles/{id}

Path Parameters

id
integer
required
Role ID to delete

Response

data
boolean
Returns true on success
message
string
Success message: “Rol eliminado”

Example Request

cURL
curl -X DELETE http://localhost:8081/comialex/api/integra/roles/4 \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"
Deleting a role that is assigned to users may cause access issues. Ensure users are reassigned to other roles before deletion.

Build docs developers (and LLMs) love