Aprobar o rechazar ausencia
POST
/api/v1/absences/:absence_id/decide Aprueba o rechaza una ausencia pendiente. El usuario de la clave debe poder aprobarla (pertenecer al departamento de RRHH o supervisar, por jerarquía, al solicitante) y no puede aprobar las suyas. Solo se puede decidir una ausencia que siga pendiente (si no, 409). Devuelve la ficha ya resuelta. Una ausencia que no puedas decidir responde 404, exactamente igual que una que no existe: así un identificador no revela de quién es ni en qué estado está. La tuya propia sí responde 403.
Parámetros de ruta
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
absence_id | string | Sí | Identificador de la ausencia a resolver. |
Cuerpo (JSON)
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
decision | string | Sí | "approved" o "rejected". |
note | string | No | Nota opcional de la decisión. |
Ejemplo
Sustituye db_live_tu_clave por tu clave.
curl -s -X POST -H "Authorization: Bearer db_live_tu_clave" \
-H "Content-Type: application/json" \
-d '{"decision":"approved"}' \
"https://api.dutybeat.com/api/v1/absences/abs-nueva/decide" | 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-nueva",
"user_id": "u-delm",
"type": {
"key": "vacation",
"label": "Vacaciones"
},
"status": "approved",
"start_date": "2026-08-10",
"end_date": "2026-08-14",
"start_time": null,
"end_time": null,
"created_at": "2026-07-12T10:00:00.000Z",
"decided_at": "2026-07-12T11:00:00.000Z"
}
}