Resumen de jornada (empresa)
GET
/api/v1/attendance/summary Una fila por empleado con sus totales consolidados en el rango [from, to] (ambos incluidos): minutos trabajados —descansos ya descontados—, minutos esperados según su horario y el saldo entre ambos, más los días trabajados y esperados. Es la consulta de nómina ("horas por empleado este mes"), la contrapartida a Listar fichajes (que es por empleado y por día). Filtrable por estado, departamento y sede como el listado de empleados. Se pagina por empleado; el rango no puede superar 366 días.
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. |
tz | string | No | Zona horaria IANA con la que se agrupan las marcas por día. |
status | string | No | Filtra por estado del empleado: 'active' o 'disabled'. |
department_id | string | No | Filtra por id de departamento. |
work_center_id | string | No | Filtra por id de sede. |
page | integer | No | Página (desde 1). |
page_size | integer | No | Empleados 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/attendance/summary?from=2026-06-01&to=2026-06-30&page_size=3" | 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": [
{
"user_id": "u-dirg",
"full_name": "Alberto Vázquez Romero",
"worked_minutes": 2445,
"expected_minutes": 10560,
"balance_minutes": -8115,
"worked_days": 5,
"expected_days": 22
},
{
"user_id": "u-estm1",
"full_name": "Andrés Molina Prieto",
"worked_minutes": 0,
"expected_minutes": 10560,
"balance_minutes": -10560,
"worked_days": 0,
"expected_days": 22
},
{
"user_id": "u-delc",
"full_name": "Antía Ferreiro Lago",
"worked_minutes": 2400,
"expected_minutes": 10080,
"balance_minutes": -7680,
"worked_days": 5,
"expected_days": 21
}
],
"meta": {
"page": 1,
"page_size": 3,
"total": 17
}
}