Flowable Executions API

The Executions API from Flowable — 10 operation(s) for executions.

OpenAPI Specification

flowable-executions-api-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 Access Tokens Executions API
  contact:
    name: Flowable
    url: http://www.flowable.org/
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
servers:
- url: /flowable-rest/service
tags:
- name: Executions
paths:
  /query/executions:
    post:
      tags:
      - Executions
      summary: Query executions
      description: 'The request body can contain all possible filters that can be used in the List executions URL query. On top of these, it’s possible to provide an array of variables and processInstanceVariables to include in the query, with their format described here.


        The general paging and sorting query-parameters can be used for this URL.'
      operationId: queryExecutions
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExecutionQueryRequest'
        x-s2o-overloaded: true
      responses:
        '200':
          description: Indicates request was successful and the executions are returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataResponseExecutionResponse'
        '404':
          description: Indicates a parameter was passed in the wrong format . The status-message contains additional information.
      security:
      - basicAuth: []
      x-s2o-warning: Operation queryExecutions has multiple requestBodies
  /runtime/executions:
    get:
      tags:
      - Executions
      summary: List of executions
      description: ''
      operationId: listExecutions
      parameters:
      - name: id
        in: query
        description: Only return models with the given version.
        required: false
        schema:
          type: string
      - name: activityId
        in: query
        description: Only return executions with the given activity id.
        required: false
        schema:
          type: string
      - name: processDefinitionKey
        in: query
        description: Only return executions with the given process definition key.
        required: false
        schema:
          type: string
      - name: processDefinitionId
        in: query
        description: Only return executions with the given process definition id.
        required: false
        schema:
          type: string
      - name: processInstanceId
        in: query
        description: Only return executions which are part of the process instance with the given id.
        required: false
        schema:
          type: string
      - name: processInstanceIds
        in: query
        description: Only return executions which are part of the process instances with the given ids.
        required: false
        schema:
          type: string
      - name: messageEventSubscriptionName
        in: query
        description: Only return executions which are subscribed to a message with the given name.
        required: false
        schema:
          type: string
      - name: signalEventSubscriptionName
        in: query
        description: Only return executions which are subscribed to a signal with the given name.
        required: false
        schema:
          type: string
      - name: parentId
        in: query
        description: Only return executions which are a direct child of the given execution.
        required: false
        schema:
          type: string
      - name: tenantId
        in: query
        description: Only return process instances with the given tenantId.
        required: false
        schema:
          type: string
      - name: tenantIdLike
        in: query
        description: Only return process instances with a tenantId like the given value.
        required: false
        schema:
          type: string
      - name: withoutTenantId
        in: query
        description: If true, only returns process instances without a tenantId set. If false, the withoutTenantId parameter is ignored.
        required: false
        schema:
          type: boolean
      - name: sort
        in: query
        description: Property to sort on, to be used together with the order.
        required: false
        schema:
          type: string
          enum:
          - processInstanceId
          - processDefinitionId
          - processDefinitionKey
          - tenantId
      responses:
        '200':
          description: Indicates request was successful and the executions are returned
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataResponseExecutionResponse'
        '400':
          description: Indicates a parameter was passed in the wrong format . The status-message contains additional information.
      security:
      - basicAuth: []
    put:
      tags:
      - Executions
      summary: Signal event received
      description: ''
      operationId: executeExecutionAction
      requestBody:
        $ref: '#/components/requestBodies/ExecutionActionRequest'
      responses:
        '204':
          description: Indicates request was successful and the executions are returned
        '404':
          description: Indicates a parameter was passed in the wrong format . The status-message contains additional information.
      security:
      - basicAuth: []
  /runtime/executions/{executionId}:
    get:
      tags:
      - Executions
      summary: Get an execution
      description: ''
      operationId: getExecution
      parameters:
      - name: executionId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Indicates the execution was found and returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExecutionResponse'
        '404':
          description: Indicates the execution was not found.
      security:
      - basicAuth: []
    put:
      tags:
      - Executions
      summary: Execute an action on an execution
      description: ''
      operationId: performExecutionAction
      parameters:
      - name: executionId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        $ref: '#/components/requestBodies/ExecutionActionRequest'
      responses:
        '200':
          description: Indicates the execution was found and the action is performed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExecutionResponse'
        '204':
          description: Indicates the execution was found, the action was performed and the action caused the execution to end.
        '400':
          description: Indicates an illegal action was requested, required parameters are missing in the request body or illegal variables are passed in. Status description contains additional information about the error.
        '404':
          description: Indicates the execution was not found.
      security:
      - basicAuth: []
  /runtime/executions/{executionId}/activities:
    get:
      tags:
      - Executions
      summary: List active activities in an execution
      description: Returns all activities which are active in the execution and in all child-executions (and their children, recursively), if any.
      operationId: listExecutionActiveActivities
      parameters:
      - name: executionId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Indicates the execution was found and activities are returned.
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
        '404':
          description: Indicates the execution was not found.
      security:
      - basicAuth: []
  /runtime/executions/{executionId}/change-state:
    post:
      tags:
      - Executions
      summary: Change the state of an execution
      description: ''
      operationId: changeExecutionActivityState
      parameters:
      - name: executionId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        $ref: '#/components/requestBodies/ExecutionChangeActivityStateRequest'
      responses:
        '200':
          description: Indicates the execution was found and the action is performed.
        '404':
          description: Indicates the execution was not found.
      security:
      - basicAuth: []
  /runtime/executions/{executionId}/variables:
    get:
      tags:
      - Executions
      summary: List variables for an execution
      description: ''
      operationId: listExecutionVariables
      parameters:
      - name: executionId
        in: path
        required: true
        schema:
          type: string
      - name: scope
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Indicates the execution was found and variables are returned.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RestVariable'
        '404':
          description: Indicates the requested execution was not found.
      security:
      - basicAuth: []
    post:
      tags:
      - Executions
      summary: Create variables on an execution
      description: 'This endpoint can be used in 2 ways: By passing a JSON Body (array of RestVariable) or by passing a multipart/form-data Object.

        Any number of variables can be passed into the request body array.

        NB: Swagger V2 specification does not support this use case that is why this endpoint might be buggy/incomplete if used with other tools.'
      operationId: createExecutionVariable
      parameters:
      - name: executionId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        $ref: '#/components/requestBodies/ExecutionVariableCollectionResource'
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
        '201':
          description: Indicates the execution was found and variable is created/updated.
        '400':
          description: Indicates the request body is incomplete or contains illegal values. The status description contains additional information about the error.
        '404':
          description: Indicates the requested execution was not found.
        '409':
          description: Indicates the execution was found but already contains a variable with the given name. Use the update-method instead.
      security:
      - basicAuth: []
    put:
      tags:
      - Executions
      summary: Update variables on an execution
      description: 'This endpoint can be used in 2 ways: By passing a JSON Body (array of RestVariable) or by passing a multipart/form-data Object.

        Any number of variables can be passed into the request body array.

        NB: Swagger V2 specification does not support this use case that is why this endpoint might be buggy/incomplete if used with other tools.'
      operationId: createOrUpdateExecutionVariable
      parameters:
      - name: executionId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        $ref: '#/components/requestBodies/ExecutionVariableCollectionResource'
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
        '201':
          description: Indicates the execution was found and variable is created/updated.
        '400':
          description: Indicates the request body is incomplete or contains illegal values. The status description contains additional information about the error.
        '404':
          description: Indicates the requested execution was not found.
      security:
      - basicAuth: []
    delete:
      tags:
      - Executions
      summary: Delete all variables for an execution
      description: ''
      operationId: deleteLocalVariables
      parameters:
      - name: executionId
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Indicates the execution was found and variables have been deleted.
        '404':
          description: Indicates the requested execution was not found.
      security:
      - basicAuth: []
  /runtime/executions/{executionId}/variables-async:
    post:
      tags:
      - Executions
      summary: Create variables on an execution asynchronously
      description: 'This endpoint can be used in 2 ways: By passing a JSON Body (array of RestVariable) or by passing a multipart/form-data Object.

        Any number of variables can be passed into the request body array.

        NB: Swagger V2 specification does not support this use case that is why this endpoint might be buggy/incomplete if used with other tools.'
      operationId: createExecutionVariableAsync
      parameters:
      - name: executionId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        $ref: '#/components/requestBodies/ExecutionVariableCollectionResource'
      responses:
        '201':
          description: Indicates the job to create the variables has been created.
        '400':
          description: Indicates the request body is incomplete or contains illegal values. The status description contains additional information about the error.
        '409':
          description: Indicates the execution already contains a variable with the given name. Use the update-method instead.
      security:
      - basicAuth: []
    put:
      tags:
      - Executions
      summary: Update variables on an execution asynchronously
      description: 'This endpoint can be used in 2 ways: By passing a JSON Body (array of RestVariable) or by passing a multipart/form-data Object.

        Any number of variables can be passed into the request body array.

        NB: Swagger V2 specification does not support this use case that is why this endpoint might be buggy/incomplete if used with other tools.'
      operationId: createOrUpdateExecutionVariableAsync
      parameters:
      - name: executionId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        $ref: '#/components/requestBodies/ExecutionVariableCollectionResource'
      responses:
        '201':
          description: Indicates the job to update the variables has been created.
        '400':
          description: Indicates the request body is incomplete or contains illegal values. The status description contains additional information about the error.
      security:
      - basicAuth: []
  /runtime/executions/{executionId}/variables-async/{variableName}:
    put:
      tags:
      - Executions
      summary: Update a variable on an execution asynchronously
      description: 'This endpoint can be used in 2 ways: By passing a JSON Body (RestVariable) or by passing a multipart/form-data Object.

        NB: Swagger V2 specification does not support this use case that is why this endpoint might be buggy/incomplete if used with other tools.'
      operationId: updateExecutionVariableAsync
      parameters:
      - name: executionId
        in: path
        required: true
        schema:
          type: string
      - name: variableName
        in: path
        required: true
        schema:
          type: string
      requestBody:
        $ref: '#/components/requestBodies/ExecutionVariableResource'
      responses:
        '200':
          description: Indicates both the process instance and variable were found and variable is updated.
        '404':
          description: Indicates the process instance does not have a variable with the given name. Status description contains additional information about the error.
      security:
      - basicAuth: []
  /runtime/executions/{executionId}/variables/{variableName}:
    get:
      tags:
      - Executions
      summary: Get a variable for an execution
      description: ''
      operationId: getExecutionVariable
      parameters:
      - name: executionId
        in: path
        required: true
        schema:
          type: string
      - name: variableName
        in: path
        required: true
        schema:
          type: string
      - name: scope
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Indicates both the execution and variable were found and variable is returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestVariable'
        '400':
          description: Indicates the request body is incomplete or contains illegal values. The status description contains additional information about the error.
        '404':
          description: Indicates the requested execution was not found or the execution does not have a variable with the given name in the requested scope (in case scope-query parameter was omitted, variable does not exist in local and global scope). Status description contains additional information about the error.
      security:
      - basicAuth: []
    put:
      tags:
      - Executions
      summary: Update a variable on an execution
      description: 'This endpoint can be used in 2 ways: By passing a JSON Body (RestVariable) or by passing a multipart/form-data Object.

        NB: Swagger V2 specification does not support this use case that is why this endpoint might be buggy/incomplete if used with other tools.'
      operationId: updateExecutionVariable
      parameters:
      - name: executionId
        in: path
        required: true
        schema:
          type: string
      - name: variableName
        in: path
        required: true
        schema:
          type: string
      requestBody:
        $ref: '#/components/requestBodies/ExecutionVariableResource'
      responses:
        '200':
          description: Indicates both the process instance and variable were found and variable is updated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestVariable'
        '404':
          description: Indicates the requested process instance was not found or the process instance does not have a variable with the given name. Status description contains additional information about the error.
      security:
      - basicAuth: []
    delete:
      tags:
      - Executions
      summary: Delete a variable for an execution
      description: ''
      operationId: deletedExecutionVariable
      parameters:
      - name: executionId
        in: path
        required: true
        schema:
          type: string
      - name: variableName
        in: path
        required: true
        schema:
          type: string
      - name: scope
        in: query
        required: false
        schema:
          type: string
      responses:
        '204':
          description: Indicates both the execution and variable were found and variable has been deleted.
        '404':
          description: Indicates the requested execution was not found or the execution does not have a variable with the given name in the requested scope. Status description contains additional information about the error.
      security:
      - basicAuth: []
  /runtime/executions/{executionId}/variables/{variableName}/data:
    get:
      tags:
      - Executions
      summary: Get the binary data for an execution
      description: ''
      operationId: getExecutionVariableData
      parameters:
      - name: executionId
        in: path
        required: true
        schema:
          type: string
      - name: variableName
        in: path
        required: true
        schema:
          type: string
      - name: scope
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Indicates the execution was found and the requested variables are returned.
          content:
            '*/*':
              schema:
                type: array
                items:
                  type: string
                  format: byte
        '404':
          description: Indicates the requested execution was not found or the task does not have a variable with the given name (in the given scope). Status message provides additional information.
      security:
      - basicAuth: []
