Skip to main content
Version: Next 🚧

Openapi

full width

ZenBPM OpenAPI (1.9.0)

Download OpenAPI specification:Download

API Support: info@pbinitiative.org License: AGPL

REST API for ZenBPM

process-definition

Deploy a new process definition

Request Body schema: application/octet-stream
required
string <binary>

BPMN process definition file (.bpmn format only, size limited by httpServer.maxRequestBodyBytes, 10 MiB by default)

Responses

Response samples

Content type
application/json
{
  • "processDefinitionKey": 4503599627370498
}

Get list of process definitions

query Parameters
page
integer <int32> >= 1
Default: 1
Example: page=1

Page number (1-based indexing)

size
integer <int32> [ 1 .. 100 ]
Default: 10
Example: size=10

Number of items per page (max 100)

onlyLatest
boolean
Default: false

If true, returns only the latest version of each process definition grouped by bpmnProcessId

sortBy
string
Enum: "name" "bpmnProcessId" "bpmnProcessName" "version" "key"

Sort field

sortOrder
string
Enum: "asc" "desc"

Sort direction

bpmnProcessId
string

Filter by BPMN process ID to get all versions of a specific process

search
string

Filter by BPMN process ID or BPMN process name (partial match)

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "page": 1,
  • "size": 10,
  • "count": 2,
  • "totalCount": 2
}

Get process definition

path Parameters
processDefinitionKey
required
integer <int64>
Example: 4503599627370498

Responses

Response samples

Content type
application/json
{
  • "key": 4503599627370498,
  • "version": 1,
  • "bpmnProcessId": "loan-application",
  • "bpmnData": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<bpmn:definitions>\n <bpmn:process id=\"loan-application\" name=\"Loan Application Process\" isExecutable=\"true\">\n ...\n </bpmn:process>\n</bpmn:definitions>\n"
}

Get running and incident counts per BPMN element

path Parameters
processDefinitionKey
required
integer <int64>
Example: 4503599627370498

Responses

Response samples

Content type
application/json
{
  • "partitions": [
    ]
}

Get process definition statistics

query Parameters
page
integer <int32> >= 1
Default: 1

Page number (1-based indexing)

size
integer <int32> [ 1 .. 100 ]
Default: 10

Number of items per page (max 100)

onlyLatest
boolean
Default: false

If true, returns only the latest version of each process definition

bpmnProcessIdIn
Array of strings

Filter by BPMN process ID

bpmnProcessDefinitionKeyIn
Array of integers <int64> [ items <int64 > ]

Filter by process definition key

search
string

Search by BPMN process ID or BPMN process name (partial match)

sortBy
string
Enum: "name" "bpmnProcessId" "version" "instanceCount" "incidentCount"

Sort field

sortOrder
string
Enum: "asc" "desc"

Sort direction

Responses

Response samples

Content type
application/json
{
  • "partitions": [
    ],
  • "page": 1,
  • "size": 10,
  • "count": 2,
  • "totalCount": 2
}

process-instance

Create a new process instance

Request Body schema: application/json
required
processDefinitionKey
integer <int64>

Start the process instance using bpmn process definition identified by processDefinitionKey. ( Takes priority )

bpmnProcessId
string

Start the process instance using latest bpmn process definition identified by bpmnProcessId.

variables
object or null
historyTimeToLive
string

Duration for which process instance data are kept in storage after the process instance ends. If omitted the default will be picked up from engine configuration. (1d8h, 1M5d8h)

businessKey
string

Business key of the process instance used mainly for correlating process instance to the business entity.

Responses

Request samples

Content type
application/json
{
  • "processDefinitionKey": 4503599627370498,
  • "variables": {
    }
}

Response samples

Content type
application/json
{
  • "key": 4503599627370501,
  • "processDefinitionKey": 4503599627370498,
  • "createdAt": "2025-08-22T14:30:25Z",
  • "state": "active",
  • "version": 1,
  • "versionTag": "initial-release",
  • "variables": {
    }
}

Get list of running process instances

query Parameters
processDefinitionKey
integer <int64>
Example: processDefinitionKey=4503599627370498

Key of the process definition

