@sreiser Incidents are for technical errors. If you want to filter the instances based on business error, then you should have model the process with error events which will have different status like “INTERNALLY_TERMINATED”, so while querying tasks you can filter by taskStatus.
For business errors,
throw new BpmnError(GOOD_UNAVAILABLE);
For technical errors,
execution.createIncident("incidentType", "configuration", "message");