openapi: 3.0.0
info:
title: ZenBPM OpenAPI
description: REST API for ZenBPM
version: 1.1.0
contact:
name: API Support
email: info@pbinitiative.org
license:
name: AGPL
url: https://www.gnu.org/licenses/agpl-3.0.en.html
servers:
- url: http://localhost:8080/v1
tags:
- name: process-definition
- name: process-instance
- name: dmn-resource-definition
- name: decision-definition
- name: decision-instance
- name: job
- name: message
- name: incident
- name: test
paths:
/dmn-resource-definitions:
post:
operationId: createDmnResourceDefinition
summary: Deploy a new dmn resource definition
tags:
- dmn-resource-definition
requestBody:
required: true
content:
application/xml:
schema:
type: string
format: xml
example: |
...
responses:
201:
description: Dmn resource definition deployed
content:
application/json:
schema:
type: object
required:
- dmnResourceDefinitionKey
properties:
dmnResourceDefinitionKey:
type: integer
format: int64
example:
dmnResourceDefinitionKey: 4503599627370495
200:
description: >
DMN resource definition with the same dmnResourceDefinitionId and version already exists
and the content is identical — deployment ignored, returns the key of the existing definition.
If the content differs for the same ID and version, a new version is deployed and 201 is returned instead.
content:
application/json:
schema:
type: object
required:
- dmnResourceDefinitionKey
properties:
dmnResourceDefinitionKey:
type: integer
format: int64
example:
dmnResourceDefinitionKey: 4503599627370495
400:
description: Bad request
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
500:
description: Internal server error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
502:
description: Failed to redirect request to responsible node
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
get:
operationId: getDmnResourceDefinitions
summary: Get list of dmn resource definitions
tags:
- dmn-resource-definition
parameters:
- name: page
in: query
schema:
type: integer
format: int32
minimum: 1
default: 1
description: Page number (1-based indexing)
example: 1
- name: size
in: query
schema:
type: integer
format: int32
minimum: 1
maximum: 100
default: 10
description: Number of items per page (max 100)
example: 10
- name: onlyLatest
in: query
schema:
type: boolean
default: false
description: If true, returns only the latest version of each DMN resource definition grouped by dmnResourceDefinitionId
- name: sortBy
in: query
schema:
type: string
enum: [dmnDefinitionName, dmnResourceDefinitionId, version, key]
description: Sort field
- $ref: "#/components/parameters/sortOrder"
- name: dmnResourceDefinitionId
in: query
schema:
type: string
description: Filter by DMN resource definition ID to get all versions
- name: dmnDefinitionName
in: query
schema:
type: string
description: Filter by name (partial match)
- name: search
in: query
schema:
type: string
description: Search by DMN resource definition ID or DMN definition name
responses:
200:
description: List of dmn resource definitions
content:
application/json:
schema:
$ref: "#/components/schemas/DmnResourceDefinitionsPage"
example:
items:
- key: 4503599627370496
version: 2
dmnResourceDefinitionId: "loan-approval"
dmnDefinitionName: "Loan Approval Decision"
- key: 4503599627370497
version: 1
dmnResourceDefinitionId: "credit-score-check"
dmnDefinitionName: "Credit Score Check"
page: 1
size: 10
count: 2
totalCount: 2
400:
description: Bad request
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
500:
description: Internal server error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
502:
description: Failed to redirect request to responsible node
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
/dmn-resource-definitions/{dmnResourceDefinitionKey}:
get:
operationId: getDmnResourceDefinition
summary: Get dmn resource definition
tags:
- dmn-resource-definition
parameters:
- name: dmnResourceDefinitionKey
required: true
in: path
schema:
type: integer
format: int64
example: 4503599627370495
responses:
200:
description: Dmn resource definition
content:
application/json:
schema:
$ref: "#/components/schemas/DmnResourceDefinitionDetail"
example:
key: 4503599627370495
version: 2
dmnResourceDefinitionId: "loan-approval"
dmnDefinitionName: "Loan Approval Decision"
dmnData: |
...
400:
description: Bad request
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
404:
description: Not found
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
500:
description: Internal server error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
502:
description: Failed to redirect request to responsible node
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
/decision-definitions/{decisionId}/evaluate:
post:
operationId: evaluateDecision
summary: Evaluate latest version of decision definition directly in engine
tags:
- decision-definition
parameters:
- name: decisionId
required: true
in: path
schema:
type: string
example: "loan-approval"
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- bindingType
properties:
bindingType:
type: string
enum:
- latest
- deployment #TODO: unsupported
- versionTag
dmnResourceDefinitionId:
description: Can be used in combination with bindingType latest
type: string
versionTag:
description: Is used in combination with bindingType versionTag
type: string
variables:
type: object
example:
bindingType: "latest"
variables:
age: 25
income: 50000
responses:
200:
description: Decision Evaluated
content:
application/json:
schema:
$ref: "#/components/schemas/EvaluatedDRDResult"
example:
evaluatedDecisions:
- decisionId: "loan-approval"
decisionName: "Loan Approval"
decisionType: "DECISION_TABLE"
decisionDefinitionVersion: 1
dmnResourceDefinitionKey: 4503599627370495
dmnResourceDefinitionId: "loan-approval"
matchedRules:
- ruleId: "rule1"
ruleIndex: 0
evaluatedOutputs:
- outputId: "output1"
outputName: "approved"
outputValue: { "approved": true }
decisionOutput: { "approved": true }
evaluatedInputs:
- inputId: "input1"
inputName: "Age"
inputExpression: "age"
inputValue: { "age": 25 }
- inputId: "input2"
inputName: "Income"
inputExpression: "income"
inputValue: { "income": 50000 }
decisionOutput: { "approved": true }
400:
description: Bad request
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
example:
code: "BAD_REQUEST"
message: "The request parameters are invalid"
404:
description: Not Found (e.g. decision definition was not found)
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
example:
code: "NOT_FOUND"
message: "No decision definition found for the given decisionId"
500:
description: Internal server error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
example:
code: "INTERNAL_SERVER_ERROR"
message: "An unexpected error occurred while evaluating the decision"
502:
description: Failed to redirect request to responsible node
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
example:
code: "BAD_GATEWAY"
message: "Failed to redirect request to responsible node"
/decision-instances:
get:
operationId: getDecisionInstances
summary: Get list of decision instances
tags:
- decision-instance
parameters:
- name: dmnResourceDefinitionKey
in: query
schema:
type: integer
format: int64
description: Filter by DMN resource definition key
- name: dmnResourceDefinitionId
in: query
schema:
type: string
description: Filter by DMN resource definition ID
- name: processInstanceKey
in: query
schema:
type: integer
format: int64
description: Filter by process instance
- name: evaluatedFrom
in: query
schema:
type: string
format: date-time
description: Filter - evaluated after this date
- name: evaluatedTo
in: query
schema:
type: string
format: date-time
description: Filter - evaluated before this date
- name: page
in: query
schema:
type: integer
format: int32
minimum: 1
default: 1
description: Page number (1-based indexing)
- name: size
in: query
schema:
type: integer
format: int32
minimum: 1
maximum: 100
default: 10
description: Number of items per page (max 100)
- name: sortBy
in: query
schema:
type: string
enum: [evaluatedAt, key]
description: Sort field
- $ref: "#/components/parameters/sortOrder"
responses:
200:
description: List of decision instances
content:
application/json:
schema:
$ref: "#/components/schemas/DecisionInstancePartitionPage"
example:
partitions:
- partition: 1
count: 156
items:
- key: 4503599627370600
dmnResourceDefinitionKey: 4503599627370495
dmnResourceDefinitionId: "loan-approval"
processInstanceKey: 4503599627370501
flowElementInstanceKey: 4503599627370550
evaluatedAt: "2025-08-22T14:30:25Z"
inputCount: 3
outputCount: 2
- partition: 2
count: 98
items:
- key: 9007199254740995
dmnResourceDefinitionKey: 4503599627370495
dmnResourceDefinitionId: "loan-approval"
processInstanceKey: 9007199254740992
flowElementInstanceKey: 9007199254740980
evaluatedAt: "2025-08-22T15:45:33Z"
inputCount: 3
outputCount: 2
page: 1
size: 10
count: 2
totalCount: 254
400:
description: Bad request
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
example:
code: "BAD_REQUEST"
message: "The request parameters are invalid"
500:
description: Internal server error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
example:
code: "INTERNAL_SERVER_ERROR"
message: "An unexpected error occurred while retrieving decision instances"
502:
description: Failed to collect data from responsible nodes
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
example:
code: "BAD_GATEWAY"
message: "Failed to collect data from responsible nodes"
/decision-instances/{decisionInstanceKey}:
get:
operationId: getDecisionInstance
summary: Get decision instance details
tags:
- decision-instance
parameters:
- name: decisionInstanceKey
in: path
required: true
schema:
type: integer
format: int64
example: 4503599627370600
responses:
200:
description: Decision instance details
content:
application/json:
schema:
$ref: "#/components/schemas/DecisionInstanceDetail"
example:
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:
- decisionId: "loan-approval"
decisionName: "Loan Approval"
decisionType: "DECISION_TABLE"
evaluationOrder: 1
inputs:
- inputId: "input_amount"
inputName: "Loan Amount"
inputExpression: "loanAmount"
inputValue: 50000
outputs:
- outputId: "output_approved"
outputName: "Approved"
outputValue: true
matchedRules:
- ruleId: "rule_1"
ruleIndex: 0
evaluatedOutputs:
- outputId: "output_approved"
outputName: "Approved"
outputValue: true
decisionOutput:
approved: true
404:
description: Decision instance not found
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
example:
code: "NOT_FOUND"
message: "No decision instance found for the given key"
500:
description: Internal server error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
example:
code: "INTERNAL_SERVER_ERROR"
message: "An unexpected error occurred while retrieving decision instance"
502:
description: Failed to collect data from responsible node
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
example:
code: "BAD_GATEWAY"
message: "Failed to collect data from responsible node"
/process-definitions:
post:
operationId: createProcessDefinition
summary: Deploy a new process definition
tags:
- process-definition
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
required:
- resource
properties:
resource:
type: string
format: binary
description: BPMN process definition file (.bpmn format only, max 4MB)
encoding:
resource:
contentType: application/octet-stream
responses:
201:
description: Process definition deployed
content:
application/json:
schema:
type: object
required:
- processDefinitionKey
properties:
processDefinitionKey:
type: integer
format: int64
example:
processDefinitionKey: 4503599627370498
200:
description: >
Process definition with the same BPMN process ID and version already exists
and the content is identical — deployment ignored, returns the key of the existing definition.
If the content differs for the same ID and version, a new version is deployed and 201 is returned instead.
content:
application/json:
schema:
type: object
required:
- processDefinitionKey
properties:
processDefinitionKey:
type: integer
format: int64
example:
processDefinitionKey: 4503599627370498
400:
description: Bad request
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
example:
code: "BAD_REQUEST"
message: "The provided BPMN file is invalid: missing required 'process' element"
500:
description: Internal server error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
example:
code: "INTERNAL_SERVER_ERROR"
message: "An unexpected error occurred while processing the BPMN file"
502:
description: Failed to redirect request to responsible node
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
example:
code: "BAD_GATEWAY"
message: "Failed to redirect request to responsible node"
get:
operationId: getProcessDefinitions
summary: Get list of process definitions
tags:
- process-definition
parameters:
- name: page
in: query
schema:
type: integer
format: int32
minimum: 1
default: 1
description: Page number (1-based indexing)
example: 1
- name: size
in: query
schema:
type: integer
format: int32
minimum: 1
maximum: 100
default: 10
description: Number of items per page (max 100)
example: 10
- name: onlyLatest
in: query
schema:
type: boolean
default: false
description: If true, returns only the latest version of each process definition grouped by bpmnProcessId
- name: sortBy
in: query
schema:
type: string
enum: [name, bpmnProcessId, bpmnProcessName, version, key]
description: Sort field
- $ref: "#/components/parameters/sortOrder"
- name: bpmnProcessId
in: query
schema:
type: string
description: Filter by BPMN process ID to get all versions of a specific process
- name: search
in: query
schema:
type: string
description: Filter by BPMN process ID or BPMN process name (partial match)
responses:
200:
description: List of process definitions
content:
application/json:
schema:
$ref: "#/components/schemas/ProcessDefinitionsPage"
example:
items:
- key: 4503599627370498
version: 1
bpmnProcessId: "loan-application"
- key: 4503599627370499
version: 2
bpmnProcessId: "loan-application"
- key: 4503599627370500
version: 1
bpmnProcessId: "credit-check"
page: 1
size: 10
count: 2
totalCount: 2
400:
description: Bad request
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
example:
code: "BAD_REQUEST"
message: "The request parameters are invalid"
500:
description: Internal server error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
example:
code: "INTERNAL_SERVER_ERROR"
message: "An unexpected error occurred while retrieving process definitions"
/process-definitions/{processDefinitionKey}:
get:
operationId: getProcessDefinition
summary: Get process definition
tags:
- process-definition
parameters:
- name: processDefinitionKey
required: true
in: path
schema:
type: integer
format: int64
example: 4503599627370498
responses:
200:
description: Process definition
content:
application/json:
schema:
$ref: "#/components/schemas/ProcessDefinitionDetail"
example:
key: 4503599627370498
version: 1
bpmnProcessId: "loan-application"
bpmnData: |
...
400:
description: Bad request
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
example:
code: "BAD_REQUEST"
message: "The provided processDefinitionKey is invalid"
404:
description: Not Found
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
example:
code: "NOT_FOUND"
message: "No process definition found for the given key"
500:
description: Internal server error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
example:
code: "INTERNAL_SERVER_ERROR"
message: "An unexpected error occurred while retrieving the process definition"
/process-definitions/{processDefinitionKey}/statistics:
get:
operationId: getProcessDefinitionElementStatistics
summary: Get running and incident counts per BPMN element
tags:
- process-definition
parameters:
- name: processDefinitionKey
required: true
in: path
schema:
type: integer
format: int64
example: 4503599627370498
responses:
200:
description: Element statistics as a map of elementId to counts
content:
application/json:
schema:
$ref: "#/components/schemas/ElementStatisticsPartitions"
example:
partitions:
- partition: 1
items:
Task_CheckApplication:
activeCount: 5
incidentCount: 2
Task_CreditCheck:
activeCount: 3
incidentCount: 1
- partition: 2
items:
Task_CheckApplication:
activeCount: 4
incidentCount: 0
Task_CreditCheck:
activeCount: 6
incidentCount: 3
400:
description: Bad request
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
example:
code: "BAD_REQUEST"
message: "The provided processDefinitionKey is invalid"
404:
description: Not Found
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
example:
code: "NOT_FOUND"
message: "No process definition found for the given key"
500:
description: Internal server error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
example:
code: "INTERNAL_SERVER_ERROR"
message: "An unexpected error occurred while retrieving process definition statistics"
502:
description: Failed to redirect request to responsible node
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
example:
code: "BAD_GATEWAY"
message: "Failed to redirect request to responsible node"
/process-definitions/statistics:
get:
operationId: getProcessDefinitionStatistics
summary: Get process definition statistics
tags:
- process-definition
parameters:
- name: page
in: query
schema:
type: integer
format: int32
minimum: 1
default: 1
description: Page number (1-based indexing)
- name: size
in: query
schema:
type: integer
format: int32
minimum: 1
maximum: 100
default: 10
description: Number of items per page (max 100)
- name: onlyLatest
in: query
schema:
type: boolean
default: false
description: If true, returns only the latest version of each process definition
- name: bpmnProcessIdIn
in: query
schema:
type: array
items:
type: string
description: Filter by BPMN process ID
- name: bpmnProcessDefinitionKeyIn
in: query
schema:
type: array
items:
type: integer
format: int64
description: Filter by process definition key
- name: search
in: query
schema:
type: string
description: Search by BPMN process ID or BPMN process name (partial match)
- name: sortBy
in: query
schema:
type: string
enum: [name, bpmnProcessId, version, instanceCount, incidentCount]
description: Sort field
- name: sortOrder
in: query
schema:
type: string
enum: [asc, desc]
description: Sort direction
responses:
200:
description: Process definition statistics
content:
application/json:
schema:
$ref: "#/components/schemas/ProcessDefinitionStatisticsPage"
example:
items:
- key: 4503599627370498
version: 3
bpmnProcessId: "loan-application"
name: "Loan Application Process"
bpmnResourceName: "loan-application.bpmn"
instanceCounts:
total: 1250
active: 45
completed: 1180
terminated: 20
failed: 5
- key: 4503599627370510
version: 1
bpmnProcessId: "order-fulfillment"
name: "Order Fulfillment"
bpmnResourceName: "order-fulfillment.bpmn"
instanceCounts:
total: 890
active: 120
completed: 750
terminated: 15
failed: 5
page: 1
size: 10
count: 2
totalCount: 2
400:
description: Bad request
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
example:
code: "BAD_REQUEST"
message: "The request parameters are invalid"
500:
description: Internal server error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
example:
code: "INTERNAL_SERVER_ERROR"
message: "An unexpected error occurred while retrieving process definition statistics"
502:
description: Failed to redirect request to responsible node
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
example:
code: "BAD_GATEWAY"
message: "Failed to redirect request to responsible node"
/process-instances:
post:
operationId: createProcessInstance
summary: Create a new process instance
tags:
- process-instance
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
processDefinitionKey:
type: integer
format: int64
description: Start the process instance using bpmn process definition identified by processDefinitionKey. ( Takes priority )
bpmnProcessId:
type: string
description: Start the process instance using latest bpmn process definition identified by bpmnProcessId.
variables:
type: object
historyTimeToLive:
type: string
description: 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)
example: 30d
businessKey:
type: string
description: Business key of the process instance used mainly for correlating process instance to the business entity.
example:
processDefinitionKey: 4503599627370498
variables:
customerId: "customer-456"
amount: 1000
applicationDate: "2025-08-22"
responses:
201:
description: Process instance created
content:
application/json:
schema:
$ref: "#/components/schemas/ProcessInstance"
example:
key: 4503599627370501
processDefinitionKey: 4503599627370498
createdAt: "2025-08-22T14:30:25Z"
state: "active"
variables:
customerId: "customer-456"
amount: 1000
applicationDate: "2025-08-22"
400:
description: Bad request
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
404:
description: Not found (e.g. process definition was not found)
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
500:
description: Internal server error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
502:
description: Failed to redirect request to responsible node
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
get:
summary: Get list of running process instances
operationId: getProcessInstances
tags:
- process-instance
parameters:
- name: processDefinitionKey
in: query
schema:
type: integer
format: int64
description: Key of the process definition
example: 4503599627370498
- name: parentProcessInstanceKey
in: query
schema:
type: integer
format: int64
description: Key of the parent process instance
example: 1603294627315478
- name: businessKey
in: query
schema:
type: string
description: Business key of the process instance used mainly for correlating process instance to the business entity.
- name: page
in: query
schema:
type: integer
format: int32
minimum: 1
default: 1
description: Page number (1-based indexing)
example: 1
- name: size
in: query
schema:
type: integer
format: int32
minimum: 1
default: 10
description: Number of items per page
example: 10
- name: bpmnProcessId
in: query
schema:
type: string
description: Filter by BPMN process ID (returns instances across all versions)
- name: sortBy
in: query
schema:
type: string
enum: [createdAt, key, state, businessKey, bpmnProcessId]
description: Sort field (applies globally across partitions)
- $ref: "#/components/parameters/sortOrder"
- name: createdFrom
in: query
schema:
type: string
format: date-time
description: Filter - created after this date
- name: createdTo
in: query
schema:
type: string
format: date-time
description: Filter - created before this date
- name: state
in: query
schema:
type: string
enum: [active, completed, terminated, failed]
description: Filter by state
- name: activityId
in: query
schema:
type: string
description: Filter by current activity element ID
- name: includeChildProcesses
in: query
schema:
type: boolean
responses:
200:
description: List of running process instances
content:
application/json:
schema:
$ref: "#/components/schemas/ProcessInstancePage"
example:
partitions:
- partition: 1
count: 24
items:
- key: 4503599627370501
processDefinitionKey: 4503599627370498
bpmnProcessId: "loan-application"
createdAt: "2025-08-22T14:30:25Z"
state: "active"
variables:
customerId: "customer-456"
amount: 1000
applicationDate: "2025-08-22"
- key: 4503599627370505
processDefinitionKey: 4503599627370498
bpmnProcessId: "loan-application"
createdAt: "2025-08-22T15:10:12Z"
state: "active"
variables:
customerId: "customer-789"
amount: 5000
applicationDate: "2025-08-22"
- partition: 2
count: 18
items:
- key: 9007199254740992
processDefinitionKey: 4503599627370498
bpmnProcessId: "loan-application"
createdAt: "2025-08-22T15:45:33Z"
state: "active"
variables:
customerId: "customer-101"
amount: 7500
applicationDate: "2025-08-22"
page: 1
size: 10
count: 3
totalCount: 42
400:
description: Bad request
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
500:
description: Internal server error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
502:
description: Failed to collect data from responsible nodes
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
/process-instances/{processInstanceKey}:
get:
operationId: getProcessInstance
tags:
- process-instance
summary: Get state of a process instance selected by processInstanceKey
parameters:
- name: processInstanceKey
in: path
required: true
schema:
type: integer
format: int64
example: 4503599627370501
responses:
200:
description: State of a process instance
content:
application/json:
schema:
$ref: "#/components/schemas/ProcessInstance"
example:
key: 4503599627370501
processDefinitionKey: 4503599627370498
createdAt: "2025-08-22T14:30:25Z"
state: "active"
variables:
customerId: "customer-456"
amount: 1000
applicationDate: "2025-08-22"
taskAssignee: "john.doe"
currentStatus: "Application review"
404:
description: Not Found
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
500:
description: Internal server error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
502:
description: Failed to collect data from responsible node
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
/process-instances/{processInstanceKey}/variables:
patch:
operationId: updateProcessInstanceVariables
summary: Update process instance variables
tags:
- process-instance
parameters:
- name: processInstanceKey
in: path
required: true
schema:
type: integer
format: int64
example: 4503599627370501
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- variables
properties:
variables:
type: object
example:
variables:
orderAmount: 150.00
approved: true
reviewedBy: "john.doe"
reviewComment: "Approved after verification"
responses:
204:
description: Variables updated
400:
description: Bad request
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
404:
description: Not found (e.g process instance is not found)
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
409:
description: Conflict (e.g process instance is not in correct state for this operation)
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
500:
description: Internal server error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
502:
description: Failed to redirect request to responsible node
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
/process-instances/{processInstanceKey}/variables/{variableName}:
delete:
operationId: deleteProcessInstanceVariable
summary: Delete a process instance variable
tags:
- process-instance
parameters:
- name: processInstanceKey
in: path
required: true
schema:
type: integer
format: int64
example: 4503599627370501
- name: variableName
in: path
required: true
schema:
type: string
example: "temporaryFlag"
responses:
204:
description: Variable deleted
400:
description: Bad request
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
404:
description: Not found (e.g. process instance or variable not found)
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
409:
description: Conflict (e.g process instance is not in correct state for this operation)
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
500:
description: Internal server error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
502:
description: Failed to redirect request to responsible node
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
/process-instances/{processInstanceKey}/child-processes:
get:
summary: Get list of running child process instances
operationId: getChildProcessInstances
tags:
- process-instance
parameters:
- name: processInstanceKey
in: path
required: true
schema:
type: integer
format: int64
example: 4503599627370501
- name: page
in: query
schema:
type: integer
format: int32
minimum: 1
default: 1
description: Page number (1-based indexing)
example: 1
- name: size
in: query
schema:
type: integer
format: int32
minimum: 1
default: 10
description: Number of items per page
example: 10
- name: sortBy
in: query
schema:
type: string
enum: [key, state]
description: Sort field (applies globally across partitions)
- $ref: "#/components/parameters/sortOrder"
- name: state
in: query
schema:
type: string
enum: [active, completed, terminated, failed]
description: Filter by state
responses:
200:
description: List of child process instances
content:
application/json:
schema:
$ref: "#/components/schemas/ProcessInstancePage"
example:
partitions:
- partition: 1
items:
- key: 4503599627370501
processDefinitionKey: 4503599627370498
createdAt: "2025-08-22T14:30:25Z"
state: "active"
variables:
customerId: "customer-456"
amount: 1000
applicationDate: "2025-08-22"
- key: 4503599627370505
processDefinitionKey: 4503599627370498
createdAt: "2025-08-22T15:10:12Z"
state: "active"
variables:
customerId: "customer-789"
amount: 5000
applicationDate: "2025-08-22"
- partition: 2
items:
- key: 9007199254740992
processDefinitionKey: 4503599627370498
createdAt: "2025-08-22T15:45:33Z"
state: "active"
variables:
customerId: "customer-101"
amount: 7500
applicationDate: "2025-08-22"
page: 1
size: 10
count: 3
totalCount: 3
400:
description: Bad request
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
500:
description: Internal server error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
502:
description: Failed to collect data from responsible nodes
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
/process-instances/{processInstanceKey}/cancel:
post:
operationId: cancelProcessInstance
summary: Cancels a process instance
tags:
- process-instance
parameters:
- name: processInstanceKey
in: path
required: true
schema:
type: integer
format: int64
example: 4503599627370501
responses:
204:
description: Process instance cancelled
400:
description: Bad request
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
404:
description: Not found (e.g. process instance is not found)
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
409:
description: Conflict (e.g process instance is not in cancellable state)
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
502:
description: Failed to redirect request to responsible node
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
500:
description: Internal server error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
/process-instances/{processInstanceKey}/jobs:
get:
operationId: getProcessInstanceJobs
tags:
- process-instance
summary: Get list of jobs for a process instance
parameters:
- name: processInstanceKey
in: path
required: true
schema:
type: integer
format: int64
example: 4503599627370501
- name: page
in: query
schema:
type: integer
format: int32
minimum: 1
default: 1
description: Page number (1-based indexing)
example: 1
- name: size
in: query
schema:
type: integer
format: int32
minimum: 1
maximum: 100
default: 10
description: Number of items per page (max 100)
example: 10
responses:
200:
description: List of jobs
content:
application/json:
schema:
$ref: "#/components/schemas/JobPage"
example:
items:
- key: 4503599627370510
elementId: "Task_CheckApplication"
type: "user-task"
processInstanceKey: 4503599627370501
state: "active"
createdAt: "2025-08-22T14:30:26Z"
variables:
formKey: "loan-application-form"
assignee: "john.doe"
- key: 4503599627370511
elementId: "Task_CreditCheck"
type: "service-task"
processInstanceKey: 4503599627370501
state: "completed"
createdAt: "2025-08-22T14:32:15Z"
variables:
result: "approved"
score: 85
page: 1
size: 10
count: 2
totalCount: 2
400:
description: Bad request
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
500:
description: Internal server error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
502:
description: Failed to collect data from responsible node
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
/process-instances/{processInstanceKey}/history:
get:
operationId: getHistory
tags:
- process-instance
summary: Get list of visited flow elements for a process instance
parameters:
- name: processInstanceKey
in: path
required: true
schema:
type: integer
format: int64
example: 4503599627370501
- name: page
in: query
schema:
type: integer
format: int32
minimum: 1
default: 1
description: Page number (1-based indexing)
example: 1
- name: size
in: query
schema:
type: integer
format: int32
minimum: 1
maximum: 100
default: 10
description: Number of items per page (max 100)
example: 10
- name: sortBy
in: query
schema:
type: string
enum: [createdAt]
- name: sortOrder
in: query
schema:
type: string
enum: [asc, desc]
description: Sort direction
responses:
200:
description: List of activities
content:
application/json:
schema:
$ref: "#/components/schemas/FlowElementHistoryPage"
example:
items:
- key: 4503599627370525
elementId: "StartEvent_1"
processInstanceKey: 4503599627370501
createdAt: "2025-08-22T14:30:26Z"
- key: 4503599627370526
elementId: "Flow_1"
processInstanceKey: 4503599627370501
createdAt: "2025-08-22T14:30:26Z"
- key: 4503599627370527
elementId: "Task_CheckApplication"
processInstanceKey: 4503599627370501
createdAt: "2025-08-22T14:30:27Z"
page: 1
size: 10
count: 3
totalCount: 3
400:
description: Bad request
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
500:
description: Internal server error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
502:
description: Failed to collect data from responsible node
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
/process-instances/{processInstanceKey}/incidents:
get:
operationId: getIncidents
tags:
- process-instance
summary: Get list of incidents for a process instance
parameters:
- name: processInstanceKey
in: path
required: true
schema:
type: integer
format: int64
example: 4503599627370501
- name: state
in: query
schema:
type: string
enum: [resolved, unresolved]
description: Filter by incident state (omit to get all incidents)
- name: page
in: query
schema:
type: integer
format: int32
minimum: 1
default: 1
description: Page number (1-based indexing)
example: 1
- name: size
in: query
schema:
type: integer
format: int32
minimum: 1
maximum: 100
default: 10
description: Number of items per page (max 100)
example: 10
responses:
200:
description: List of incidents
content:
application/json:
schema:
$ref: "#/components/schemas/IncidentPage"
example:
items:
- key: 4503599627370530
elementInstanceKey: 4503599627370521
elementId: "Task_CheckApplication"
processInstanceKey: 4503599627370501
message: "Failed to assign task: User not found"
createdAt: "2025-08-22T14:35:10Z"
executionToken: 123456
bpmnProcessId: "loan-application"
state: "unresolved"
- key: 4503599627370531
elementInstanceKey: 4503599627370522
elementId: "Task_CreditCheck"
processInstanceKey: 4503599627370501
message: "External service unavailable"
createdAt: "2025-08-22T14:36:22Z"
resolvedAt: "2025-08-22T14:45:18Z"
executionToken: 123457
bpmnProcessId: "loan-application"
state: "resolved"
page: 1
size: 10
count: 2
totalCount: 2
400:
description: Bad request
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
500:
description: Internal server error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
502:
description: Failed to collect data from responsible node
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
/process-instances/{processInstanceKey}/statistics:
get:
operationId: getProcessInstanceElementStatistics
summary: Get running and incident counts per BPMN element for a process instance
tags:
- process-instance
parameters:
- name: processInstanceKey
required: true
in: path
schema:
type: integer
format: int64
example: 4503599627370501
responses:
200:
description: Element statistics as a map of elementId to counts
content:
application/json:
schema:
$ref: "#/components/schemas/ElementStatisticsPartitions"
example:
partitions:
- partition: 1
items:
Task_CheckApplication:
activeCount: 1
incidentCount: 0
400:
description: Bad request
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
example:
code: "BAD_REQUEST"
message: "The provided processInstanceKey is invalid"
404:
description: Not Found
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
example:
code: "NOT_FOUND"
message: "No process instance found for the given key"
500:
description: Internal server error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
502:
description: Failed to collect data from responsible node
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
/jobs:
get:
operationId: getJobs
tags:
- job
summary: Get list of jobs on partitions
parameters:
- name: processInstanceKey
in: query
schema:
type: integer
format: int64
description: Filter by process instance
- name: jobType
in: query
required: false
schema:
type: string
description: Filter by job type
example: "service-task"
- name: assignee
in: query
schema:
type: string
description: Filter by assignee
- name: state
in: query
required: false
schema:
$ref: "#/components/schemas/JobState"
description: Filter by job state
example: "active"
- name: page
in: query
schema:
type: integer
format: int32
minimum: 1
default: 1
description: Page number (1-based indexing)
example: 1
- name: size
in: query
schema:
type: integer
format: int32
minimum: 1
maximum: 100
default: 10
description: Number of items per page (max 100)
example: 10
- name: sortBy
in: query
schema:
type: string
enum: [createdAt, key, type, state]
description: Sort field
- name: sortOrder
in: query
schema:
type: string
enum: [asc, desc]
description: Sort direction
responses:
200:
description: List of jobs on partitions
content:
application/json:
schema:
$ref: "#/components/schemas/JobPartitionPage"
example:
partitions:
- partition: 1
items:
- key: 4503599627370540
elementId: "Task_ReviewApplication"
type: "user-task"
processInstanceKey: 4503599627370501
state: "active"
createdAt: "2025-08-22T15:10:26Z"
assignee: "john.doe"
retries: 3
variables:
formKey: "loan-review-form"
- partition: 2
items:
- key: 9007199254740995
elementId: "Task_SendNotification"
type: "service-task"
processInstanceKey: 9007199254740992
state: "active"
createdAt: "2025-08-22T15:46:33Z"
retries: 3
variables:
notificationType: "email"
recipient: "customer@example.com"
page: 1
size: 10
count: 2
totalCount: 2
400:
description: Bad request
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
500:
description: Internal server error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
502:
description: Failed to collect data from responsible node
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
/jobs/{jobKey}:
get:
operationId: getJob
summary: Get job details
tags:
- job
parameters:
- name: jobKey
in: path
required: true
schema:
type: integer
format: int64
example: 4503599627370540
responses:
200:
description: Job details
content:
application/json:
schema:
$ref: "#/components/schemas/Job"
example:
key: 4503599627370540
elementId: "Task_ReviewApplication"
type: "io.camunda.zeebe:userTask"
processInstanceKey: 4503599627370501
state: "active"
createdAt: "2025-08-22T15:10:26Z"
assignee: "john.doe"
retries: 3
variables:
formKey: "loan-review-form"
applicationId: "APP-12345"
customerName: "Alice Johnson"
404:
description: Not found
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
500:
description: Internal server error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
502:
description: Failed to collect data from responsible node
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
/jobs/{jobKey}/assign:
post:
operationId: assignJob
summary: Assign a job to a user
tags:
- job
parameters:
- name: jobKey
in: path
required: true
schema:
type: integer
format: int64
example: 4503599627370540
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- assignee
properties:
assignee:
type: string
example:
assignee: "john.doe"
responses:
204:
description: Job assigned
400:
description: Bad request
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
404:
description: Job not found
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
500:
description: Internal server error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
502:
description: Failed to redirect request to responsible node
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
/jobs/{jobKey}/complete:
post:
operationId: completeJob
tags:
- job
summary: Complete a job
parameters:
- name: jobKey
in: path
required: true
schema:
type: integer
format: int64
example: 4503599627370540
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
variables:
type: object
example:
variables:
result: "success"
transactionId: "tx-789-xyz"
processedAt: "2025-08-22T15:15:30Z"
responses:
201:
description: Job completed
400:
description: Bad request
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
404:
description: Not found
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
500:
description: Internal server error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
502:
description: Failed to redirect request to responsible node
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
/jobs/{jobKey}/fail:
post:
operationId: failJob
tags:
- job
summary: Fail a job
parameters:
- name: jobKey
in: path
required: true
description: The key of the job to fail.
schema:
type: integer
format: int64
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
errorCode:
type: string
description: The error code against which an error catch event is matched.
variables:
type: object
example:
errorCode: "123-456-789"
variables:
transactionId: "tx-789-xyz"
responses:
204:
description: The job is failed.
400:
description: Bad request
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
404:
description: Not found
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
500:
description: Internal server error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
502:
description: Failed to redirect request to responsible node
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
/messages:
post:
operationId: publishMessage
tags:
- message
summary: Publish a message
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- correlationKey
- messageName
properties:
correlationKey:
type: string
messageName:
type: string
variables:
type: object
example:
correlationKey: "011-235-813"
messageName: "payment-received"
variables:
paymentId: "pay-123-abc"
amount: 1000
currency: "USD"
receivedAt: "2025-08-22T16:25:10Z"
responses:
201:
description: Message sent
400:
description: Bad request
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
example:
code: "BAD_REQUEST"
message: "Invalid request payload"
404:
description: Not found
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
example:
code: "NOT_FOUND"
message: "The requested resource was not found"
500:
description: Internal server error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
example:
code: "TECHNICAL_ERROR"
message: "An unexpected error occurred while processing the request"
502:
description: Failed to redirect request to responsible node
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
example:
code: "CLUSTER_ERROR"
message: "Failed to redirect request to responsible node"
/incidents/{incidentKey}/resolve:
post:
operationId: resolveIncident
tags:
- incident
summary: Resolve an incident
parameters:
- name: incidentKey
in: path
required: true
schema:
type: integer
format: int64
example: 4503599627370530
responses:
201:
description: Incident resolved
400:
description: Bad request
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
404:
description: Not found
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
500:
description: Internal server error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
502:
description: Failed to redirect request to responsible node
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
/modify/start-process-instance:
post:
operationId: StartProcessInstanceOnElements
summary: Start a new process instance starting at chosen elements
tags:
- migration
- process-instance
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- processDefinitionKey
- startingElementIds
properties:
processDefinitionKey:
type: integer
format: int64
variables:
type: object
startingElementIds:
type: array
description: Allows for a start at chosen element id
items:
type: string
example:
processDefinitionKey: 4503599627370498
variables:
customerId: "customer-456"
amount: 1000
applicationDate: "2025-08-22"
startingElementIds: ["flowNode-1", "flowNode-2"]
responses:
201:
description: Process instance created
content:
application/json:
schema:
$ref: "#/components/schemas/ProcessInstance"
400:
description: Bad request
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
404:
description: Not found (e.g. process definition with processDefinitionKey not found)
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
500:
description: Internal server error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
502:
description: Failed to redirect request to responsible node
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
/modify/process-instance:
post:
operationId: ModifyProcessInstance
summary: Modify process instance
tags:
- migration
- process-instance
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- processInstanceKey
properties:
processInstanceKey:
type: integer
format: int64
variables:
type: object
description: Sets process instance variables.
elementInstancesToStart:
type: array
items:
$ref: "#/components/schemas/StartElementInstanceData"
description: Starts execution token.
elementInstancesToTerminate:
type: array
items:
$ref: "#/components/schemas/TerminateElementInstanceData"
description: Terminates execution token.
responses:
201:
description: Process instance modified
content:
application/json:
schema:
type: object
properties:
processInstance:
$ref: "#/components/schemas/ProcessInstance"
activeElementInstances:
type: array
items:
$ref: "#/components/schemas/ElementInstance"
400:
description: Bad request
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
404:
description: Not found
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
500:
description: Internal server error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
502:
description: Failed to redirect request to responsible node
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
/tests/{nodeId}/start-pprof-server:
post:
operationId: testStartPprofServer
summary: start pprof server
tags:
- test
parameters:
- name: nodeId
in: path
required: true
schema:
type: string
pattern: "^[a-zA-Z0-9-_]+$"
description: ID of the node to start pprof server on
responses:
200:
description: Pprof server started
500:
description: Internal server error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
/tests/{nodeId}/stop-pprof-server:
post:
operationId: testStopPprofServer
summary: stop pprof server
tags:
- test
parameters:
- name: nodeId
in: path
required: true
schema:
type: string
pattern: "^[a-zA-Z0-9-_]+$"
description: ID of the node to stop pprof server on
responses:
200:
description: Pprof server stopped
500:
description: Internal server error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
components:
schemas:
DecisionInstancePartitionPage:
type: object
allOf:
- type: object
required:
- partitions
properties:
partitions:
type: array
items:
$ref: "#/components/schemas/PartitionDecisionInstances"
- $ref: "#/components/schemas/PartitionedPageMetadata"
PartitionDecisionInstances:
type: object
required:
- partition
- items
properties:
partition:
type: integer
count:
type: integer
description: Total decision instances in this partition
items:
type: array
items:
$ref: "#/components/schemas/DecisionInstanceSummary"
DecisionInstanceSummary:
type: object
required:
- key
- dmnResourceDefinitionKey
- evaluatedAt
properties:
key:
type: integer
format: int64
dmnResourceDefinitionKey:
type: integer
format: int64
processInstanceKey:
type: integer
format: int64
flowElementInstanceKey:
type: integer
format: int64
description: Key of the flow element instance that triggered this decision
evaluatedAt:
type: string
format: date-time
DecisionInstanceDetail:
type: object
required:
- key
- dmnResourceDefinitionKey
- evaluatedAt
- evaluatedDecisions
properties:
key:
type: integer
format: int64
dmnResourceDefinitionKey:
type: integer
format: int64
processInstanceKey:
type: integer
format: int64
flowElementInstanceKey:
type: integer
format: int64
description: Key of the flow element instance that triggered this decision
evaluatedAt:
type: string
format: date-time
evaluatedDecisions:
type: array
items:
$ref: "#/components/schemas/EvaluatedDecision"
decisionOutput:
type: string
format: json
x-go-type: json.RawMessage
description: Final output of the requested decision
EvaluatedDecision:
type: object
properties:
decisionId:
type: string
decisionName:
type: string
decisionType:
type: string
enum: [DECISION_TABLE, LITERAL_EXPRESSION]
evaluationOrder:
type: integer
description: Order in which this decision was evaluated
inputs:
type: array
items:
$ref: "#/components/schemas/EvaluatedInput"
outputs:
type: array
items:
$ref: "#/components/schemas/EvaluatedOutput"
matchedRules:
type: array
items:
$ref: "#/components/schemas/MatchedRule"
description: For DECISION_TABLE type only
EvaluatedInput:
type: object
properties:
inputId:
type: string
inputName:
type: string
inputExpression:
type: string
inputValue:
description: The evaluated input value (any type)
EvaluatedOutput:
type: object
properties:
outputId:
type: string
outputName:
type: string
outputValue:
description: The output value (any type)
MatchedRule:
type: object
properties:
ruleId:
type: string
ruleIndex:
type: integer
evaluatedOutputs:
type: array
items:
$ref: "#/components/schemas/EvaluatedOutput"
PartitionedPageMetadata:
type: object
required:
- page
- size
- count
- totalCount
properties:
page:
type: integer
description: Current page number (1-based indexing)
size:
type: integer
description: Number of items per page
count:
type: integer
description: Number of items returned in the current page
totalCount:
type: integer
description: Total number of items available
PageMetadata:
type: object
required:
- page
- size
- count
- totalCount
properties:
page:
type: integer
description: Current page number (1-based indexing)
size:
type: integer
description: Number of items per page
count:
type: integer
description: Number of items returned in the current page
totalCount:
type: integer
description: Total number of items available
PartitionProcessInstances:
type: object
required:
- partition
- items
properties:
partition:
type: integer
items:
type: array
items:
$ref: "#/components/schemas/ProcessInstance"
DmnResourceDefinitionsPage:
type: object
allOf:
- type: object
required:
- items
properties:
items:
type: array
items:
$ref: "#/components/schemas/DmnResourceDefinitionSimple"
- $ref: "#/components/schemas/PageMetadata"
DmnResourceDefinitionSimple:
type: object
required:
- key
- version
- dmnResourceDefinitionId
- dmnDefinitionName
properties:
key:
type: integer
format: int64
version:
type: integer
dmnResourceDefinitionId:
type: string
dmnDefinitionName:
type: string
DmnResourceDefinitionDetail:
type: object
required:
- dmnData
allOf:
- $ref: "#/components/schemas/DmnResourceDefinitionSimple"
- type: object
properties:
dmnData:
type: string
EvaluatedDRDResult:
type: object
required:
- decisionInstanceKey
- evaluatedDecisions
- decisionOutput
properties:
decisionInstanceKey:
type: integer
format: int64
evaluatedDecisions:
type: array
items:
$ref: "#/components/schemas/EvaluatedDecisionResult"
decisionOutput: {}
EvaluatedDecisionResult:
type: object
required:
- decisionId
- decisionName
- decisionType
- decisionDefinitionVersion
- dmnResourceDefinitionKey
- dmnResourceDefinitionId
- matchedRules
- decisionOutput
- evaluatedInputs
properties:
decisionId:
type: string
decisionName:
type: string
decisionType:
type: string
decisionDefinitionVersion:
type: integer
dmnResourceDefinitionKey:
type: integer
format: int64
dmnResourceDefinitionId:
type: string
matchedRules:
type: array
items:
$ref: "#/components/schemas/EvaluatedDecisionRule"
decisionOutput:
type: object
evaluatedInputs:
type: array
items:
$ref: "#/components/schemas/EvaluatedDecisionInput"
EvaluatedDecisionRule:
type: object
required:
- ruleId
- ruleIndex
- evaluatedOutputs
properties:
ruleId:
type: string
ruleIndex:
type: integer
evaluatedOutputs:
type: array
items:
$ref: "#/components/schemas/EvaluatedDecisionOutput"
EvaluatedDecisionInput:
type: object
required:
- inputId
- inputName
- inputExpression
- inputValue
properties:
inputId:
type: string
inputName:
type: string
inputExpression:
type: string
inputValue: {}
EvaluatedDecisionOutput:
type: object
required:
- outputId
- outputName
- outputValue
properties:
outputId:
type: string
outputName:
type: string
outputValue:
type: object
ProcessDefinitionsPage:
type: object
allOf:
- type: object
required:
- items
properties:
items:
type: array
items:
$ref: "#/components/schemas/ProcessDefinitionSimple"
- $ref: "#/components/schemas/PageMetadata"
ProcessDefinitionSimple:
type: object
required:
- key
- version
- bpmnProcessId
properties:
key:
type: integer
format: int64
version:
type: integer
bpmnProcessId:
type: string
bpmnProcessName:
type: string
description: Process name from BPMN
ProcessDefinitionDetail:
type: object
required:
- bpmnData
allOf:
- $ref: "#/components/schemas/ProcessDefinitionSimple"
- type: object
properties:
bpmnData:
type: string
ElementStatisticCounts:
type: object
description: Active and incident counts for a single BPMN element
required:
- activeCount
- incidentCount
properties:
activeCount:
type: integer
description: Number of active element instances
incidentCount:
type: integer
description: Number of incidents on this element
completedCount:
type: integer
description: Number of completed element instances
terminatedCount:
type: integer
description: Number of terminated (canceled) element instances
ElementStatistic:
type: object
description: Map of elementId to active/incident counts
additionalProperties:
$ref: "#/components/schemas/ElementStatisticCounts"
PartitionElementStatistics:
type: object
required:
- partition
- items
properties:
partition:
type: integer
items:
$ref: "#/components/schemas/ElementStatistic"
ElementStatisticsPartitions:
type: object
required:
- partitions
properties:
partitions:
type: array
items:
$ref: "#/components/schemas/PartitionElementStatistics"
ProcessDefinitionStatisticsPage:
type: object
required:
- partitions
- page
- size
- count
- totalCount
properties:
partitions:
type: array
items:
$ref: "#/components/schemas/PartitionProcessDefinitionStatistics"
page:
type: integer
size:
type: integer
count:
type: integer
description: Number of items in current page
totalCount:
type: integer
description: Total number of items across all pages
PartitionProcessDefinitionStatistics:
type: object
required:
- partition
- items
properties:
partition:
type: integer
items:
type: array
items:
$ref: "#/components/schemas/ProcessDefinitionStatistics"
ProcessDefinitionStatistics:
type: object
required:
- key
- version
- bpmnProcessId
- instanceCounts
properties:
key:
type: integer
format: int64
version:
type: integer
bpmnProcessId:
type: string
name:
type: string
description: Process name from BPMN
instanceCounts:
$ref: "#/components/schemas/InstanceCounts"
InstanceCounts:
type: object
required:
- total
- active
- completed
- terminated
- failed
properties:
total:
type: integer
description: Total number of process instances
active:
type: integer
description: Number of active instances
completed:
type: integer
description: Number of completed instances
terminated:
type: integer
description: Number of terminated instances
failed:
type: integer
description: Number of failed instances
ProcessInstancePage:
type: object
allOf:
- type: object
required:
- partitions
properties:
partitions:
type: array
items:
$ref: "#/components/schemas/PartitionProcessInstances"
- $ref: "#/components/schemas/PartitionedPageMetadata"
ProcessInstance:
type: object
required:
- key
- processDefinitionKey
- createdAt
- state
- variables
- activeElementInstances
- processType
properties:
key:
type: integer
format: int64
processDefinitionKey:
type: integer
format: int64
bpmnProcessId:
type: string
businessKey:
type: string
createdAt:
type: string
format: date-time
state:
type: string
enum:
- active
- completed
- terminated
- failed
parentProcessInstanceKey:
type: integer
format: int64
processType:
type: string
enum:
- default
- multiInstance
- subprocess
- callActivity
variables:
type: object
activeElementInstances:
type: array
items:
$ref: "#/components/schemas/ElementInstance"
JobPage:
type: object
allOf:
- type: object
required:
- items
properties:
items:
type: array
items:
$ref: "#/components/schemas/Job"
- $ref: "#/components/schemas/PageMetadata"
JobPartitionPage:
type: object
allOf:
- type: object
required:
- partitions
properties:
partitions:
type: array
items:
$ref: "#/components/schemas/PartitionJobs"
- $ref: "#/components/schemas/PartitionedPageMetadata"
PartitionJobs:
type: object
required:
- partition
- items
properties:
partition:
type: integer
items:
type: array
items:
$ref: "#/components/schemas/Job"
Job:
type: object
required:
- key
- elementId
- type
- processInstanceKey
- state
- createdAt
- variables
properties:
key:
type: integer
format: int64
elementId:
type: string
type:
type: string
processInstanceKey:
type: integer
format: int64
state:
$ref: "#/components/schemas/JobState"
createdAt:
type: string
format: date-time
variables:
type: object
assignee:
type: string
description: Assignee (user assigned to this job)
retries:
type: integer
description: Remaining retries
JobState:
type: string
enum:
- active
- completed
- terminated
- failed
ElementInstance:
type: object
required:
- elementInstanceKey
- createdAt
- state
- elementId
properties:
elementInstanceKey:
type: integer
format: int64
createdAt:
type: string
format: date-time
state:
type: string
elementId:
type: string
FlowElementHistoryPage:
type: object
allOf:
- type: object
properties:
items:
type: array
items:
$ref: "#/components/schemas/FlowElementHistory"
- $ref: "#/components/schemas/PageMetadata"
TerminateElementInstanceData:
type: object
required:
- elementInstanceKey
properties:
elementInstanceKey:
type: integer
format: int64
example:
elementId: "flow-node-1"
StartElementInstanceData:
type: object
required:
- elementId
properties:
elementId:
type: string
description: Element instance is created at this element.
example:
elementId: "flow-node-1"
FlowElementHistory:
type: object
required:
- key
- processInstanceKey
- createdAt
- elementId
properties:
key:
type: integer
format: int64
processInstanceKey:
type: integer
format: int64
createdAt:
type: string
format: date-time
elementId:
type: string
IncidentPage:
type: object
allOf:
- type: object
required:
- items
properties:
items:
type: array
items:
$ref: "#/components/schemas/Incident"
- $ref: "#/components/schemas/PageMetadata"
Incident:
type: object
required:
- key
- elementInstanceKey
- elementId
- processInstanceKey
- message
- createdAt
- executionToken
properties:
key:
type: integer
format: int64
elementInstanceKey:
type: integer
format: int64
elementId:
type: string
processInstanceKey:
type: integer
format: int64
message:
type: string
createdAt:
type: string
format: date-time
resolvedAt:
type: string
format: date-time
executionToken:
type: integer
format: int64
Error:
type: object
required:
- code
- message
properties:
code:
type: string
message:
type: string
example:
code: "NOT_FOUND"
message: "Process instance with key 4503599627370501 not found"
parameters:
sortOrder:
name: sortOrder
in: query
schema:
type: string
enum: [asc, desc]
description: Sort direction