parentProcessInstanceKey
integer <int64>
Example: parentProcessInstanceKey=1603294627315478

Key of the parent process instance

businessKey
string

Business key of the process instance used mainly for correlating process instance to the business entity.

page
integer <int32> >= 1
Default: 1
Example: page=1

Page number (1-based indexing)

size
integer <int32> [ 1 .. 100 ]
Default: 10
Example: size=10

Number of items per page

bpmnProcessId
string

Filter by BPMN process ID (returns instances across all versions)

sortBy
string
Enum: "createdAt" "key" "state" "businessKey" "bpmnProcessId"

Sort field (applies globally across partitions)

sortOrder
string
Enum: "asc" "desc"

Sort direction

createdFrom
string <date-time>

Filter - created after this date

createdTo
string <date-time>

Filter - created before this date

state
string
Enum: "active" "completed" "terminated" "failed"

Filter by state

activityId
string

Filter by current activity element ID

includeChildProcesses
boolean

Responses

Response samples

Content type
application/json
{
  • "partitions": [
    ],
  • "page": 1,
  • "size": 10,
  • "count": 3,
  • "totalCount": 42
}

Get state of a process instance selected by processInstanceKey

path Parameters
processInstanceKey
required
integer <int64>
Example: 4503599627370501

Responses

Response samples

Content type
application/json
{
  • "key": 4503599627370501,
  • "processDefinitionKey": 4503599627370498,
  • "version": 1,
  • "versionTag": "initial-release",
  • "createdAt": "2025-08-22T14:30:25Z",
  • "state": "active",
  • "variables": {
    }
}

Update process instance variables

path Parameters
processInstanceKey
required
integer <int64>
Example: 4503599627370501
Request Body schema: application/json
required
variables
required
object

Responses

Request samples

Content type
application/json
{
  • "variables": {
    }
}

Response samples

Content type
application/json
{
  • "code": "NOT_FOUND",
  • "message": "Process instance with key 4503599627370501 not found"
}

Delete a process instance variable

path Parameters
processInstanceKey
required
integer <int64>
Example: 4503599627370501
variableName
required
string
Example: temporaryFlag

Responses

Response samples

Content type
application/json
{
  • "code": "NOT_FOUND",
  • "message": "Process instance with key 4503599627370501 not found"
}

Get list of running child process instances

path Parameters
processInstanceKey
required
integer <int64>
Example: 4503599627370501
query Parameters
page
integer <int32> >= 1
Default: 1
Example: page=1

Page number (1-based indexing)

size
integer <int32> [ 1 .. 100 ]
Default: 10
Example: size=10

Number of items per page

sortBy
string
Enum: "key" "state"

Sort field (applies globally across partitions)

sortOrder
string
Enum: "asc" "desc"

Sort direction

state
string
Enum: "active" "completed" "terminated" "failed"

Filter by state

Responses

Response samples

Content type
application/json
{
  • "partitions": [
    ],
  • "page": 1,
  • "size": 10,
  • "count": 3,
  • "totalCount": 3
}

Cancels a process instance

path Parameters
processInstanceKey
required
integer <int64>
Example: 4503599627370501

Responses

Response samples

Content type
application/json
{
  • "code": "NOT_FOUND",
  • "message": "Process instance with key 4503599627370501 not found"
}

Get list of jobs for a process instance

path Parameters
processInstanceKey
required
integer <int64>
Example: 4503599627370501
query Parameters
page
integer <int32> >= 1
Default: 1
Example: page=1

Page number (1-based indexing)

size
integer <int32> [ 1 .. 100 ]
Default: 10
Example: size=10

Number of items per page (max 100)

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "page": 1,
  • "size": 10,
  • "count": 2,
  • "totalCount": 2
}

Get list of visited flow elements for a process instance

path Parameters
processInstanceKey
required
integer <int64>
Example: 4503599627370501
query Parameters
page
integer <int32> >= 1
Default: 1
Example: page=1

Page number (1-based indexing)

size
integer <int32> [ 1 .. 1000 ]
Default: 10
Example: size=10

Number of items per page (max 1000)

sortBy
string
Value: "createdAt"
sortOrder
string
Enum: "asc" "desc"

