Skip to main content

Run History

Track job execution logs, success/failure status, duration, and progress details. A run record is created each time a job runs (manually or on schedule).

GET /api/jobs/{id}/history

List execution history for a job (all records, newest first).

Authentication: Required

Path Parameters:

ParameterTypeDescription
idstringJob id or natural id

Response:

A HAL collection. Each record's duration is a [start, stop] pair and progress is the step-by-step log.

List run historyGET /api/jobs/admin:daily-sales-report/history
A HAL collection of run records, newest first. duration is a [start, stop] pair; progress is the step-by-step log.
Response · 200
{
"_links": {
"self": {
"href": "https://informer.example.com/api/jobs/admin%3Adaily-sales-report/history"
}
},
"start": 0,
"count": 1,
"total": 1,
"_embedded": {
"inf:job-history": [
{
"_links": {
"self": {
"href": "https://informer.example.com/api/jobs/admin%3Adaily-sales-report/history/00000000-0000-4000-8000-000000000001"
}
},
"id": "00000000-0000-4000-8000-000000000001",
"jobId": "00000000-0000-4000-8000-000000000002",
"ownerId": "admin",
"data": {},
"duration": [
"2026-01-15T16:20:00.000Z",
"2026-01-15T16:20:00.000Z"
],
"success": true,
"warnings": false,
"progress": [
{
"task": {
"key": "job:progress.invoking_job"
},
"result": {
"key": "job:status.running",
"success": null
}
}
],
"createdAt": "2026-01-15T16:20:00.000Z",
"updatedAt": "2026-01-15T16:20:00.000Z",
"tenant": "acme"
}
]
}
}
Captured from the API examples test suite; ids and timestamps are normalized.

GET /api/jobs/{id}/history/{historyId}

Get a single run record.

Authentication: Required

Path Parameters:

ParameterTypeDescription
idstringJob id or natural id
historyIdstring (UUID)History record id

Response:

Get a run recordGET /api/jobs/admin:daily-sales-report/history/00000000-0000-4000-8000-000000000001
Each progress entry has a task (what was attempted) and a result (outcome).
Response · 200
{
"_links": {
"self": {
"href": "https://informer.example.com/api/jobs/admin%3Adaily-sales-report/history/00000000-0000-4000-8000-000000000001"
}
},
"id": "00000000-0000-4000-8000-000000000001",
"jobId": "00000000-0000-4000-8000-000000000002",
"ownerId": "admin",
"data": {},
"duration": [
"2026-01-15T16:20:00.000Z",
"2026-01-15T16:20:00.000Z"
],
"success": true,
"warnings": false,
"progress": [
{
"task": {
"key": "job:progress.invoking_job"
},
"result": {
"key": "job:status.running",
"success": null
}
}
],
"createdAt": "2026-01-15T16:20:00.000Z",
"updatedAt": "2026-01-15T16:20:00.000Z",
"tenant": "acme"
}
Captured from the API examples test suite; ids and timestamps are normalized.
Progress structure

The progress array is a step-by-step log. Each entry has a task (what was attempted) and a result (the outcome, with a success flag).


DELETE /api/jobs/{id}/history/{historyId}

Delete a single run record.

Authentication: Required

Permissions: Requires job:edit

Path Parameters:

ParameterTypeDescription
idstringJob id or natural id
historyIdstring (UUID)History record id

Response:

Responds 200 with an empty body.

Delete a run recordDELETE /api/jobs/admin:daily-sales-report/history/00000000-0000-4000-8000-000000000001
Responds 200 with an empty body.
Response · 200 · no body
Captured from the API examples test suite; ids and timestamps are normalized.