Reporte de Línea de Tiempo de Ejecución
Registro cronológico de eventos a través de las ejecuciones de workflow — cada avance de paso, evento de tarea, compuerta y escalamiento, con el actor, el paso y la entidad referenciada.
/apidev/v1/reports/workflow/timelineResumen
Devuelve un flujo plano, ordenado en el tiempo, de eventos de ejecución a través de todas las instancias de workflow en un rango de fechas — avances de paso, tareas creadas/completadas/reasignadas/escaladas, evaluaciones de compuertas y otras entradas del registro. Cada evento resuelve el nombre del workflow, el nombre del paso, el usuario actuante y la entidad de negocio que referencia (por ejemplo TAREA #1234), para que puedas auditar exactamente qué pasó y cuándo. Se cubren tanto las instancias activas como las archivadas.
Los resultados se paginan. El tamaño de página por defecto es 50. Filtrá por una o más definiciones de workflow para acotar la línea de tiempo a procesos específicos.
Solicitud
Encabezados de la solicitud
Every request to a protected endpoint requires these headers:
| Header | Required | Description |
|---|---|---|
Authorization | Yes | Bearer token obtained from the Login endpoint. Format: Bearer <token> |
X-API-Key | Yes | Company integration key provided during onboarding. Format: gtk_xxx... |
tenant | Yes | Your assigned tenant domain (default: geotareas.com) — always send your assigned tenant |
Content-Type | Conditional | application/json — required for POST and PUT requests |
Parámetros de consulta
| Parámetro | Tipo | Requerido | Por defecto | Descripción |
|---|---|---|---|---|
startdate | string | Sí | — | Fecha-hora de inicio en ISO 8601 (ej. 2026-03-01T00:00:00). |
enddate | string | Sí | — | Fecha-hora de fin en ISO 8601. Rango máximo de 92 días desde startdate. |
definition_ids | string | No | — | IDs de definición de workflow para filtrar, separados por comas. Máximo 100. |
sort_by | string | No | timestamp | Columna por la cual ordenar. Una de: timestamp, instanceId, workflowName, eventType, actorName. |
sort_dir | string | No | desc | Dirección de ordenamiento: asc o desc. |
limit | integer | No | 25 | Cantidad de registros por página (1–100). |
offset | integer | No | 0 | Cantidad de registros a omitir para la paginación. |
sort_by se valida por reporteEste reporte acepta exactamente estos valores:
timestamp · instanceId · workflowName · eventType · actorName
Cualquier otro valor devuelve 400 VALIDATION_ERROR, y el mensaje enumera los valores aceptados. Hasta el 2026-08-16 un sort_by no reconocido se ignoraba en silencio y el reporte volvía en su orden por defecto, así que una columna mal escrita parecía haber funcionado.
Ejemplos de código
- cURL
- JavaScript
- Python
curl -s -H "Authorization: Bearer $TOKEN" \
-H "X-API-Key: $APIKEY" \
-H "tenant: $TENANT" \
"https://$TENANT/apidev/v1/reports/workflow/timeline?startdate=2026-03-01T00:00:00&enddate=2026-03-31T23:59:59&sort_dir=asc&limit=50"
const res = await fetch(
`https://${TENANT}/apidev/v1/reports/workflow/timeline?startdate=2026-03-01T00:00:00&enddate=2026-03-31T23:59:59&sort_dir=asc&limit=50`,
{
headers: {
'Authorization': `Bearer ${TOKEN}`,
'X-API-Key': APIKEY,
'tenant': TENANT,
},
}
);
const data = await res.json();
import requests
response = requests.get(
f"https://{TENANT}/apidev/v1/reports/workflow/timeline",
headers={"Authorization": f"Bearer {TOKEN}", "X-API-Key": APIKEY, "tenant": TENANT},
params={"startdate": "2026-03-01T00:00:00", "enddate": "2026-03-31T23:59:59", "sort_dir": "asc", "limit": 50},
)
data = response.json()
Respuesta
Campos de la respuesta
Cada elemento en data representa un evento de ejecución.
| Campo | Tipo | Descripción |
|---|---|---|
logId | string | ID de la entrada del registro de eventos. |
timestamp | string | Fecha-hora del evento (ISO 8601). |
instanceId | string | ID de la instancia de workflow a la que pertenece el evento. |
workflowName | string | Nombre de la definición de workflow. |
stepName | string | Paso en el que ocurrió el evento (- cuando el evento no está ligado a un paso). |
eventType | string | Código de tipo de evento (ej. TASK_COMPLETED, STEP_ADVANCED, TASK_ESCALATED). |
actorName | string | Nombre del usuario que disparó el evento (- para eventos del sistema). |
message | string | Mensaje legible del evento. |
entityType | string | null | Tipo de la entidad de negocio referenciada (ej. TAREA, CUENTA). |
entityId | string | null | ID de la entidad de negocio referenciada. |
entityRef | string | Referencia legible, ej. TAREA #1234; vuelve al nombre del workflow cuando no hay entidad vinculada. |
Respuesta de ejemplo
{
"success": true,
"data": [
{
"logId": "9920011223344556",
"timestamp": "2026-03-12T09:41:00",
"instanceId": "8842001122334455",
"workflowName": "Incident Resolution",
"stepName": "Field Validation",
"eventType": "TASK_COMPLETED",
"actorName": "Carlos Martinez",
"message": "Task completed with result OK",
"entityType": "TAREA",
"entityId": "1234",
"entityRef": "TAREA #1234"
}
],
"meta": {
"total": 1,
"limit": 50,
"offset": 0
}
}
Errores
| Código | HTTP | Descripción |
|---|---|---|
VALIDATION_ERROR | 400 | Parámetros inválidos: fechas faltantes, valores de enum inválidos, paginación fuera de rango. |
INVALID_DATE_RANGE | 400 | Rango de fechas inválido o mayor a 92 días. |
UNAUTHORIZED | 401 | tenant / Authorization / X-API-Key faltante, inválido o expirado |
FORBIDDEN | 403 | El usuario no tiene el permiso requerido. |
RATE_LIMITED | 429 | Se superaron las 10 req/min. |
INTERNAL_ERROR | 500 | Error inesperado del servidor. |