Sort direction

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "page": 1,
  • "size": 10,
  • "count": 3,
  • "totalCount": 3
}

Get list of incidents for a process instance

path Parameters
processInstanceKey
required
integer <int64>
Example: 4503599627370501
query Parameters
state
string
Enum: "resolved" "unresolved"

Filter by incident state (omit to get all incidents)

page
integer <int32> >= 1
Default: 1
Example: page=1

Page number (1-based indexing)

size
integer <int32> [ 1 .. 100 ]
Default: 10
Example: size=10

Number of items per page (max 100)

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "page": 1,
  • "size": 10,
  • "count": 2,
  • "totalCount": 2
}

Get message event subscriptions for a process instance

path Parameters
processInstanceKey
required
integer <int64>
query Parameters
page
integer <int32> >= 1
Default: 1
size
integer <int32> [ 1 .. 100 ]
Default: 10
state
string (EventSubscriptionState)
Enum: "active" "compensated" "compensating" "completed" "completing" "failed" "failing" "ready" "terminated" "terminating" "withdrawn"

Filter by state (omit to list subscriptions in every state)

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "page": 0,
  • "size": 0,
  • "count": 0,
  • "totalCount": 0
}

Get timer event subscriptions for a process instance

path Parameters
processInstanceKey
required
integer <int64>
query Parameters
page
integer <int32> >= 1
Default: 1
size
integer <int32> [ 1 .. 100 ]
Default: 10
state
string (EventSubscriptionState)
Enum: "active" "compensated" "compensating" "completed" "completing" "failed" "failing" "ready" "terminated" "terminating" "withdrawn"

Filter by state (omit to list subscriptions in every state)

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "page": 0,
  • "size": 0,
  • "count": 0,
  • "totalCount": 0
}

Get error event subscriptions for a process instance

path Parameters
processInstanceKey
required
integer <int64>
query Parameters
page
integer <int32> >= 1
Default: 1
size
integer <int32> [ 1 .. 100 ]
Default: 10
state
string (EventSubscriptionState)
Enum: "active" "compensated" "compensating" "completed" "completing" "failed" "failing" "ready" "terminated" "terminating" "withdrawn"

Filter by state (omit to list subscriptions in every state)

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "page": 0,
  • "size": 0,
  • "count": 0,
  • "totalCount": 0
}

Get running and incident counts per BPMN element for a process instance

path Parameters
processInstanceKey
required
integer <int64>
Example: 4503599627370501

Responses

Response samples

Content type
application/json
{
  • "partitions": [
    ]
}

Start a new process instance starting at chosen elements

Request Body schema: application/json
required
processDefinitionKey
required
integer <int64>
variables
object or null
startingElementIds
required
Array of strings

Allows for a start at chosen element id

Responses

Request samples

Content type
application/json
{
  • "processDefinitionKey": 4503599627370498,
  • "variables": {
    },
  • "startingElementIds": [
    ]
}

Response samples

Content type
application/json
{
  • "key": 0,
  • "processDefinitionKey": 0,
  • "bpmnProcessId": "string",
  • "version": 0,
  • "versionTag": "string",
  • "businessKey": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "state": "active",
  • "parentProcessInstanceKey": 0,
  • "processType": "default",
  • "variables": { },
  • "incidentCount": 0,
  • "activeElementInstances": [
    ]
}

Modify process instance

Request Body schema: application/json
required
processInstanceKey
required
integer <int64>
variables
object or null

Sets process instance variables.

Array of objects (StartElementInstanceData)

Starts execution token.

Array of objects (TerminateElementInstanceData)

Terminates execution token.

Responses

Request samples

Content type
application/json
{
  • "processInstanceKey": 0,
  • "variables": { },
  • "elementInstancesToStart": [
    ],
  • "elementInstancesToTerminate": [
    ]
}

Response samples

Content type
application/json
{
  • "processInstance": {
    },
  • "activeElementInstances": [
    ]
}

dmn-resource-definition

Deploy a new dmn resource definition

Request Body schema: application/octet-stream
required
string <binary>

DMN resource definition file (.dmn format)

Responses

Response samples

Content type
application/json
{
  • "dmnResourceDefinitionKey": 4503599627370495
}

Get list of dmn resource definitions

query Parameters
page
integer <int32> >= 1
Default: 1
Example: page=1

Page number (1-based indexing)

size
integer <int32> [ 1 .. 100 ]
Default: 10
Example: size=10

Number of items per page (max 100)

onlyLatest
boolean
Default: false

If true, returns only the latest version of each DMN resource definition grouped by dmnResourceDefinitionId

sortBy
string
Enum: "dmnDefinitionName" "dmnResourceDefinitionId" "version" "key"

Sort field

sortOrder
string
Enum: "asc" "desc"

Sort direction

dmnResourceDefinitionId
string

Filter by DMN resource definition ID to get all versions

dmnDefinitionName
string

Filter by name (partial match)

search
string

Search by DMN resource definition ID or DMN definition name

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "page": 1,
  • "size": 10,
  • "count": 2,
  • "totalCount": 2
}

Get dmn resource definition

path Parameters
dmnResourceDefinitionKey
required
integer <int64>
Example: 4503599627370495

Responses

Response samples

Content type
application/json
{
  • "key": 4503599627370495,
  • "version": 2,
  • "dmnResourceDefinitionId": "loan-approval",
  • "dmnDefinitionName": "Loan Approval Decision",
  • "dmnData": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<definitions>\n <decision id=\"loan-approval\" name=\"Loan Approval\">\n ...\n </decision>\n</definitions>\n"
}

decision-definition

Evaluate latest version of decision definition directly in engine

path Parameters
decisionId
required
string
Example: loan-approval
Request Body schema: application/json
required
bindingType
required
string
Enum: "latest" "deployment" "versionTag"
dmnResourceDefinitionId
string

Can be used in combination with bindingType latest

versionTag
string

Is used in combination with bindingType versionTag

variables
object or null

Responses

Request samples

Content type
application/json
{
  • "bindingType": "latest",
  • "variables": {
    }
}

Response samples

Content type
application/json
{
  • "evaluatedDecisions": [
    ],
  • "decisionOutput": {
    }
}

decision-instance

Get list of decision instances

query Parameters
dmnResourceDefinitionKey
integer <int64>

Filter by DMN resource definition key

dmnResourceDefinitionId
string

Filter by DMN resource definition ID

processInstanceKey
integer <int64>

Filter by process instance

evaluatedFrom
string <date-time>

Filter - evaluated after this date

evaluatedTo
string <date-time>

Filter - evaluated before this date

page
integer <int32> >= 1
Default: 1

Page number (1-based indexing)

size
integer <int32> [ 1 .. 100 ]
Default: 10

Number of items per page (max 100)

sortBy
string
Enum: "evaluatedAt" "key"

Sort field

sortOrder
string
Enum: "asc" "desc"

Sort direction

Responses

Response samples

Content type
application/json
{
  • "partitions": [
    ],
  • "page": 1,
  • "size": 10,
  • "count": 2,
  • "totalCount": 254
}

Get decision instance details

path Parameters
decisionInstanceKey
required
integer <int64>
Example: 4503599627370600

Responses

Response samples

Content type
application/json
{
  • "key": 4503599627370600,
  • "dmnResourceDefinitionKey": 4503599627370495,
  • "dmnResourceDefinitionId": "loan-approval",
  • "dmnResourceDefinitionVersion": 1,
  • "processInstanceKey": 4503599627370501,
  • "flowElementInstanceKey": 4503599627370550,
  • "evaluatedAt": "2025-08-22T14:30:25Z",
  • "decisionRequirementsKey": 4503599627370490,
  • "decisionRequirementsId": "loan-drd",
  • "evaluatedDecisions": [
    ],
  • "decisionOutput": {
    }
}

job

Get list of jobs on partitions

query Parameters
processInstanceKey
integer <int64>

Filter by process instance

jobType
string
Example: jobType=service-task

Filter by job type

assignee
string

Filter by assignee

state
string (JobState)
Enum: "active" "completed" "terminated" "failed"
Example: state=active

Filter by job state

