Flowable BPMN API
REST API for the BPMN process engine covering deployments, process definitions, process instances, runtime executions, and user tasks with full lifecycle management including suspend, activate, and variable management.
REST API for the BPMN process engine covering deployments, process definitions, process instances, runtime executions, and user tasks with full lifecycle management including suspend, activate, and variable management.
openapi: 3.0.0
info:
description: "# flowable / flowəb(ə)l /\r\n\r\n- a compact and highly efficient\
\ workflow and Business Process Management (BPM) platform for developers, system\
\ admins and business users.\r\n- a lightning fast, tried and tested BPMN 2 process\
\ engine written in Java. It is Apache 2.0 licensed open source, with a committed\
\ community.\r\n- can run embedded in a Java application, or as a service on a\
\ server, a cluster, and in the cloud. It integrates perfectly with Spring. With\
\ a rich Java and REST API, it is the ideal engine for orchestrating human or\
\ system activities."
version: v1
title: Flowable REST API
contact:
name: Flowable
url: http://www.flowable.org/
license:
name: Apache 2.0
url: http://www.apache.org/licenses/LICENSE-2.0.html
tags:
- name: Activity Instances
- name: Batch parts
- name: Batches
- name: Database tables
- name: Deployment
- name: Engine
- name: EngineProperties
- name: Event subscriptions
- name: Executions
- name: Forms
- name: Groups
- name: Historic Task Log Entries
- name: History
- name: History Process
- name: History Task
- name: Jobs
- name: Manage History Process Instances
- name: Models
- name: Process Definitions
- name: Process Instance Identity Links
- name: Process Instance Variables
- name: Process Instances
- name: Properties
- name: Query
- name: Runtime
- name: Task Attachments
- name: Task Comments
- name: Task Identity Links
- name: Task Variables
- name: Tasks
- name: Users
paths:
/form/form-data:
get:
tags:
- Forms
summary: Get form data
description: ''
operationId: getFormData
parameters:
- name: taskId
in: query
required: false
schema:
type: string
- name: processDefinitionId
in: query
required: false
schema:
type: string
responses:
'200':
description: Indicates that form data could be queried.
content:
application/json:
schema:
$ref: '#/components/schemas/FormDataResponse'
'404':
description: Indicates that form data could not be found.
security:
- basicAuth: []
post:
tags:
- Forms
summary: Submit task form data
description: ''
operationId: submitForm
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SubmitFormRequest'
responses:
'200':
description: Indicates request was successful and the form data was submitted
content:
application/json:
schema:
$ref: '#/components/schemas/ProcessInstanceResponse'
'204':
description: If TaskId has been provided, Indicates request was successful
and the form data was submitted. Returns empty
'400':
description: Indicates an parameter was passed in the wrong format. The
status-message contains additional information.
security:
- basicAuth: []
/history/historic-activity-instances:
get:
tags:
- History
summary: List historic activity instances
description: ''
operationId: listHistoricActivityInstances
parameters:
- name: activityId
in: query
description: An id of the activity instance.
required: false
schema:
type: string
- name: activityInstanceId
in: query
description: An id of the historic activity instance.
required: false
schema:
type: string
- name: activityName
in: query
description: The name of the historic activity instance.
required: false
schema:
type: string
- name: activityType
in: query
description: The element type of the historic activity instance.
required: false
schema:
type: string
- name: executionId
in: query
description: The execution id of the historic activity instance.
required: false
schema:
type: string
- name: finished
in: query
description: Indication if the historic activity instance is finished.
required: false
schema:
type: boolean
- name: taskAssignee
in: query
description: The assignee of the historic activity instance.
required: false
schema:
type: string
- name: processInstanceId
in: query
description: The process instance id of the historic activity instance.
required: false
schema:
type: string
- name: processInstanceIds
in: query
description: The process instance ids of the historic activity instances.
required: false
schema:
type: string
- name: processDefinitionId
in: query
description: The process definition id of the historic activity instance.
required: false
schema:
type: string
- name: calledProcessInstanceIds
in: query
description: The lis of process instance ids that are called by historic activity
instances
required: false
schema:
type: string
- name: tenantId
in: query
description: Only return instances with the given tenantId.
required: false
schema:
type: string
- name: tenantIdLike
in: query
description: Only return instances with a tenantId like the given value.
required: false
schema:
type: string
- name: withoutTenantId
in: query
description: If true, only returns instances without a tenantId set. If false,
the withoutTenantId parameter is ignored.
required: false
schema:
type: boolean
responses:
'200':
description: Indicates that historic activity instances could be queried.
content:
application/json:
schema:
$ref: '#/components/schemas/DataResponseHistoricActivityInstanceResponse'
'400':
description: Indicates an parameter was passed in the wrong format. The
status-message contains additional information.
security:
- basicAuth: []
/history/historic-detail:
get:
tags:
- History
summary: Get historic detail
description: ''
operationId: listHistoricDetails
parameters:
- name: id
in: query
description: The id of the historic detail.
required: false
schema:
type: string
- name: processInstanceId
in: query
description: The process instance id of the historic detail.
required: false
schema:
type: string
- name: executionId
in: query
description: The execution id of the historic detail.
required: false
schema:
type: string
- name: activityInstanceId
in: query
description: The activity instance id of the historic detail.
required: false
schema:
type: string
- name: taskId
in: query
description: The task id of the historic detail.
required: false
schema:
type: string
- name: selectOnlyFormProperties
in: query
description: Indication to only return form properties in the result.
required: false
schema:
type: boolean
- name: selectOnlyVariableUpdates
in: query
description: Indication to only return variable updates in the result.
required: false
schema:
type: boolean
responses:
'200':
description: Indicates that historic detail could be queried.
content:
application/json:
schema:
$ref: '#/components/schemas/DataResponseHistoricDetailResponse'
'400':
description: Indicates an parameter was passed in the wrong format. The
status-message contains additional information.
security:
- basicAuth: []
/history/historic-detail/{detailId}/data:
get:
tags:
- History
summary: Get the binary data for a historic detail variable
description: The response body contains the binary value of the variable. When
the variable is of type binary, the content-type of the response is set to
application/octet-stream, regardless of the content of the variable or the
request accept-type header. In case of serializable, application/x-java-serialized-object
is used as content-type.
operationId: getHistoricDetailVariableData
parameters:
- name: detailId
in: path
required: true
schema:
type: string
responses:
'200':
description: Indicates the historic detail instance was found and the requested
variable data is returned.
content:
'*/*':
schema:
type: array
items:
type: string
format: byte
'404':
description: Indicates the requested historic detail instance was not found
or the historic detail instance does not have a variable with the given
name or the variable does not have a binary stream available. Status message
provides additional information.
security:
- basicAuth: []
/history/historic-process-instances:
get:
tags:
- History Process
summary: List of historic process instances
description: ''
operationId: listHistoricProcessInstances
parameters:
- name: processInstanceId
in: query
description: An id of the historic process instance.
required: false
schema:
type: string
- name: processInstanceName
in: query
description: A name of the historic process instance.
required: false
schema:
type: string
- name: processInstanceNameLike
in: query
description: A name of the historic process instance used in a like query.
required: false
schema:
type: string
- name: processInstanceNameLikeIgnoreCase
in: query
description: A name of the historic process instance used in a like query
ignoring case.
required: false
schema:
type: string
- name: processDefinitionKey
in: query
description: The process definition key of the historic process instance.
required: false
schema:
type: string
- name: processDefinitionKeyLike
in: query
description: The process definition key used in a like query.
required: false
schema:
type: string
- name: processDefinitionKeyLikeIgnoreCase
in: query
description: The process definition key used in a like query ignoring case.
required: false
schema:
type: string
- name: processDefinitionId
in: query
description: The process definition id of the historic process instance.
required: false
schema:
type: string
- name: processDefinitionName
in: query
description: The process definition name of the historic process instance.
required: false
schema:
type: string
- name: processDefinitionNameLike
in: query
description: The process definition name used in a like query.
required: false
schema:
type: string
- name: processDefinitionNameLikeIgnoreCase
in: query
description: The process definition name used in a like query ignoring case.
required: false
schema:
type: string
- name: processDefinitionCategory
in: query
description: The process definition category of the historic process instance.
required: false
schema:
type: string
- name: processDefinitionCategoryLike
in: query
description: The process definition category used in a like query.
required: false
schema:
type: string
- name: processDefinitionCategoryLikeIgnoreCase
in: query
description: The process definition category used in a like query ignoring
case.
required: false
schema:
type: string
- name: processDefinitionVersion
in: query
description: The process definition version of the historic process instance.
required: false
schema:
type: string
- name: deploymentId
in: query
description: The deployment id of the historic process instance.
required: false
schema:
type: string
- name: rootScopeId
in: query
description: Only return process instances which have the given root scope
id (that can be a process or case instance ID).
required: false
schema:
type: string
- name: parentScopeId
in: query
description: Only return process instances which have the given parent scope
id (that can be a process or case instance ID).
required: false
schema:
type: string
- name: businessKey
in: query
description: The business key of the historic process instance.
required: false
schema:
type: string
- name: businessKeyLike
in: query
description: Only return instances with a business key like this key.
required: false
schema:
type: string
- name: businessKeyLikeIgnoreCase
in: query
description: Only return instances with a business key like this key ignoring
case.
required: false
schema:
type: string
- name: businessStatus
in: query
description: The business status of the historic process instance.
required: false
schema:
type: string
- name: businessStatusLike
in: query
description: Only return instances with a business status like this status.
required: false
schema:
type: string
- name: businessStatusLikeIgnoreCase
in: query
description: Only return instances with a business status like this status
ignoring case.
required: false
schema:
type: string
- name: activeActivityId
in: query
description: Only return instances which have an active activity instance
with the provided activity id.
required: false
schema:
type: string
- name: involvedUser
in: query
description: An involved user of the historic process instance.
required: false
schema:
type: string
- name: finished
in: query
description: Indication if the historic process instance is finished.
required: false
schema:
type: boolean
- name: superProcessInstanceId
in: query
description: An optional parent process id of the historic process instance.
required: false
schema:
type: string
- name: excludeSubprocesses
in: query
description: Return only historic process instances which are not sub processes.
required: false
schema:
type: boolean
- name: finishedAfter
in: query
description: Return only historic process instances that were finished after
this date.
required: false
schema:
type: string
format: date-time
- name: finishedBefore
in: query
description: Return only historic process instances that were finished before
this date.
required: false
schema:
type: string
format: date-time
- name: startedAfter
in: query
description: Return only historic process instances that were started after
this date.
required: false
schema:
type: string
format: date-time
- name: startedBefore
in: query
description: Return only historic process instances that were started before
this date.
required: false
schema:
type: string
format: date-time
- name: startedBy
in: query
description: Return only historic process instances that were started by this
user.
required: false
schema:
type: string
- name: includeProcessVariables
in: query
description: An indication if the historic process instance variables should
be returned as well.
required: false
schema:
type: boolean
- name: includeProcessVariablesName
in: query
description: Indication to include process variables with the given names
in the result.
required: false
schema:
type: string
- name: callbackId
in: query
description: Only return instances with the given callbackId.
required: false
schema:
type: string
- name: callbackIds
in: query
description: Only return instances with the given callbackIds.
required: false
schema:
type: string
- name: callbackType
in: query
description: Only return instances with the given callbackType.
required: false
schema:
type: string
- name: parentCaseInstanceId
in: query
description: Only return instances with the given parent case instance id.
required: false
schema:
type: string
- name: withoutCallbackId
in: query
description: Only return instances that do not have a callbackId.
required: false
schema:
type: boolean
- name: tenantId
in: query
description: Only return instances with the given tenantId.
required: false
schema:
type: string
- name: tenantIdLike
in: query
description: Only return instances with a tenant id like the given value.
required: false
schema:
type: string
- name: tenantIdLikeIgnoreCase
in: query
description: Only return instances with a tenant id like the given value ignoring
case.
required: false
schema:
type: string
- name: withoutTenantId
in: query
description: 'If true, only returns instances without a tenantId set. If false,
the withoutTenantId parameter is ignored.
'
required: false
schema:
type: boolean
responses:
'200':
description: Indicates that historic process instances could be queried.
content:
application/json:
schema:
$ref: '#/components/schemas/DataResponseHistoricProcessInstanceResponse'
'400':
description: Indicates an parameter was passed in the wrong format. The
status-message contains additional information.
security:
- basicAuth: []
/history/historic-process-instances/delete:
post:
tags:
- Manage History Process Instances
summary: Post action request to delete a bulk of historic process instances
description: ''
operationId: bulkDeleteHistoricProcessInstances
requestBody:
$ref: '#/components/requestBodies/BulkDeleteInstancesRestActionRequest'
responses:
'204':
description: Indicates the bulk of historic process instances was found
and deleted. Response body is left empty intentionally.
'404':
description: Indicates at least one requested process instance was not found.
security:
- basicAuth: []
/history/historic-process-instances/{processInstanceId}:
get:
tags:
- History Process
summary: Get a historic process instance
description: ''
operationId: getHistoricProcessInstance
parameters:
- name: processInstanceId
in: path
required: true
schema:
type: string
responses:
'200':
description: Indicates that the historic process instances could be found.
content:
application/json:
schema:
$ref: '#/components/schemas/HistoricProcessInstanceResponse'
'404':
description: Indicates that the historic process instances could not be
found.
security:
- basicAuth: []
delete:
tags:
- History Process
summary: ' Delete a historic process instance'
description: ''
operationId: deleteHistoricProcessInstance
parameters:
- name: processInstanceId
in: path
required: true
schema:
type: string
responses:
'204':
description: Indicates that the historic process instance was deleted.
'404':
description: Indicates that the historic process instance could not be found.
security:
- basicAuth: []
/history/historic-process-instances/{processInstanceId}/comments:
get:
tags:
- History Process
summary: List comments on a historic process instance
description: ''
operationId: listHistoricProcessInstanceComments
parameters:
- name: processInstanceId
in: path
required: true
schema:
type: string
responses:
'200':
description: Indicates the process instance was found and the comments are
returned.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/CommentResponse'
'404':
description: Indicates that the historic process instance could not be found.
security:
- basicAuth: []
post:
tags:
- History Process
summary: Create a new comment on a historic process instance
description: Parameter saveProcessInstanceId is optional, if true save process
instance id of task with comment.
operationId: createComment
parameters:
- name: processInstanceId
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CommentResponse'
responses:
'201':
description: Indicates the comment was created and the result is returned.
content:
application/json:
schema:
$ref: '#/components/schemas/CommentResponse'
'400':
description: Indicates the comment is missing from the request.
'404':
description: Indicates that the historic process instance could not be found.
security:
- basicAuth: []
/history/historic-process-instances/{processInstanceId}/comments/{commentId}:
get:
tags:
- History Process
summary: Get a comment on a historic process instance
description: ''
operationId: getComment
parameters:
- name: processInstanceId
in: path
required: true
schema:
type: string
- name: commentId
in: path
required: true
schema:
type: string
responses:
'200':
description: Indicates the historic process instance and comment were found
and the comment is returned.
content:
application/json:
schema:
$ref: '#/components/schemas/CommentResponse'
'404':
description: Indicates the requested historic process instance was not found
or the historic process instance does not have a comment with the given
ID.
security:
- basicAuth: []
delete:
tags:
- History Process
summary: Delete a comment on a historic process instance
description: ''
operationId: deleteComment
parameters:
- name: processInstanceId
in: path
required: true
schema:
type: string
- name: commentId
in: path
required: true
schema:
type: string
responses:
'204':
description: Indicates the historic process instance and comment were found
and the comment is deleted. Response body is left empty intentionally.
'404':
description: Indicates the requested historic process instance was not found
or the historic process instance does not have a comment with the given
ID.
security:
- basicAuth: []
/history/historic-process-instances/{processInstanceId}/identitylinks:
get:
tags:
- History Process
summary: List identity links of a historic process instance
description: ''
operationId: listHistoricProcessInstanceIdentityLinks
parameters:
- name: processInstanceId
in: path
required: true
schema:
type: string
responses:
'200':
description: Indicates request was successful and the identity links are
returned
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/HistoricIdentityLinkResponse'
'404':
description: Indicates the process instance could not be found..
security:
- basicAuth: []
/history/historic-process-instances/{processInstanceId}/variables/{variableName}/data:
get:
tags:
- History Process
summary: Get the binary data for a historic process instance variable
description: The response body contains the binary value of the variable. When
the variable is of type binary, the content-type of the response is set to
application/octet-stream, regardless of the content of the variable or the
request accept-type header. In case of serializable, application/x-java-serialized-object
is used as content-type.
operationId: getHistoricProcessInstanceVariableData
parameters:
- name: processInstanceId
in: path
required: true
schema:
type: string
- name: variableName
in: path
required: true
schema:
type: string
responses:
'200':
description: Indicates the process instance was found and the requested
variable data is returned.
content:
'*/*':
schema:
type: array
items:
type: string
format: byte
'404':
description: Indicates the requested process instance was not found or the
process instance does not have a variable with the given name or the variable
does not have a binary stream available. Status message provides additional
information.
security:
- basicAuth: []
/history/historic-task-instances:
get:
tags:
- History Task
summary: List historic task instances
description: ''
operationId: listHistoricTaskInstances
parameters:
- name: taskId
in: query
description: An id of the historic task instance.
required: false
schema:
type: string
- name: processInstanceId
in: query
description: The process instance id of the historic task instance.
required: false
schema:
type: string
- name: processInstanceIdWithChildren
in: query
description: Selects the historic task instances for the process instance
and its children.
required: false
schema:
type: string
- name: withoutProcessInstanceId
in: query
description: If true, only returns historic task instances without a process
instance id set. If false, the withoutProcessInstanceId parameter is ignored.
required: false
schema:
type: boolean
- name: processDefinitionKey
in: query
description: The process definition key of the historic task instance.
required: false
schema:
type: string
- name: processDefinitionKeyLike
in: query
description: The process definition key of the historic task instance, which
matches the given value.
required: false
schema:
type: string
- name: processDefinitionId
in: query
description: The process definition id of the historic task instance.
required: false
schema:
type: string
- name: processDefinitionName
in: query
description: The process definition name of the historic task instance.
required: false
schema:
type: string
- name: processDefinitionNameLike
in: query
description: The process definition name of the historic task instance, which
matches the given value.
required: false
schema:
type: string
- name: processBusinessKey
in: query
description: The process instance business key of the historic task instance.
required: false
schema:
type: string
- name: processBusinessKeyLike
in: query
description: The process instance business key of the historic task instance
that matches the given value.
required: false
schema:
type: string
- name: executionId
in: query
description: The execution id of the historic task instance.
required: false
schema:
type: string
- name: taskDefinitionKey
in: query
description: The task definition key for tasks part of a process
required: false
schema:
type: string
- name: taskDefinitionKeys
in: query
description: The task definition key for tasks part of a process
required: false
schema:
type: string
- name: taskName
in: query
description: The task name of the historic task instance.
required: false
schema:
type: string
- name: taskNameLike
in: query
description: The task name with like operator for the historic task instance.
required: false
schema:
type: string
- name: taskNameLikeIgnoreCase
in: query
description: The task name with like operator for the historic task instance
ignoring case.
required: false
schema:
type: string
- name: taskDescription
in: query
description: The task description of the historic task instance.
required: false
schema:
type: string
- name: taskDescriptionLike
in: query
description: The task description with like operator for the historic task
instance.
required: false
schema:
type: string
- name: taskCategory
in: query
description: Select tasks with the given category. Note that this is the task
category, not the category of the process definition (namespace within the
BPMN Xml).
required: false
schema:
type: string
- name: taskCategoryIn
in: query
description: Select tasks with the given categories. Note that this is the
task category, not the category of the process definition (namespace within
the BPMN Xml).
required: false
schema:
type: string
- name: taskCategoryNotIn
in: query
description: Select tasks not assigned
# --- truncated at 32 KB (403 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/flowable/refs/heads/main/openapi/flowable-bpmn-openapi.yml