POST
Solicitar una ausencia
Scope:
team:time-off.writehttps://api.holded.com/api/v2/employees/{employeeId}/time-offsCrea una nueva solicitud de ausencia, vacación o permiso para el empleado indicado.
Parámetros
Parámetros de ruta
employeeId
stringobligatorioID del empleado (ObjectId hexadecimal de 24 caracteres)
Cuerpo de la petición
object
time_off_type_idstringrequired
Tipo de ausencia (p. ej. vacaciones, baja, permiso)
start_datestring<date>required
Fecha de inicio de la ausencia (ATOM, ISO 8601 con zona horaria)
end_datestring<date>required
Fecha de fin de la ausencia (ATOM, ISO 8601 con zona horaria)
start_periodstring | nulloptional
Granularidad de medio día: morning, afternoon, full_day u hourly
Enum:
morningafternoonfull_dayhourlyreasonstring | nulloptional
Motivo u observaciones opcionales
start_hourstring | nulloptional
Hora de inicio para tipos con granularidad horaria (HH:MM)
num_hoursnumber | nulloptional
Duración en horas. Múltiplo de 0.5
Petición
python
import requests
url = "https://api.holded.com/api/v2/employees/507f1f77bcf86cd799439012/time-offs"
headers = {
"Authorization": "Bearer YOUR_API_KEY",
"Accept": "application/json",
}
payload = {
"time_off_type_id": "507f1f77bcf86cd799439013",
"start_date": "2026-06-01",
"end_date": "2026-06-05",
"start_period": "morning",
"reason": "string",
"start_hour": "09:00",
"num_hours": 4
}
response = requests.post(url, headers=headers, json=payload)
print(response.json())Respuestas
Respuesta
json
{
"id": "507f1f77bcf86cd799439011"
}Respuestas exitosas
201Ausencia creadaapplication/jsonobject
idstring
Respuestas de error
400Solicitud incorrectaapplication/json401API key inválida o no proporcionadaapplication/json403Permisos insuficientesapplication/json404Empleado no encontradoapplication/json422Datos de ausencia no válidosapplication/json429Límite de solicitudes excedidoapplication/json