page
integer <int32> >= 1
Default: 1
Example: page=1

Page number (1-based indexing)

size
integer <int32> [ 1 .. 100 ]
Default: 10
Example: size=10

Number of items per page (max 100)

sortBy
string
Enum: "createdAt" "key" "type" "state"

Sort field

sortOrder
string
Enum: "asc" "desc"

Sort direction

Responses

Response samples

Content type
application/json
{
  • "partitions": [
    ],
  • "page": 1,
  • "size": 10,
  • "count": 2,
  • "totalCount": 2
}

Get job details

path Parameters
jobKey
required
integer <int64>
Example: 4503599627370540

Responses

Response samples

Content type
application/json
{
  • "key": 4503599627370540,
  • "elementId": "Task_ReviewApplication",
  • "type": "zenbpm:userTask",
  • "processInstanceKey": 4503599627370501,
  • "state": "active",
  • "createdAt": "2025-08-22T15:10:26Z",
  • "assignee": "john.doe",
  • "retries": 3,
  • "inputVariables": {
    }
}

Assign a job to a user

path Parameters
jobKey
required
integer <int64>
Example: 4503599627370540
Request Body schema: application/json
required
assignee
required
string

Responses

Request samples

Content type
application/json
{
  • "assignee": "john.doe"
}

Response samples

Content type
application/json
{
  • "code": "NOT_FOUND",
  • "message": "Process instance with key 4503599627370501 not found"
}

Complete a job

Completes the job with the given output variables and moves its token on.

The request is idempotent: a job which is already completed is answered with 201 again, and its process instance is moved on if an earlier completion left it behind. A job which was terminated (its instance cancelled, an interrupting boundary event) or failed with an incident no longer waits for a worker and is answered with 409; nothing is changed.

path Parameters
jobKey
required
integer <int64>
Example: 4503599627370540
Request Body schema: application/json
required
variables
object or null

Responses

Request samples

Content type
application/json
{
  • "variables": {
    }
}

Response samples

Content type
application/json
{
  • "code": "NOT_FOUND",
  • "message": "Process instance with key 4503599627370501 not found"
}

Extend the lock of a job delivered over the gRPC job stream

Moves the lock deadline of a job to now plus lockDuration (absent: the lock duration of the subscription the job was delivered under, capped by jobManager.maxLockDurationMs) and answers the new deadline. clientId is the client id of the job stream the job was delivered to; a job which is not locked at the moment (the lock lapsed, the job was completed or failed) or which is locked for a different client answers 409, and the job itself is left untouched. With deliveryToken only the lock of that delivery is extended: a lock the job holds for another delivery, as after this delivery's lock lapsed and the job came back to the same client, answers 409 too. It exists for workers which receive jobs over the stream but send their commands over REST. Jobs fetched through GET /jobs hold no lock and cannot extend one.

path Parameters
jobKey
required
integer <int64>
Example: 4503599627370540
Request Body schema: application/json
required
clientId
required
string

The client id of the job stream the job was delivered to.

deliveryToken
integer <int64> >= 1

The delivery_token of the delivery whose lock to extend. Absent, the lock the client holds on the job is extended, whichever delivery it belongs to.

lockDuration
string

ISO-8601 duration to lock the job for, counted from now. Absent means the subscription's lock duration.

Responses

Request samples

Content type
application/json
{
  • "clientId": "order-worker-1",
  • "lockDuration": "PT5M"
}

Response samples

Content type
application/json
{
  • "lockUntil": "2025-08-22T15:20:30Z"
}

Fail a job

Reports that a worker could not finish the job.

With an errorCode the failure is a BPMN error: a matching error boundary event or error event sub-process takes over, otherwise the job fails with an incident. Retries are neither consulted nor spent, and the variables are handed to the catching event.

Without an errorCode one attempt of the job is spent. While retries remain, the job stays active, no incident is created, and the job is handed out again once retryBackoff has passed (see retryAt on the job); the variables of such a failure are dropped. When none remain, the job fails, keeps the variables as its output variables, and an incident naming the attempts is created.

retries and retryBackoff are validated in every request, and a request with an invalid value is refused with 400 even when it carries an errorCode, which then ignores them.

