curl --request POST \
--url https://api.example.com/api/solicitudes/crearSolicitudVacaciones \
--header 'Content-Type: application/json' \
--data '
{
"fecha_inicio": "<string>",
"fecha_fin": "<string>",
"descripcion_solicitud": "<string>",
"documento_url": "<string>"
}
'{
"message": "No tienes suficientes días de vacaciones disponibles. Solicitas 10 días, pero solo tienes 5 días disponibles.",
"dias_solicitados": 10
}
Create a vacation request with automatic balance validation
curl --request POST \
--url https://api.example.com/api/solicitudes/crearSolicitudVacaciones \
--header 'Content-Type: application/json' \
--data '
{
"fecha_inicio": "<string>",
"fecha_fin": "<string>",
"descripcion_solicitud": "<string>",
"documento_url": "<string>"
}
'{
"message": "No tienes suficientes días de vacaciones disponibles. Solicitas 10 días, pero solo tienes 5 días disponibles.",
"dias_solicitados": 10
}
POST /api/solicitudes/crearSolicitudVacaciones
"2026-05-01" or "2026-05-01T00:00:00"fecha_inicio"Summer vacation"Show properties
1 for vacation requests1 for Pending)const token = 'your_jwt_token';
const vacationData = {
fecha_inicio: '2026-07-01',
fecha_fin: '2026-07-14',
descripcion_solicitud: 'Summer vacation'
};
const response = await fetch('/api/solicitudes/crearSolicitudVacaciones', {
method: 'POST',
headers: {
'Authorization': `Bearer ${token}`,
'Content-Type': 'application/json'
},
body: JSON.stringify(vacationData)
});
const data = await response.json();
console.log(data);
{
"message": "Solicitud de vacaciones creada exitosamente",
"solicitud": {
"id_solicitud": 789,
"id_empleado": 45,
"id_tipo_solicitud": 1,
"id_estado_solicitud": 1,
"fecha_inicio": "2026-07-01 00:00:00",
"fecha_fin": "2026-07-14 00:00:00",
"dias_solicitados": 10,
"descripcion_solicitud": "Summer vacation"
}
}
{
"message": "No tienes suficientes días de vacaciones disponibles. Solicitas 10 días, pero solo tienes 5 días disponibles.",
"dias_solicitados": 10
}
Retrieve Employee Balance
Calculate Days
calcularDiasSolicitados() (excludes weekends)/api/solicitudes/:id/cancelarEmployees can cancel their own pending vacation requests/api/solicitudes/:id/aprobarAdmins approve vacation requests, which triggers balance deduction