Get Definitions

Queries for process definitions that fulfill given parameters. Parameters may be the properties of process definitions, such as the name, key or version. The size of the result set can be retrieved by using the Get Definition Count method.

Method

GET /process-definition

Parameters

Query Parameters

Name Description
processDefinitionId Filter by process definition id.
processDefinitionIdIn Filter by process definition ids.
name Filter by process definition name.
nameLike Filter by process definition names that the parameter is a substring of.
deploymentId Filter by the deployment the id belongs to.
key Filter by process definition key, i.e., the id in the BPMN 2.0 XML. Exact match.
keysIn Filter by process definition keys.
keyLike Filter by process definition keys that the parameter is a substring of.
category Filter by process definition category. Exact match.
categoryLike Filter by process definition categories that the parameter is a substring of.
version Filter by process definition version.
latestVersion Only include those process definitions that are latest versions. Value may only be true, as false is the default behavior.
resourceName Filter by the name of the process definition resource. Exact match.
resourceNameLike Filter by names of those process definition resources that the parameter is a substring of.
startableBy Filter by a user name who is allowed to start the process.
active Only include active process definitions. Value may only be true, as false is the default behavior.
suspended Only include suspended process definitions. Value may only be true, as false is the default behavior.
incidentId Filter by the incident id.
incidentType Filter by the incident type. See the User Guide for a list of incident types.
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 comma-separated list of tenant ids. A process definition must have one of the given tenant ids.
withoutTenantId Only include process definitions which belong to no tenant. Value may only be true, as false is the default behavior.
includeProcessDefinitionsWithoutTenantId Include process definitions which belong to no tenant. Can be used in combination with tenantIdIn. Value may only be true, as false is the default behavior.
versionTag Filter by the version tag.
versionTagLike Filter by the version tag that the parameter is a substring of.
sortBy Sort the results lexicographically by a given criterion. Valid values are category, key, id, name, version, deploymentId, tenantId and versionTag. Must be used in conjunction with the sortOrder parameter. Note: Sorting by versionTag is string based. The version will not be interpreted. As an example, the sorting could return v0.1.0, v0.10.0, v0.2.0.
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.

Result

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

Name Value Description
id String The id of the process definition.
key String The key of the process definition, i.e., the id of the BPMN 2.0 XML process definition.
category String The category of the process definition.
description String The description of the process definition.
name String The name of the process definition.
version Number The version of the process definition that the engine assigned to it.
resource String The file name of the process definition.
deploymentId String The deployment id of the process definition.
diagram String The file name of the process definition diagram, if it exists.
suspended Boolean A flag indicating whether the definition is suspended or not.
tenantId String The tenant id of the process definition.
versionTag String The version tag of the process or null when no version tag is set
historyTimeToLive Number History time to live value of the process definition. Is used within History cleanup.

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 /process-definition?keyLike=invoice&sortBy=version&sortOrder=asc

Response

  [
    {
      "id": "invoice:1:c3a63aaa-2046-11e7-8f94-34f39ab71d4e",
      "key": "invoice",
      "category": "http://www.omg.org/spec/BPMN/20100524/MODEL",
      "description": null,
      "name": "Invoice Receipt",
      "version": 1,
      "resource": "invoice.v1.bpmn",
      "deploymentId": "c398cd26-2046-11e7-8f94-34f39ab71d4e",
      "diagram": null,
      "suspended": false,
      "tenantId": null,
      "versionTag": null,
      "historyTimeToLive": 5
    },
    {
      "id": "invoice:2:c3e1bd16-2046-11e7-8f94-34f39ab71d4e",
      "key": "invoice",
      "category": "http://www.omg.org/spec/BPMN/20100524/MODEL",
      "description": null,
      "name": "Invoice Receipt",
      "version": 2,
      "resource": "invoice.v2.bpmn",
      "deploymentId": "c3d82020-2046-11e7-8f94-34f39ab71d4e",
      "diagram": null,
      "suspended": false,
      "tenantId": null,
      "versionTag": null,
      "historyTimeToLive": null
    }
  ]

On this Page: