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.

OpenAPI Specification

flowable-bpmn-openapi.yml Raw ↑
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