Flowable Tasks API

The Tasks API from Flowable — 14 operation(s) for tasks.

OpenAPI Specification

flowable-tasks-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 Tasks 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: Tasks
paths:
  /query/tasks:
    post:
      tags:
      - Tasks
      summary: Query for tasks
      description: All supported JSON parameter fields allowed are exactly the same as the parameters found for getting a collection of tasks (except for candidateGroupIn which is only available in this POST task query REST service), but passed in as JSON-body arguments rather than URL-parameters to allow for more advanced querying and preventing errors with request-uri’s that are too long. On top of that, the query allows for filtering based on task and process variables. The taskVariables and processInstanceVariables are both JSON-arrays containing objects with the format as described here.
      operationId: queryTasks
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TaskQueryRequest'
        x-s2o-overloaded: true
      responses:
        '200':
          description: Indicates request was successful and the tasks are returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataResponseTaskResponse'
        '400':
          description: Indicates a parameter was passed in the wrong format or that delegationState has an invalid value (other than pending and resolved). The status-message contains additional information.
      security:
      - basicAuth: []
      x-s2o-warning: Operation queryTasks has multiple requestBodies
  /runtime/tasks:
    get:
      tags:
      - Tasks
      summary: List of tasks
      description: ''
      operationId: listTasks
      parameters:
      - name: taskId
        in: query
        description: Only return tasks with the given id.
        required: false
        schema:
          type: string
      - name: name
        in: query
        description: Only return tasks with the given version.
        required: false
        schema:
          type: string
      - name: nameLike
        in: query
        description: Only return tasks with a name like the given name.
        required: false
        schema:
          type: string
      - name: nameLikeIgnoreCase
        in: query
        description: Only return tasks with a name like the given name ignoring case.
        required: false
        schema:
          type: string
      - name: description
        in: query
        description: Only return tasks with the given description.
        required: false
        schema:
          type: string
      - name: priority
        in: query
        description: Only return tasks with the given priority.
        required: false
        schema:
          type: string
      - name: minimumPriority
        in: query
        description: Only return tasks with a priority greater than the given value.
        required: false
        schema:
          type: string
      - name: maximumPriority
        in: query
        description: Only return tasks with a priority lower than the given value.
        required: false
        schema:
          type: string
      - name: assignee
        in: query
        description: Only return tasks assigned to the given user.
        required: false
        schema:
          type: string
      - name: assigneeLike
        in: query
        description: Only return tasks assigned with an assignee like the given value.
        required: false
        schema:
          type: string
      - name: owner
        in: query
        description: Only return tasks owned by the given user.
        required: false
        schema:
          type: string
      - name: ownerLike
        in: query
        description: Only return tasks assigned with an owner like the given value.
        required: false
        schema:
          type: string
      - name: unassigned
        in: query
        description: Only return tasks that are not assigned to anyone. If false is passed, the value is ignored.
        required: false
        schema:
          type: string
      - name: delegationState
        in: query
        description: Only return tasks that have the given delegation state. Possible values are pending and resolved.
        required: false
        schema:
          type: string
      - name: candidateUser
        in: query
        description: Only return tasks that can be claimed by the given user. This includes both tasks where the user is an explicit candidate for and task that are claimable by a group that the user is a member of.
        required: false
        schema:
          type: string
      - name: candidateGroup
        in: query
        description: Only return tasks that can be claimed by a user in the given group.
        required: false
        schema:
          type: string
      - name: candidateGroups
        in: query
        description: Only return tasks that can be claimed by a user in the given groups. Values split by comma.
        required: false
        schema:
          type: string
      - name: involvedUser
        in: query
        description: Only return tasks in which the given user is involved.
        required: false
        schema:
          type: string
      - name: taskDefinitionKey
        in: query
        description: Only return tasks with the given task definition id.
        required: false
        schema:
          type: string
      - name: taskDefinitionKeyLike
        in: query
        description: Only return tasks with a given task definition id like the given value.
        required: false
        schema:
          type: string
      - name: taskDefinitionKeys
        in: query
        description: Only return tasks with the given task definition ids.
        required: false
        schema:
          type: string
      - name: processInstanceId
        in: query
        description: Only return tasks which are part of the process instance with the given id.
        required: false
        schema:
          type: string
      - name: processInstanceIdWithChildren
        in: query
        description: Only return tasks which are part of the process instance and its children with the given id.
        required: false
        schema:
          type: string
      - name: withoutProcessInstanceId
        in: query
        description: If true, only returns tasks without a process instance id set. If false, the withoutProcessInstanceId parameter is ignored.
        required: false
        schema:
          type: boolean
      - name: processInstanceBusinessKey
        in: query
        description: Only return tasks which are part of the process instance with the given business key.
        required: false
        schema:
          type: string
      - name: processInstanceBusinessKeyLike
        in: query
        description: Only return tasks which are part of the process instance which has a business key like the given value.
        required: false
        schema:
          type: string
      - name: processDefinitionId
        in: query
        description: Only return tasks which are part of a process instance which has a process definition with the given id.
        required: false
        schema:
          type: string
      - name: processDefinitionKey
        in: query
        description: Only return tasks which are part of a process instance which has a process definition with the given key.
        required: false
        schema:
          type: string
      - name: processDefinitionKeyLike
        in: query
        description: Only return tasks which are part of a process instance which has a process definition with a key like the given value.
        required: false
        schema:
          type: string
      - name: processDefinitionName
        in: query
        description: Only return tasks which are part of a process instance which has a process definition with the given name.
        required: false
        schema:
          type: string
      - name: processDefinitionNameLike
        in: query
        description: Only return tasks which are part of a process instance which has a process definition with a name like the given value.
        required: false
        schema:
          type: string
      - name: executionId
        in: query
        description: Only return tasks which are part of the execution with the given id.
        required: false
        schema:
          type: string
      - name: createdOn
        in: query
        description: Only return tasks which are created on the given date.
        required: false
        schema:
          type: string
          format: date-time
      - name: createdBefore
        in: query
        description: Only return tasks which are created before the given date.
        required: false
        schema:
          type: string
          format: date-time
      - name: createdAfter
        in: query
        description: Only return tasks which are created after the given date.
        required: false
        schema:
          type: string
          format: date-time
      - name: dueDate
        in: query
        description: Only return tasks which are due on the given date.
        required: false
        schema:
          type: string
          format: date-time
      - name: dueBefore
        in: query
        description: Only return tasks which are due before the given date.
        required: false
        schema:
          type: string
          format: date-time
      - name: dueAfter
        in: query
        description: Only return tasks which are due after the given date.
        required: false
        schema:
          type: string
          format: date-time
      - name: withoutDueDate
        in: query
        description: Only return tasks which do not have a due date. The property is ignored if the value is false.
        required: false
        schema:
          type: boolean
      - name: excludeSubTasks
        in: query
        description: Only return tasks that are not a subtask of another task.
        required: false
        schema:
          type: boolean
      - name: active
        in: query
        description: If true, only return tasks that are not suspended (either part of a process that is not suspended or not part of a process at all). If false, only tasks that are part of suspended process instances are returned.
        required: false
        schema:
          type: boolean
      - name: includeTaskLocalVariables
        in: query
        description: Indication to include task local variables in the result.
        required: false
        schema:
          type: boolean
      - name: includeProcessVariables
        in: query
        description: Indication to include process variables in the result.
        required: false
        schema:
          type: boolean
      - name: scopeDefinitionId
        in: query
        description: Only return tasks with the given scopeDefinitionId.
        required: false
        schema:
          type: string
      - name: scopeId
        in: query
        description: Only return tasks with the given scopeId.
        required: false
        schema:
          type: string
      - name: scopeIds
        in: query
        description: Only return tasks with one of the given scopeIds.
        required: false
        schema:
          type: string
      - name: withoutScopeId
        in: query
        description: If true, only returns tasks without a scope id set. If false, the withoutScopeId parameter is ignored.
        required: false
        schema:
          type: boolean
      - name: scopeType
        in: query
        description: Only return tasks with the given scopeType.
        required: false
        schema:
          type: string
      - name: propagatedStageInstanceId
        in: query
        description: Only return tasks which have the given id as propagated stage instance id
        required: false
        schema:
          type: string
      - name: tenantId
        in: query
        description: Only return tasks with the given tenantId.
        required: false
        schema:
          type: string
      - name: tenantIdLike
        in: query
        description: Only return tasks with a tenantId like the given value.
        required: false
        schema:
          type: string
      - name: withoutTenantId
        in: query
        description: If true, only returns tasks without a tenantId set. If false, the withoutTenantId parameter is ignored.
        required: false
        schema:
          type: boolean
      - name: candidateOrAssigned
        in: query
        description: Select tasks that has been claimed or assigned to user or waiting to claim by user (candidate user or groups).
        required: false
        schema:
          type: string
      - name: category
        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: categoryIn
        in: query
        description: 'Select tasks for 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: categoryNotIn
        in: query
        description: 'Select tasks which are not assigned to the given categories. Does not return tasks without 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: withoutCategory
        in: query
        description: 'Select tasks without a category assigned. 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: rootScopeId
        in: query
        description: Only return tasks 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 tasks which have the given parent scope id (that can be a process or case instance ID).
        required: false
        schema:
          type: string
      - name: sort
        in: query
        description: The field to sort by. Defaults to 'id'.
        required: false
        schema:
          type: string
          enum:
          - id
          - name
          - description
          - dueDate
          - createTime
          - priority
          - executionId
          - processInstanceId
          - tenantId
          - assignee
          - owner
      - name: order
        in: query
        description: The sort order, either 'asc' or 'desc'. Defaults to 'asc'.
        required: false
        schema:
          type: string
      - name: start
        in: query
        description: Index of the first row to fetch. Defaults to 0.
        required: false
        schema:
          type: integer
      - name: size
        in: query
        description: Number of rows to fetch, starting from start. Defaults to 10.
        required: false
        schema:
          type: integer
      responses:
        '200':
          description: Indicates request was successful and the tasks are returned
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataResponseTaskResponse'
        '404':
          description: Indicates a parameter was passed in the wrong format or that delegationState has an invalid value (other than pending and resolved). The status-message contains additional information.
      security:
      - basicAuth: []
    post:
      tags:
      - Tasks
      summary: Create Task
      description: ''
      operationId: createTask
      requestBody:
        $ref: '#/components/requestBodies/TaskRequest'
      responses:
        '201':
          description: Indicates request was successful and the tasks are returned
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskResponse'
        '400':
          description: Indicates a parameter was passed in the wrong format or that delegationState has an invalid value (other than pending and resolved). The status-message contains additional information.
      security:
      - basicAuth: []
    put:
      tags:
      - Tasks
      summary: Update Tasks
      description: ''
      operationId: bulkUpdateTasks
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BulkTasksRequest'
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataResponseTaskResponse'
        '201':
          description: Indicates request was successful and the tasks are returned
        '400':
          description: Indicates a parameter was passed in the wrong format or that delegationState has an invalid value (other than pending and resolved). The status-message contains additional information.
      security:
      - basicAuth: []
  /runtime/tasks/{taskId}:
    get:
      tags:
      - Tasks
      summary: Get a task
      description: ''
      operationId: getTask
      parameters:
      - name: taskId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Indicates the task was found and returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskResponse'
        '404':
          description: Indicates the requested task was not found.
      security:
      - basicAuth: []
    post:
      tags:
      - Tasks
      summary: Tasks actions
      description: ''
      operationId: executeTaskAction
      parameters:
      - name: taskId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TaskActionRequest'
      responses:
        '200':
          description: Indicates the action was executed.
        '400':
          description: When the body contains an invalid value or when the assignee is missing when the action requires it.
        '404':
          description: Indicates the requested task was not found.
        '409':
          description: Indicates the action cannot be performed due to a conflict. Either the task was updates simultaneously or the task was claimed by another user, in case of the claim action.
      security:
      - basicAuth: []
    put:
      tags:
      - Tasks
      summary: Update a task
      description: 'All request values are optional. For example, you can only include the assignee attribute in the request body JSON-object, only updating the assignee of the task, leaving all other fields unaffected. When an attribute is explicitly included and is set to null, the task-value will be updated to null. Example: {"dueDate" : null} will clear the duedate of the task).'
      operationId: updateTask
      parameters:
      - name: taskId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        $ref: '#/components/requestBodies/TaskRequest'
      responses:
        '200':
          description: Indicates the task was updated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskResponse'
        '404':
          description: Indicates the requested task was not found.
        '409':
          description: Indicates the requested task was updated simultaneously.
      security:
      - basicAuth: []
    delete:
      tags:
      - Tasks
      summary: Delete a task
      description: ''
      operationId: deleteTask
      parameters:
      - name: taskId
        in: path
        required: true
        schema:
          type: string
      - name: cascadeHistory
        in: query
        description: Whether or not to delete the HistoricTask instance when deleting the task (if applicable). If not provided, this value defaults to false.
        required: false
        schema:
          type: string
      - name: deleteReason
        in: query
        description: Reason why the task is deleted. This value is ignored when cascadeHistory is true.
        required: false
        schema:
          type: string
      responses:
        '204':
          description: Indicates the task was found and has been deleted. Response-body is intentionally empty.
        '403':
          description: Indicates the requested task cannot be deleted because it’s part of a workflow.
        '404':
          description: Indicates the requested task was not found.
      security:
      - basicAuth: []
  /runtime/tasks/{taskId}/events:
    get:
      tags:
      - Tasks
      summary: List events for a task
      description: ''
      operationId: listTaskEvents
      parameters:
      - name: taskId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Indicates the task was found and the events are returned.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/EventResponse'
        '404':
          description: Indicates the requested task was not found.
      security:
      - basicAuth: []
  /runtime/tasks/{taskId}/events/{eventId}:
    get:
      tags:
      - Tasks
      summary: Get an event on a task
      description: ''
      operationId: getEvent
      parameters:
      - name: taskId
        in: path
        required: true
        schema:
          type: string
      - name: eventId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Indicates the task and event were found and the event is returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EventResponse'
        '404':
          description: Indicates the requested task was not found or the tasks does not have an event with the given ID.
      security:
      - basicAuth: []
    delete:
      tags:
      - Tasks
      summary: Delete an event on a task
      description: ''
      operationId: deleteEvent
      parameters:
      - name: taskId
        in: path
        required: true
        schema:
          type: string
      - name: eventId
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Indicates the task was found and the events are returned.
        '404':
          description: Indicates the requested task was not found or the task does not have the requested event.
      security:
      - basicAuth: []
  /runtime/tasks/{taskId}/form:
    get:
      tags:
      - Tasks
      summary: Get a task form
      description: ''
      operationId: getTaskForm
      parameters:
      - name: taskId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Indicates request was successful and the task form is returned
          content:
            application/json:
              schema:
                type: string
        '404':
          description: Indicates the requested task was not found.
      security:
      - basicAuth: []
  /runtime/tasks/{taskId}/subtasks:
    get:
      tags:
      - Tasks
      summary: List of sub tasks for a task
      description: ''
      operationId: listTaskSubtasks
      parameters:
      - name: taskId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Indicates request was successful and the  sub tasks are returned
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/TaskResponse'
        '404':
          description: Indicates the requested task was not found.
      security:
      - basicAuth: []
  /runtime/tasks/{taskId}/variables:
    post:
      tags:
      - Tasks
      summary: Create new variables on a task
      description: "This endpoint can be used in 2 ways: By passing a JSON Body (RestVariable or an Array of RestVariable) or by passing a multipart/form-data Object.\nIt is possible to create simple (non-binary) variable or list of variables or new binary variable \nAny number of variables can be passed into the request body array.\nNB: Swagger V2 specification does not support this use case that is why this endpoint might be buggy/incomplete if used with other tools."
      operationId: createTaskVariable
      parameters:
      - name: taskId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        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 created. If omitted, reverts to raw JSON-value type (string, boolean, integer or double)
                  example: integer
                  type: string
                scope:
                  description: Scope of variable that is created. If omitted, local is assumed.
                  example: local
                  type: string
        description: Create a variable on a task
      responses:
        '201':
          description: Indicates the variables were created and the result is returned.
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Indicates the name of a variable to create was missing or that an attempt is done to create a variable on a standalone task (without a process associated) with scope global or an empty array of variables was included in the request or request did not contain an array of variables. Status message provides additional information.
        '404':
          description: Indicates the requested task was not found.
        '409':
          description: Indicates the task already has a variable with the given name. Use the PUT method to update the task variable instead.
        '415':
          description: Indicates the serializable data contains an object for which no class is present in the JVM running the Flowable engine and therefore cannot be deserialized.
      security:
      - basicAuth: []
    delete:
      tags:
      - Tasks
      summary: Delete all local variables on a task
      description: ''
      operationId: deleteAllLocalTaskVariables
      parameters:
      - name: taskId
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Indicates all local task variables have been deleted. Response-body is intentionally empty.
        '404':
          description: Indicates the requested task was not found.
      security:
      - basicAuth: []
  /cmmn-query/tasks:
    post:
      tags:
      - Tasks
      summary: Query for tasks
      description: All supported JSON parameter fields allowed are exactly the same as the parameters found for getting a collection of tasks (except for candidateGroupIn which is only available in this POST task query REST service), but passed in as JSON-body arguments rather than URL-parameters to allow for more advanced querying and preventing errors with request-uri’s that are too long. On top of that, the query allows for filtering based on task and process variables. The taskVariables and processInstanceVariables are both JSON-arrays containing objects with the format as described here.
      operationId: queryTasks
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TaskQueryRequest_2'
        x-s2o-overloaded: true
      responses:
        '200':
          description: Indicates request was successful and the tasks are returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataResponseTaskResponse'
        '400':
          description: Indicates a parameter was passed in the wrong format or that delegationState has an invalid value (other than pending and resolved). The status-message contains additional information.
      security:
      - basicAuth: []
      x-s2o-warning: Operation queryTasks has multiple requestBodies
  /cmmn-runtime/tasks:
    get:
      tags:
      - Tasks
      summary: List of tasks
      description: ''
      operationId: listTasks
      parameters:
      - name: taskId
        in: query
        description: Only return tasks with the given id.
        required: false
        schema:
          type: string
      - name: name
        in: query
        description: Only return tasks with the given version.
        required: false
        schema:
          type: string
      - name: nameLike
        in: query
        description: Only return tasks with a name like the given name.
        required: false
        schema:
          type: string
      - name: nameLikeIgnoreCase
        in: query
        description: Only return tasks with a name like the given name ignoring case.
        required: false
        schema:
          type: string
      - name: description
        in: query
        description: Only return tasks with the given description.
        required: false
        schema:
          type: string
      - name: priority
        in: query
        description: Only return tasks with the given priority.
        required: false
        schema:
          type: string
      - name: minimumPriority
        in: query
        description: Only return tasks with a priority greater than the given value.
        required: false
        schema:
          type: string
      - name: maximumPriority
        in: query
        description: Only return tasks with a priority lower than the given value.
        required: false
        schema:
          type: string
      - name: assignee
        in: query
        description: Only return tasks assigned to the given user.
        required: false
        schema:
          type: string
      - name: assigneeLike
        in: query
        description: Only return tasks assigned with an assignee like the given value.
        required: false
        schema:
          type: string
      - name: owner
        in: query
        description: Only return tasks owned by the given user.
        required: false
        schema:
          type: string
      - name: ownerLike
        in: query
        description: Only return tasks assigned with an owner like the given value.
        required: false
        schema:
          type: string
      - name: unassigned
        in: query
        description: Only return tasks that are not assigned to anyone. If false is passed, the value is ignored.
        required: false
        schema:
          type: string
      - name: delegationState
        in: query
        desc

# --- truncated at 32 KB (69 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/flowable/refs/heads/main/openapi/flowable-tasks-api-openapi.yml