Skip to content

Search process definitions

POST
/v2/process-definitions/search
curl --request POST \
--url http://localhost:8080/v2/process-definitions/search \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "filter": { "processDefinitionId": "order-fulfilment", "isLatestVersion": true }, "page": { "limit": 50 } }'
Available inEmbeddedBundledCluster
AuthAuthenticated Bearer token or console session with X-CSRF-Token · requires history:read

Lists the deployed process-definition versions of the caller’s tenant. Results are ordered by definition key. Paging is forward only, and the definition key is the cursor: pass page.endCursor as page.after to get the next page. The page after the last item comes back empty with null cursors, which is how a client knows it has reached the end.

Supported filters are exact matches on processDefinitionId, processDefinitionKey, resourceName, version and versionTag, plus isLatestVersion. processDefinitionId also takes {"$like": "*part*"}, as the other searches’ $like: * stands for any run of characters, ? for one, and \ makes the next one literal. The filter state accepts only ACTIVE, and hasStartForm accepts only false. Any name filter matches nothing, because definition names are not retained. An empty body lists everything.

x-tenant-id
string
>= 1 characters

Tenant selection. A principal bound to one tenant may omit it; if sent, it must equal that tenant (403 otherwise). A principal that may act in several tenants must send it on every request: without it the request is refused with 400, and a tenant it may not act in is refused with 403.

Media typeapplication/json
object
filter
object
name

Accepted, but definition names are not retained, so any value matches nothing.

isLatestVersion
boolean
resourceName
string
version
integer format: int32
versionTag
string
processDefinitionId
Any of:
string
tenantId

Must be the caller’s tenant.

string
processDefinitionKey

Positive signed 64-bit entity key, written as a decimal string.

string
/^[1-9][0-9]*$/
hasStartForm
boolean
state
string
Allowed value: ACTIVE
sort

Checked for validity. Results always come back in definition-key order.

Array
object
field
required
string
order
string
Allowed values: ASC DESC
field
required
Allowed values: processDefinitionId processDefinitionKey resourceName version versionTag tenantId
page
object
limit
integer
default: 100 >= 1
from
integer
0
after

The endCursor of the previous page.

string
before

Not supported yet. Any value is rejected with 400.

string
limit
<= 10000
Example
{
"filter": {
"processDefinitionId": "order-fulfilment",
"isLatestVersion": true
},
"page": {
"limit": 50
}
}

One page of definitions.

Media typeapplication/json
object
items
required
Array<object>
object
name
required

Part of the wire shape. This release always sends null.

null
resourceName
required
string
version
required
integer format: int32
versionTag
required
string | null
processDefinitionId
required
string
tenantId
required
string
processDefinitionKey
required

Positive signed 64-bit entity key, written as a decimal string.

string
/^[1-9][0-9]*$/
hasStartForm
required
boolean
state
required
string
Allowed value: ACTIVE
page
required

totalItems counts every match across all pages, and hasMoreTotalItems is always false.

object
totalItems
required
integer format: int64
hasMoreTotalItems
required
boolean
startCursor
required

Opaque, base64. Set on every page with items; null only on an empty page.

string | null format: base64
endCursor
required

Opaque, base64. Set on every page with items; pass it as page.after for the next page, which is empty once every item was seen. null only on an empty page.

string | null format: base64
Example
{
"items": [
{
"processDefinitionKey": "2251799813685249",
"hasStartForm": false,
"state": "ACTIVE"
}
]
}

The request is malformed, or it uses a property or filter this release does not support.

Media typeapplication/problem+json

An RFC 9457 problem document. type is a stable TinyConductor URN.

object
type
required
string
/^urn:bpm:error:/
title
required
string
status
required
integer
>= 400 <= 599
detail
required
string
instance
required

The request path.

string
mode

Present only on mode-not-supported. It names the engine’s mode.

