When there is a hierarchy of process instances (using call activities), then an incident is created at each level of the call activity. The HistoricProcessInstanceQuery provides the option to query for process instances which have incidents (see #withIncidents()):
This query will return all process instances which has an incident.
- there exists another query option like #withRootIncidents()
- when this query option is used, then only process instances at the "bottom of the hierarchy" are returned
- query option is exposed in REST API
An incident is a root incident, when the ID of the incident is equal to the "root cause incident id".