A request naming the deliveryToken it belongs to is recorded once: repeated after a timeout, or arriving after the job was handed out again, it changes nothing and is answered with 204 like the first, whatever it carries. One exception: a failure with an errorCode which raised an incident leaves no entry in the failure history, so once that incident was resolved and the failure of a later delivery was recorded, its repeat is refused with 409. A request for a delivery which another delivery superseded before its failure was recorded - its lock lapsed or the leader changed, and the job was handed out again - changes nothing and is refused with 409: the newer delivery decides. A token which was never handed out is refused with 400. Without deliveryToken the request is not idempotent: every failure without an errorCode the engine receives spends an attempt, also one for a job waiting out its backoff; a client which repeats a request after a timeout may spend two, and one repeated after the first exhausted the retries is answered with 409, like a failure of a job which was completed or terminated.

A job delivered over the gRPC job stream stays locked for the stream's client until that client reports it or the lock lapses. A worker which receives jobs over the stream but sends its commands over REST names its stream's clientId, as on extendJobLock, so that its failure releases the lock and retryBackoff is honoured; without clientId the lock stands, and the job is handed out again only once the lock has lapsed, whatever retryBackoff says.

path Parameters
jobKey
required
integer <int64>

The key of the job to fail.

Request Body schema: application/json
required
clientId
string

The client id of the job stream the job was delivered to, whose lock the failure releases. Absent, a lock held on the job stands until it lapses.

deliveryToken
integer <int64> >= 1

The delivery the failure belongs to - the delivery_token of the delivery over the job stream, taken from that delivery. A repeat of a recorded failure changes nothing, a failure of a superseded delivery is refused with 409, and a token never handed out with 400. Absent, every failure counts; a worker which never received the job over the stream sends none.

errorCode
string

The error code against which an error catch event is matched. Absent or empty, the failure spends one of the job's retries.

message
string

Why the job failed. Kept as lastFailureMessage on the job and, once the retries are exhausted, part of the incident message.

retries
integer <int32> >= 0

Retries remaining after this failure. Absent means one less than now; a value above jobs.maxRetries is capped. Validated but otherwise ignored with an errorCode.

retryBackoff
string

ISO-8601 duration (for example PT10S) the job waits before it is handed out again. Absent means the retryBackoff of the task definition, else jobs.defaultRetryBackoff; PT0S means at once. Capped by jobs.maxRetryBackoff. Validated but otherwise ignored with an errorCode.

variables
object or null

Responses

Request samples

Content type
application/json
Example
{
  • "errorCode": "123-456-789",
  • "variables": {
    }
}

Response samples

Content type
application/json
{
  • "code": "NOT_FOUND",
  • "message": "Process instance with key 4503599627370501 not found"
}

Set the remaining retries of a job

Sets the remaining retries of an active or failed job and when it is handed out next. An absent retryAt makes a job waiting out a backoff deliverable at once. The incident of a failed job stays open: resolving it then keeps the retries set here instead of restoring the retries of the task definition, and a retryAt still ahead keeps the job from its workers until then. To set the retries of a failed job and resolve its incident in one request, give them to POST /v1/incidents/{incidentKey}/resolve instead.

path Parameters
jobKey
required
integer <int64>
Example: 4503599627370540
Request Body schema: application/json
required
retries
required
integer <int32> >= 1

Retries the job has from now on, at most jobs.maxRetries.

retryAt
string <date-time>

When the job is handed out next. Absent, or in the past, means at once; later than now plus jobs.maxRetryBackoff is refused.

Responses

Request samples

Content type
application/json
{
  • "retries": 3
}

Response samples

Content type
application/json
{
  • "code": "NOT_FOUND",
  • "message": "Process instance with key 4503599627370501 not found"
}

List the failures of a job

Lists the failures without an error code a worker reported for the job, newest first: the attempt, when it failed, why, and when the job was handed out again. The failure which exhausted the retries carries the key of the incident it created. Failures with an error code are BPMN errors and are not listed.

path Parameters
jobKey
required
integer <int64>
Example: 4503599627370540
query Parameters
page
integer <int32> >= 1
Default: 1
Example: page=1