components:
  requestBodies:
    ExecutionChangeActivityStateRequest:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ExecutionChangeActivityStateRequest'
    ExecutionActionRequest:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ExecutionActionRequest'
    ExecutionVariableCollectionResource:
      content:
        multipart/form-data:
          schema:
            type: object
            properties:
              name:
                description: Required name of the variable
                example: Simple content item
                type: string
              type:
                description: Type of variable that is updated. If omitted, reverts to raw JSON-value type (string, boolean, integer or double)
                example: integer
                type: string
              scope:
                description: Scope of variable to be returned. When local, only task-local variable value is returned. When global, only variable value from the task’s parent execution-hierarchy are returned. When the parameter is omitted, a local variable will be returned if it exists, otherwise a global variable..
                example: local
                type: string
      description: Update a task variable
    ExecutionVariableResource:
      content:
        multipart/form-data:
          schema:
            type: object
            properties:
              file:
                type: string
                format: binary
              name:
                example: intProcVar
                type: string
              type:
                example: integer
                type: string
              scope:
                example: global
                type: string
      description: Update a variable on an execution
  schemas:
    ExecutionQueryRequest:
      type: object
      properties:
        start:
          type: integer
          format: int32
        size:
          type: integer
          format: int32
        sort:
          type: string
        order:
          type: string
        id:
          type: string
        activityId:
          type: string
        parentId:
          type: string
        processInstanceId:
          type: string
        processInstanceIds:
          type: array
          uniqueItems: true
          items:
            type: string
        processBusinessKey:
          type: string
        processDefinitionId:
          type: string
        processDefinitionKey:
          type: string
        signalEventSubscriptionName:
          type: string
        messageEventSubscriptionName:
          type: string
        variables:
          type: array
          items:
            $ref: '#/components/schemas/QueryVariable'
        processInstanceVariables:
          type: array
          items:
            $ref: '#/components/schemas/QueryVariable'
        tenantId:
          type: string
        tenantIdLike:
          type: string
        withoutTenantId:
          type: boolean
    ExecutionActionRequest:
      type: object
      required:
      - action
      properties:
        action:
          type: string
          example: signalEventReceived
          description: 'Action to perform: Either signal, trigger, signalEventReceived or messageEventReceived'
        signalName:
          type: string
          example: My Signal
          description: Name of the signal
        messageName:
          type: string
          example: My Signal
          description: Message of the signal
        variables:
          type: array
          items:
            $ref: '#/components/schemas/RestVariable'
        transientVariables:
          type: array
          items:
            $ref: '#/components/schemas/RestVariable'
    DataResponseExecutionResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/ExecutionResponse'
        total:
          type: integer
          format: int64
        start:
          type: integer
          format: int32
        sort:
          type: string
        order:
          type: string
        size:
          type: integer
          format: int32
    RestVariable:
      type: object
      properties:
        name:
          type: string
          example: myVariable
          description: Name of the variable
        type:
          type: string
          example: string
          description: Type of the variable.
        value:
          type: object
          example: test
          description: Value of the variable.
        valueUrl:
          type: string
          example: http://....
        scope:
          type: string
    ExecutionResponse:
      type: object
      properties:
        id:
          type: string
          example: '5'
        url:
          type: string
          example: http://localhost:8182/runtime/executions/5
        parentId:
          type: string
          example: 'null'
        parentUrl:
          type: string
          example: 'null'
        superExecutionId:
          type: string
          example: 'null'
        superExecutionUrl:
          type: string
          example: 'null'
        processInstanceId:
          type: string
          example: '5'
        processInstanceUrl:
          type: string
          example: http://localhost:8182/runtime/process-instances/5
        suspended:
          type: boolean
        activityId:
          type: string
          example: 'null'
        tenantId:
          type: string
          example: 'null'
    QueryVariable:
      type: object
      properties:
        name:
          type: string
        operation:
          type: string
          enum:
          - equals
          - notEquals
          - equalsIgnoreCase
          - notEqualsIgnoreCase
          - like
          - likeIgnoreCase
          - greaterThan
          - greaterThanOrEquals
          - lessThan
          - lessThanOrEquals
        value:
          type: object
        type:
          type: string
    ExecutionChangeActivityStateRequest:
      type: object
      properties:
        cancelActivityIds:
          type: array
          description: activityIds to be canceled
          items:
            type: string
        startActivityIds:
          type: array
          description: activityIds to be started
          items:
            type: string
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic