Get Executions (POST)

Query for executions that fulfill given parameters through a json object. This method is slightly more powerful than the GET query because it allows to filter by multiple instance and execution variables of types String, Number or Boolean.

Method

POST /execution

Parameters

Query Parameters

Name Description
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.

Request Body

A JSON object with the following properties:

Name Description
businessKey Filter by the business key of the process instances the executions belong to.
processDefinitionId Filter by the process definition the executions run on.
processDefinitionKey Filter by the key of the process definition the executions run on.
processInstanceId Filter by the id of the process instance the execution belongs to.
activityId Filter by the id of the activity the execution currently executes.
signalEventSubscriptionName Select only those executions that expect a signal of the given name.
messageEventSubscriptionName Select only those executions that expect a message of the given name.
active Only include active executions. Value may only be true, as false is the default behavior.
suspended Only include suspended executions. Value may only be true, as false is the default behavior.
incidentId Filter by the incident id.
incidentType Filter by the incident type.
incidentMessage Filter by the incident message. Exact match.
incidentMessageLike Filter by the incident message that the parameter is a substring of.
tenantIdIn Filter by a list of tenant ids. An execution must have one of the given tenant ids. Must be a JSON array of Strings.
variables A JSON array to only include executions that have variables with certain values.
The array consists of objects with the three properties key, operator and value. key (String) is the variable name, operator (String) is the comparison operator to be used and value the variable value.
value may be String, Number or Boolean.
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 characters.
processVariables A JSON array to only include executions that belong to a process instance with variables with certain values.
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.
key and value may not contain underscore characters.
sorting

A JSON array of criteria to sort the result by. Each element of the array is a JSON object that specifies one ordering. The position in the array identifies the rank of an ordering, i.e. whether it is primary, secondary, etc. The ordering objects have the following properties:

sortBy Mandatory. Sort the results lexicographically by a given criterion. Valid values are instanceId, definitionKey, definitionId and tenantId.
sortOrder Mandatory. Sort the results in a given order. Values may be asc for ascending order or desc for descending order.

Result

A JSON array of execution objects. Each execution object has the following properties:

Name Value Description
id String The id of the execution.
processInstanceId String The id of the process instance that this execution instance belongs to.
ended Boolean A flag indicating whether the execution has ended or not.
tenantId String The tenant id of the execution.

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, or if an invalid operator for variable comparison is used. See the Introduction for the error response format.

Example

Request

POST /execution

Request Body:

{"variables":
    [{"name": "myVariable",
     "operator": "eq",
     "value": "camunda"
    },
    {"name": "mySecondVariable",
     "operator": "neq",
     "value": 124}],
"processDefinitionId":"aProcessDefinitionId",
"sorting":
    [{"sortBy": "definitionKey",
    "sortOrder": "asc"
    },
    {"sortBy": "instanceId",
    "sortOrder": "desc"
    }]
}

Response

Status 200.

[{"id":"anId",
 "processInstanceId":"aProcInstId",
 "ended":false,
 "tenantId":null}]

On this Page: