Imputar horas
POST
/api/v1/allocations Imputa un tramo de tiempo de un empleado a un proyecto (`project_id`) o a «otras tareas` (`note`), nunca a ambos. `comment` añade observaciones opcionales sobre qué se hizo. No toca los fichajes del empleado: la imputación es una capa de gestión sobre el registro de jornada, así que no puede alterarlo.
Cuerpo (JSON)
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
user_id | string | Sí | Empleado cuyo tiempo se imputa. |
start | string | Sí | Inicio del tramo (ISO-8601 UTC). |
end | string | Sí | Fin del tramo (ISO-8601 UTC). Posterior al inicio. |
project_id | string | No | Proyecto del catálogo al que fue el tiempo. Excluyente con `note`. |
note | string | No | Descripción libre para «otras tareas». Excluyente con `project_id`. |
comment | string | No | Observaciones sobre qué se hizo en ese tramo. |
tz | string | No | Zona horaria IANA con la que se deduce el día local. |
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 '{"user_id":"u-delm","start":"2026-06-04T07:00:00.000Z","end":"2026-06-04T12:00:00.000Z","project_id":"tenant-001:prj-2","comment":"Mediciones de la cubierta"}' \
"https://api.dutybeat.com/api/v1/allocations" | 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": "eee013bc-85a0-4c4b-8442-bc8223e56a55",
"user_id": "u-delm",
"date": "2026-06-04",
"start": "2026-06-04T07:00:00.000Z",
"end": "2026-06-04T12:00:00.000Z",
"minutes": 300,
"project": {
"id": "tenant-001:prj-2",
"code": "PRJ-0002",
"name": "Nave logística ACME"
},
"note": null,
"comment": "Mediciones de la cubierta",
"source": "manual",
"created_at": "2026-07-19T07:12:25.455Z"
}
}