Listar ausencias
GET
/api/v1/absences Devuelve las ausencias que solapan el rango indicado (ambos extremos incluidos), de la más reciente a la más antigua — incluidas las que empiezan antes o terminan después de la ventana. Filtrable por empleado, estado y tipo. Las ausencias por horas traen `start_time`/`end_time`; las de día completo los traen a null. Las notas de solicitud y decisión no se devuelven.
Parámetros de consulta
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
from | string | Sí | Primer día del rango (YYYY-MM-DD). |
to | string | Sí | Último día del rango (YYYY-MM-DD), incluido. |
user_id | string | No | Solo las ausencias de este empleado. |
status | string | No | Estado: 'pending', 'approved', 'rejected' o 'cancelled'. |
type | string | No | Clave del tipo de ausencia (p. ej. 'vacation', 'sick'). El catálogo es por empresa. |
page | integer | No | Página (desde 1). |
page_size | integer | No | Ausencias por página (máx. 100). |
Ejemplo
Sustituye db_live_tu_clave por tu clave.
curl -s -H "Authorization: Bearer db_live_tu_clave" \
"https://api.dutybeat.com/api/v1/absences?user_id=u-delm&from=2026-06-01&to=2026-06-30" | jq Respuesta de ejemplo
Lo que imprime cada snippet al ejecutarlo: cURL devuelve el JSON crudo; los snippets de Python y PowerShell piden campos concretos, así que su salida es la de cada uno.
{
"data": [
{
"id": "abs-008",
"user_id": "u-delm",
"type": {
"key": "vacation",
"label": "Vacaciones"
},
"status": "approved",
"start_date": "2026-06-22",
"end_date": "2026-06-26",
"start_time": null,
"end_time": null,
"created_at": "2026-06-08T00:00:00Z",
"decided_at": "2026-06-09T09:00:00Z"
},
{
"id": "abs-007",
"user_id": "u-delm",
"type": {
"key": "justified",
"label": "Ausencia justificada"
},
"status": "approved",
"start_date": "2026-06-15",
"end_date": "2026-06-15",
"start_time": null,
"end_time": null,
"created_at": "2026-06-09T00:00:00Z",
"decided_at": "2026-06-09T11:00:00Z"
},
{
"id": "abs-010",
"user_id": "u-delm",
"type": {
"key": "personal",
"label": "Asuntos propios"
},
"status": "approved",
"start_date": "2026-06-11",
"end_date": "2026-06-11",
"start_time": "10:00",
"end_time": "12:00",
"created_at": "2026-06-05T00:00:00Z",
"decided_at": "2026-06-05T15:00:00Z"
}
],
"meta": {
"page": 1,
"page_size": 25,
"total": 3
}
}