Page number (1-based indexing)

size
integer <int32> [ 1 .. 1000 ]
Default: 10
Example: size=10

Number of items per page (max 1000)

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "page": 1,
  • "size": 10,
  • "count": 2,
  • "totalCount": 2
}

message

Publish a message

Request Body schema: application/json
required
correlationKey
string
messageName
required
string
variables
object or null

Responses

Request samples

Content type
application/json
{
  • "correlationKey": "011-235-813",
  • "messageName": "payment-received",
  • "variables": {
    }
}

Response samples

Content type
application/json
{
  • "code": "BAD_REQUEST",
  • "message": "Invalid request payload"
}

incident

Resolve an incident

Resolves an incident and continues the execution it stopped. The job the incident leaves waiting, if any, starts a fresh series of attempts with the retries of its task definition, evaluated again, and is handed out at once. Retries set for the job since its last series ended, with POST /v1/jobs/{jobKey}/retries, are kept instead, together with their retryAt.

The body is optional. With retries the job gets these retries, and with retryAt it is not handed out before then, in the same transaction that resolves the incident: either both happen or neither does. The retries of the task definition are not evaluated then, so this is also the way out when they no longer evaluate (409). retries and retryAt are checked as POST /v1/jobs/{jobKey}/retries checks them. Retries given for an incident which leaves no job waiting, such as one of an expression, are refused with 400; a job whose incident it did not raise itself, such as one of a boundary event, keeps them as that endpoint would set them.

path Parameters
incidentKey
required
integer <int64>
Example: 4503599627370530
Request Body schema: application/json
optional
retries
integer <int32> >= 1

Retries the job the incident leaves waiting has from now on, at most jobs.maxRetries. Absent, the resolution restores them from the task definition, unless retries were set for the job since its last series ended.

retryAt
string <date-time>

When that job is handed out next; only together with retries. Absent, or in the past, means at once; later than now plus jobs.maxRetryBackoff is refused.

Responses

Request samples

Content type
application/json
{
  • "retries": 3
}

Response samples

Content type
application/json
{
  • "code": "NOT_FOUND",
  • "message": "Process instance with key 4503599627370501 not found"
}

test

start pprof server

path Parameters
nodeId
required
string^[a-zA-Z0-9-_]+$

ID of the node to start pprof server on

Responses

Response samples

Content type
application/json
{
  • "code": "METHOD_NOT_ALLOWED",
  • "message": "method not allowed"
}

stop pprof server

path Parameters
nodeId
required
string^[a-zA-Z0-9-_]+$

ID of the node to stop pprof server on

Responses

Response samples

Content type
application/json
{
  • "code": "METHOD_NOT_ALLOWED",
  • "message": "method not allowed"
}

migration

Start a new process instance starting at chosen elements

Request Body schema: application/json
required
processDefinitionKey
required
integer <int64>
variables
object or null
startingElementIds
required
Array of strings

Allows for a start at chosen element id

Responses

Request samples

Content type
application/json
{
  • "processDefinitionKey": 4503599627370498,
  • "variables": {
    },
  • "startingElementIds": [
    ]
}

Response samples

Content type
application/json
{
  • "key": 0,
  • "processDefinitionKey": 0,
  • "bpmnProcessId": "string",
  • "version": 0,
  • "versionTag": "string",
  • "businessKey": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "state": "active",
  • "parentProcessInstanceKey": 0,
  • "processType": "default",
  • "variables": { },
  • "incidentCount": 0,
  • "activeElementInstances": [
    ]
}

Modify process instance

Request Body schema: application/json
required
processInstanceKey
required
integer <int64>
variables
object or null

Sets process instance variables.

Array of objects (StartElementInstanceData)

Starts execution token.

Array of objects (TerminateElementInstanceData)

Terminates execution token.

Responses

Request samples

Content type
application/json
{
  • "processInstanceKey": 0,
  • "variables": { },
  • "elementInstancesToStart": [
    ],
  • "elementInstancesToTerminate": [
    ]
}

Response samples

Content type
application/json
{
  • "processInstance": {
    },
  • "activeElementInstances": [
    ]
}