string
Example
{
"type": "urn:bpm:error:invalid-argument",
"title": "Bad Request",
"status": 400,
"detail": "entity key must be a positive int64 string",
"instance": "/v2/process-instances/0"
}

No valid credential was presented.

Media typeapplication/problem+json

An RFC 9457 problem document. type is a stable TinyConductor URN.

object
type
required
string
/^urn:bpm:error:/
title
required
string
status
required
integer
>= 400 <= 599
detail
required
string
instance
required

The request path.

string
mode

Present only on mode-not-supported. It names the engine’s mode.

string
Example
{
"type": "urn:bpm:error:unauthorized",
"title": "Unauthorized",
"status": 401,
"detail": "A valid bearer credential is required",
"instance": "/v2/process-definitions/search"
}
WWW-Authenticate
string
Allowed value: Bearer

The caller lacks the required permission, a tenant named in the request is not the caller’s tenant, or a cookie write has no valid CSRF token.

Media typeapplication/problem+json

An RFC 9457 problem document. type is a stable TinyConductor URN.

object
type
required
string
/^urn:bpm:error:/
title
required
string
status
required
integer
>= 400 <= 599
detail
required
string
instance
required

The request path.

string
mode

Present only on mode-not-supported. It names the engine’s mode.

string
Example
{
"type": "urn:bpm:error:forbidden",
"title": "Forbidden",
"status": 403,
"detail": "The principal lacks the action this route requires",
"instance": "/v2/process-definitions/search"
}

The body exceeds the configured request-size bound.

Media typeapplication/problem+json

An RFC 9457 problem document. type is a stable TinyConductor URN.

object
type
required
string
/^urn:bpm:error:/
title
required
string
status
required
integer
>= 400 <= 599
detail
required
string
instance
required

The request path.

string
mode

Present only on mode-not-supported. It names the engine’s mode.

string
Example
{
"type": "urn:bpm:error:payload-too-large",
"title": "Payload Too Large",
"status": 413,
"detail": "The request exceeds the configured size limit",
"instance": "/v2/process-definitions/search"
}

An internal failure. The details are never exposed.

Media typeapplication/problem+json

An RFC 9457 problem document. type is a stable TinyConductor URN.

object
type
required
string
/^urn:bpm:error:/
title
required
string
status
required
integer
>= 400 <= 599
detail
required
string
instance
required

The request path.

string
mode

Present only on mode-not-supported. It names the engine’s mode.

string
Example
{
"type": "urn:bpm:error:internal",
"title": "Internal Server Error",
"status": 500,
"detail": "The request could not be completed",
"instance": "/v2/process-definitions/search"
}

The operation is not offered in the engine’s current deployment mode.

Media typeapplication/problem+json

An RFC 9457 problem document. type is a stable TinyConductor URN.

object
type
required
string
/^urn:bpm:error:/
title
required
string
status
required
integer
>= 400 <= 599
detail
required
string
instance
required

The request path.

string
mode

Present only on mode-not-supported. It names the engine’s mode.

string
Example
{
"type": "urn:bpm:error:mode-not-supported",
"title": "Mode Not Supported",
"status": 501,
"detail": "/v2/clock is not supported in bundled mode: the deterministic virtual clock and the storage-free reset exist only for the Embedded engine; Bundled and Cluster run on the system clock over durable history, which cannot be pinned, rewound or discarded",
"instance": "/v2/clock",
"mode": "bundled"
}

Backpressure, or a dependency is not ready. Retry with the same idempotency key.

Media typeapplication/problem+json

An RFC 9457 problem document. type is a stable TinyConductor URN.

object
type
required
string
/^urn:bpm:error:/
title
required
string
status
required
integer
>= 400 <= 599
detail
required
string
instance
required

The request path.

string
mode

Present only on mode-not-supported. It names the engine’s mode.

string
Example
{
"type": "urn:bpm:error:unavailable",
"title": "Service Unavailable",
"status": 503,
"detail": "The required engine service is not ready",
"instance": "/v2/process-definitions/search"
}