Query workflows
The workflow implementation supports filtered queries that let you query the running process instances and tasks, based on specific query parameters. To perform a filtered query, send a GET request to the workflow/processinstance
context path, including the query in the URL.
For example, the following query returns all process instances with the business key "newOrder"
, as invoked in the previous example:
curl \ --header "X-OpenIDM-Username: openidm-admin" \ --header "X-OpenIDM-Password: openidm-admin" \ --header "Accept-API-Version: resource=1.0" \ --request GET \ "http://localhost:8080/openidm/workflow/processinstance?_queryId=filtered-query&processInstanceBusinessKey=newOrder"
Any workflow properties can be queried using the same notation; for example, processDefinitionId=managedUserApproval:1:6405
. The query syntax applies to all queries with _queryId=filtered-query
. The following query returns all process instances that were started by the user openidm-admin
:
curl \ --header "X-OpenIDM-Username: openidm-admin" \ --header "X-OpenIDM-Password: openidm-admin" \ --header "Accept-API-Version: resource=1.0" \ --request GET \ "http://localhost:8080/openidm/workflow/processinstance?_queryId=filtered-query&startUserId=openidm-admin"
You can also query process instances based on the value of any process instance variable, by prefixing the variable name with var-
. For example:
var-processvariablename=processvariablevalue