Incidents API
Incidents API
The Incidents API exposes incident analytics: heatmaps, version comparisons, tables, time series, and totals for a given process definition.
Base Path: /incidents
License: Requires a valid enterprise license (HTTP 403 otherwise).
Endpoints
GET /incidents/heatmap
Incident heatmap data for activities over time for one process version.
Query parameters:
| Parameter | Required | Description |
|---|---|---|
processKey |
Yes | Process definition key |
version |
Yes | Process version |
startDate |
No | Range start (ISO 8601) |
endDate |
No | Range end (ISO 8601) |
Example HTTP response:
HTTP/1.1 200 OK
Content-Type: application/json
[
{
"actId": "Task_Review",
"activeIncidents": 0,
"completedIncidents": 2,
"canceledIncidents": 0,
"totalIncidents": 2,
"instanceCount": 45
}
]
Example when no matching deployment: 200 OK with body null (no JSON array).
GET /incidents/incident-version-graph
Incident statistics by version for a process key.
Query parameters:
| Parameter | Required | Description |
|---|---|---|
processKey |
Yes | Process definition key |
Example HTTP response:
HTTP/1.1 200 OK
Content-Type: application/json
[
{
"version": 1,
"processInstanceCount": 500,
"incidentCount": 12,
"errorStartEventCount": 1
},
{
"version": 2,
"processInstanceCount": 320,
"incidentCount": 4,
"errorStartEventCount": 0
}
]
GET /incidents/incidents-table
Ranked / tabular incident information with upper and lower bounds on row counts.
Query parameters:
| Parameter | Required | Description |
|---|---|---|
processKey |
Yes | Process definition key |
version |
Yes | Process version |
maxResults |
Yes | Maximum rows |
minResults |
Yes | Minimum rows |
startDate |
No | Range start (ISO 8601) |
endDate |
No | Range end (ISO 8601) |
Example HTTP response:
HTTP/1.1 200 OK
Content-Type: application/json
[
{
"activityId": "Task_Approve",
"activity": "Approve Invoice",
"failedActivity": "Approve Invoice",
"failedActivityId": "Task_Approve",
"createTime": 1715612400000,
"endTime": 1715616000000,
"procInstId": "proc-inst-abc"
}
]
Example when no matching deployment: 200 OK with body null.
GET /incidents/incidents-graph
Time-series style graph of incident counts.
Query parameters:
| Parameter | Required | Description |
|---|---|---|
processKey |
Yes | Process definition key |
version |
Yes | Process version |
startDate |
No | Range start (ISO 8601) |
endDate |
No | Range end (ISO 8601) |
Example HTTP response:
HTTP/1.1 200 OK
Content-Type: application/json
[
{
"date": 1704067200000,
"totalInstances": 3,
"incidentType": "failedJob"
}
]
Example when no matching deployment: 200 OK with body null.
GET /incidents/total-counts
Aggregated incident totals for the process version and optional date range.
Query parameters:
| Parameter | Required | Description |
|---|---|---|
processKey |
Yes | Process definition key |
version |
Yes | Process version |
startDate |
No | Range start (ISO 8601) |
endDate |
No | Range end (ISO 8601) |
Example HTTP response:
HTTP/1.1 200 OK
Content-Type: application/json
{
"totalIncidents": 14,
"totalExceptions": 3
}
Example when no matching deployment: 200 OK with body null.
Usage example
curl -i -G "http://localhost:8899/incidents/total-counts" \
--data-urlencode "processKey=invoice-process" \
--data-urlencode "version=1" \
--data-urlencode "startDate=2026-01-01T00:00:00Z" \
--data-urlencode "endDate=2026-01-31T23:59:59Z"
Sample first line of the response: HTTP/1.1 200
Notes
- Missing
processKey/versionwhere required yields an error response (typically HTTP 500 with a message), notnull.