Incidents API
Use the Incidents API to review, acknowledge, retry, resolve, and reopen operational incidents.
All endpoints require ACCESS_BPM_ADMIN.
Operations
| Method | Path | Summary |
|---|---|---|
GET | /incidents | List incidents |
GET | /incidents/{id} | Get incident by ID |
POST | /incidents/{id}/acknowledge | Acknowledge incident |
GET | /incidents/{id}/events | Get incident timeline |
POST | /incidents/{id}/reopen | Reopen incident |
POST | /incidents/{id}/resolve | Resolve incident |
POST | /incidents/{id}/retry | Retry incident |
GET | /incidents/process-instances/{processInstanceId} | Get incidents for process instance |
GET | /incidents/summary | Get incident summary |
GET /incidents
List incidents.
Query parameters:
| Name | Type | Description |
|---|---|---|
status | string | Optional. OPEN, ACKNOWLEDGED, or RESOLVED. |
source | string | Optional. PROCESS_ENGINE, WORKER, CODE_TASK, AI_TASK, or MESSAGE. |
processInstanceId | integer | Optional process instance filter. |
page, size, sort | pageable | Standard Spring pageable parameters. |
Example:
curl -X GET "http://localhost:8080/incidents?status=OPEN&source=WORKER&page=0&size=20" \
-H "Authorization: Bearer $TOKEN"
GET /incidents/summary
Returns dashboard counts.
Example response:
{
"openIncidents": 3,
"criticalIncidents": 1,
"acknowledgedIncidents": 2,
"incidentsCreatedToday": 4
}
GET /incidents/{id}
Returns a single incident.
Example response:
{
"id": 25,
"processInstanceId": 456,
"nodeId": "sync-crm",
"status": "OPEN",
"severity": "HIGH",
"source": "WORKER",
"message": "API task 'sync-crm' timed out after 2 minutes without completion",
"technicalDetails": "Process instance 456 failed at node 'sync-crm'",
"externalReferenceId": "worker_request:91",
"occurrenceCount": 1,
"lastOccurredAt": "2026-06-23T10:15:00",
"createdAt": "2026-06-23T10:15:00",
"updatedAt": "2026-06-23T10:15:00",
"acknowledgedAt": null,
"acknowledgedBy": null,
"resolvedAt": null,
"resolvedBy": null,
"resolutionNote": null,
"resolutionAction": null
}
GET /incidents/{id}/events
Returns the incident lifecycle timeline.
Example response:
[
{
"id": 100,
"incidentId": 25,
"eventType": "CREATED",
"message": "Incident created from WORKER.",
"actor": null,
"createdAt": "2026-06-23T10:15:00"
}
]
POST /incidents/{id}/acknowledge
Mark an open incident as acknowledged.
Request:
{
"acknowledgedBy": "admin"
}
POST /incidents/{id}/resolve
Resolve an incident.
Request:
{
"resolvedBy": "admin",
"resolutionNote": "CRM endpoint recovered and retry completed.",
"resolutionAction": "RETRIED_SUCCESSFULLY"
}
POST /incidents/{id}/reopen
Move a resolved incident back to OPEN.
curl -X POST "http://localhost:8080/incidents/25/reopen" \
-H "Authorization: Bearer $TOKEN"
POST /incidents/{id}/retry
Retry is supported for WORKER incidents. The backend restores the instance to the failed node, resets the related worker request, and republishes the service task request.
Request:
{
"requestedBy": "admin"
}
If the incident is not retryable, the API returns 400.