Skip to content

API de Nóminas

Endpoints para gestión de nóminas.

Listar nóminas

http
GET /api/v1/payroll
Authorization: Bearer <token>

Roles: ADMIN, MANAGER

Búsqueda paginada

http
GET /api/v1/payroll/search?page=0&size=10&sortBy=payrollDate&sortDirection=desc
Authorization: Bearer <token>

Roles: ADMIN, MANAGER, USER

Parámetros

ParámetroTipoDefaultDescripción
pagenumber0Número de página
sizenumber10Items por página
sortBystringpayrollDateCampo de ordenación
sortDirectionstringdescDirección (asc/desc)
searchstring-Búsqueda general
employeeIdnumber-Filtro por empleado
userIdnumber-Filtro por usuario (expenseUserId)
minAmountnumber-Importe mínimo
maxAmountnumber-Importe máximo
startDatedatetime-Fecha inicial (ISO 8601)
endDatedatetime-Fecha final (ISO 8601)

Response (200)

json
{
  "content": [
    {
      "id": 1,
      "amount": 4700.00,
      "payrollDate": "2026-01-31T00:00:00",
      "employeeId": 1,
      "expenseUserId": null
    }
  ],
  "page": 0,
  "size": 10,
  "totalElements": 12,
  "totalPages": 2
}

Mis nóminas

http
GET /api/v1/payroll/my
Authorization: Bearer <token>

Roles: Todos (devuelve nóminas del empleado vinculado al usuario)

Obtener nómina por ID

http
GET /api/v1/payroll/{payrollId}
Authorization: Bearer <token>

Roles: ADMIN, MANAGER, USER

Listar nóminas por empleado

http
GET /api/v1/payroll/employee/{employeeId}
Authorization: Bearer <token>

Roles: ADMIN, MANAGER, USER

Listar nóminas por usuario

http
GET /api/v1/payroll/user/{expenseUserId}
Authorization: Bearer <token>

Roles: ADMIN, MANAGER, USER

Crear nómina

http
POST /api/v1/payroll/
Authorization: Bearer <token>
Content-Type: application/json

{
  "employeeId": 1,
  "payrollDate": "2026-02-28T00:00:00",
  "amount": 4700.00
}

Roles: ADMIN

Campos opcionales

También puedes especificar expenseUserId en lugar de employeeId para nóminas de freelancers o usuarios sin empleado asociado.

Actualizar nómina

http
PUT /api/v1/payroll/{id}
Authorization: Bearer <token>
Content-Type: application/json

{
  "amount": 5000.00,
  "payrollDate": "2026-02-28T00:00:00"
}

Roles: ADMIN

Notificación automática

Al crear, actualizar o eliminar una nómina, el empleado o usuario asociado recibe una notificación automática.

Eliminar nómina

http
DELETE /api/v1/payroll/{id}
Authorization: Bearer <token>

Roles: ADMIN

Licencia GNU GPL v3