Queries for historic process instances that fulfill the given parameters.The size of the result set can be retrieved by using the Get Process Instance Count method.
Method
GET /history/process-instance
Parameters
Query Parameters
Name | Description |
---|---|
processInstanceId | Filter by process instance id. |
processInstanceIds | Filter by process instance ids. Must be a comma-separated list of process instance ids. |
processInstanceBusinessKey | Filter by process instance business key. |
processInstanceBusinessKeyLike | Filter by process instance business key that the parameter is a substring of. |
superProcessInstanceId | Restrict query to all process instances that are sub process instances of the given process instance. Takes a process instance id. |
subProcessInstanceId | Restrict query to one process instance that has a sub process instance with the given id. |
superCaseInstanceId | Restrict query to all process instances that are sub process instances of the given case instance. Takes a case instance id. |
subCaseInstanceId | Restrict query to one process instance that has a sub case instance with the given id. |
caseInstanceId | Restrict query to all process instances that are sub process instances of the given case instance. Takes a case instance id. |
processDefinitionId | Filter by the process definition the instances run on. |
processDefinitionKey | Filter by the key of the process definition the instances run on. |
processDefinitionKeyNotIn | Exclude instances that belong to a set of process definitions. Must be a comma-separated list of process definition keys. |
processDefinitionName | Filter by the name of the process definition the instances run on. |
processDefinitionNameLike | Filter by process definition names that the parameter is a substring of. |
finished | Only include finished process instances. Value may only be true , as false is the default behavior. |
unfinished | Only include unfinished process instances. Value may only be true , as false is the default behavior. |
withIncidents | Only include process instances which have an incident. Value may only be true , as false is the default behavior. |
withRootIncidents | Only include process instances which have a root incident. Value may only be true , as false is the default behavior. |
incidentType | Filter by the incident type. See the User Guide for a list of incident types. |
incidentStatus | Only include process instances which have an incident in status either open or resolved . To get all process instances, use the query parameter withIncidents . |
incidentMessage | Filter by the incident message. Exact match. |
incidentMessageLike | Filter by the incident message that the parameter is a substring of. |
startedBy | Only include process instances that were started by the given user. |
startedBefore | Restrict to instances that were started before the given date. By default*, the date must have the format yyyy-MM-dd'T'HHss.SSSZ , e.g., 2013-01-23T14:42:45.000+0200 . |
startedAfter | Restrict to instances that were started after the given date. By default*, the date must have the format yyyy-MM-dd'T'HHss.SSSZ , e.g., 2013-01-23T14:42:45.000+0200 . |
finishedBefore | Restrict to instances that were finished before the given date. By default*, the date must have the format yyyy-MM-dd'T'HHss.SSSZ , e.g., 2013-01-23T14:42:45.000+0200 . |
finishedAfter | Restrict to instances that were finished after the given date. By default*, the date must have the format yyyy-MM-dd'T'HHss.SSSZ , e.g., 2013-01-23T14:42:45.000+0200 . |
tenantIdIn | Filter by a comma-separated list of tenant ids. A process instance must have one of the given tenant ids. |
variables | Only include process instances that have/had variables with certain values. Variable filtering expressions are comma-separated and are structured as follows: A valid parameter value has the form key_operator_value . key is the variable name, operator is the comparison operator to be used and value the variable value.Note: Values are always treated as String objects on server side. Valid operator values are: eq - equal to; neq - not equal to; gt - greater than; gteq - greater than or equal to; lt - lower than; lteq - lower than or equal to; like . key and value may not contain underscore or comma characters. |
sortBy | Sort the results by a given criterion. Valid values are instanceId , definitionId , definitionKey , definitionName , definitionVersion , businessKey , startTime , endTime , duration and tenantId . Must be used in conjunction with the sortOrder parameter. |
sortOrder | Sort the results in a given order. Values may be asc for ascending order or desc for descending order. Must be used in conjunction with the sortBy parameter. |
firstResult | Pagination of results. Specifies the index of the first result to return. |
maxResults | Pagination of results. Specifies the maximum number of results to return. Will return less results if there are no more results left. |
executedActivityBefore | Restrict to instances that executed an activity before the given date (inclusive). By default*, the date must have the format yyyy-MM-dd'T'HHss.SSSZ , e.g., 2013-01-23T14:42:45.000+0200 . |
executedActivityAfter | Restrict to instances that executed an activity after the given date (inclusive). By default*, the date must have the format yyyy-MM-dd'T'HHss.SSSZ , e.g., 2013-01-23T14:42:45.000+0200 . |
executedActivityIdIn | Restrict to instances that executed an activity with one of given ids. |
activeActivityIdIn | Restrict to instances that have an active activity with one of given ids. |
executedJobBefore | Restrict to instances that executed an job before the given date (inclusive). By default*, the date must have the format yyyy-MM-dd'T'HHss.SSSZ , e.g., 2013-01-23T14:42:45.000+0200 . |
executedJobAfter | Restrict to instances that executed an job after the given date (inclusive). By default*, the date must have the format yyyy-MM-dd'T'HHss.SSSZ , e.g., 2013-01-23T14:42:45.000+0200 . |
active | Restrict to instances that are active |
suspended | Restrict to instances that are suspended |
completed | Restrict to instances that are completed |
externallyTerminated | Restrict to instances that are externally terminated |
internallyTerminated | Restrict to instances that are internally terminated |
- For further information, please see the documentation.
Result
A JSON array of historic process instance objects.Each historic process instance object has the following properties:
Name | Value | Description |
---|---|---|
id | String | The id of the process instance. |
superProcessInstanceId | String | The id of the parent process instance, if it exists. |
superCaseInstanceId | String | The id of the parent case instance, if it exists. |
caseInstanceId | String | The id of the parent case instance, if it exists. |
processDefinitionName | String | The name of the process definition that this process instance belongs to. |
processDefinitionKey | String | The key of the process definition that this process instance belongs to. |
processDefinitionVersion | Integer | The version of the process definition that this process instance belongs to. |
processDefinitionId | String | The id of the process definition that this process instance belongs to. |
businessKey | String | The business key of the process instance. |
startTime | String | The time the instance was started. Default format* yyyy-MM-dd'T'HHss.SSSZ . |
endTime | String | The time the instance ended. Default format* yyyy-MM-dd'T'HHss.SSSZ . |
durationInMillis | Number | The time the instance took to finish (in milliseconds). |
startUserId | String | The id of the user who started the process instance. |
startActivityId | String | The id of the initial activity that was executed (e.g., a start event). |
deleteReason | String | The provided delete reason in case the process instance was canceled during execution. |
tenantId | String | The tenant id of the process instance. |
state | String | last state of the process instance, possible values are: |
- ACTIVE - running process instance
- SUSPENDED - suspended process instances
- COMPLETED - completed through normal end event
- EXTERNALLY_TERMINATED - terminated externally, for instance through REST API
- INTERNALLY_TERMINATED - terminated internally, for instance by terminating boundary event
- For further information, please see the documentation.
Response Codes
Code | Media type | Description |
---|---|---|
200 | application/json | Request successful. |
400 | application/json | Returned if some of the query parameters are invalid, for example if a sortOrder parameter is supplied, but no sortBy . See the Introduction for the error response format. |
Example
Request
GET /history/process-instance?finishedAfter=2013-01-01T00:00:00.000+0200&finishedBefore=2013-04-01T23:59:59.000+0200&executedActivityAfter=2013-03-23T13:42:44.000+0200
Response
[
{
"id":"7c80cc8f-ef95-11e6-b6e6-34f39ab71d4e",
"businessKey":null,
"processDefinitionId":"invoice:1:7bf79f13-ef95-11e6-b6e6-34f39ab71d4e",
"processDefinitionKey":"invoice",
"processDefinitionName":"Invoice Receipt",
"processDefinitionVersion":1,
"startTime":"2017-02-10T14:33:19.000+0200",
"endTime":null,
"durationInMillis":null,
"startUserId":null,
"startActivityId":"StartEvent_1",
"deleteReason":null,
"superProcessInstanceId":null,
"superCaseInstanceId":null,
"caseInstanceId":null,
"tenantId":null,
"state":"ACTIVE"
}
]