> ## Documentation Index
> Fetch the complete documentation index at: https://docs.aseeflow.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Get List (POST)

> Queries for tasks that fulfill a given filter. This method is slightly more powerful
than the [Get Tasks](https://docs.aseeflow.org/reference/rest/task/get-list/) method because it
allows filtering by multiple process or task variables of types `String`, `Number`
or `Boolean`. The size of the result set can be retrieved by using the
[Get Task Count (POST)](https://docs.aseeflow.org/reference/rest/task/get-list-count-post/) method.

**Security Consideration**:
There are several parameters (such as `assigneeExpression`) for specifying an EL
expression. These are disabled by default to prevent remote code execution. See the
section on
[security considerations for custom code](https://docs.aseeflow.org/user-guide/process-engine/securing-custom-code/)
in the user guide for details.



## OpenAPI

````yaml /reference/rest/openapi-1.0.json post /task
openapi: 3.0.2
info:
  title: ASEE Flow Platform REST API
  description: OpenApi Spec for ASEE Flow Platform REST API.
  version: 1.0.0
  license:
    name: Apache License 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
servers:
  - url: http://{host}:{port}/{contextPath}
    description: The API server for the default process engine
    variables:
      host:
        default: localhost
      port:
        default: '8080'
      contextPath:
        default: engine-rest
  - url: http://{host}:{port}/{contextPath}/engine/{engineName}
    description: The API server for a named process engine
    variables:
      host:
        default: localhost
      port:
        default: '8080'
      contextPath:
        default: engine-rest
      engineName:
        default: default
  - url: '{url}'
    description: The API server with a custom url
    variables:
      url:
        default: ''
security:
  - basicAuth: []
tags:
  - name: Authorization
  - name: Batch
  - name: Condition
  - name: Decision Definition
  - name: Decision Requirements Definition
  - name: Deployment
  - name: Engine
  - name: Event Subscription
  - name: Execution
  - name: External Task
  - name: Filter
  - name: Group
  - name: Historic Activity Instance
  - name: Historic Batch
  - name: Historic Decision Definition
  - name: Historic Decision Instance
  - name: Historic Decision Requirements Definition
  - name: Historic Detail
  - name: Historic External Task Log
  - name: Historic Identity Link Log
  - name: Historic Incident
  - name: Historic Job Log
  - name: Historic Process Definition
  - name: Historic Process Instance
  - name: Historic Task Instance
  - name: Historic User Operation Log
  - name: Historic Variable Instance
  - name: History Cleanup
  - name: Identity
  - name: Incident
  - name: Job
  - name: Job Definition
  - name: Message
  - name: Metrics
  - name: Migration
  - name: Modification
  - name: Process Definition
  - name: Process Instance
  - name: Signal
  - name: Schema Log
  - name: Task
  - name: Task Attachment
  - name: Task Comment
  - name: Task Identity Link
  - name: Task Local Variable
  - name: Task Variable
  - name: Telemetry
  - name: Tenant
  - name: User
  - name: Variable Instance
  - name: Version
externalDocs:
  description: Find out more about ASEE Flow Rest API
  url: https://docs.aseeflow.org/reference/rest/overview/
paths:
  /task:
    post:
      tags:
        - Task
      summary: Get List (POST)
      description: >-
        Queries for tasks that fulfill a given filter. This method is slightly
        more powerful

        than the [Get
        Tasks](https://docs.aseeflow.org/reference/rest/task/get-list/) method
        because it

        allows filtering by multiple process or task variables of types
        `String`, `Number`

        or `Boolean`. The size of the result set can be retrieved by using the

        [Get Task Count
        (POST)](https://docs.aseeflow.org/reference/rest/task/get-list-count-post/)
        method.


        **Security Consideration**:

        There are several parameters (such as `assigneeExpression`) for
        specifying an EL

        expression. These are disabled by default to prevent remote code
        execution. See the

        section on

        [security considerations for custom
        code](https://docs.aseeflow.org/user-guide/process-engine/securing-custom-code/)

        in the user guide for details.
      operationId: queryTasks
      parameters:
        - name: firstResult
          in: query
          schema:
            type: integer
          description: >-
            Pagination of results. Specifies the index of the first result to
            return.
        - name: maxResults
          in: query
          schema:
            type: integer
          description: >-
            Pagination of results. Specifies the maximum number of results to
            return.

            Will return less results if there are no more results left.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TaskQueryDto'
            examples:
              example-1:
                summary: POST `/task` Request Body 1
                value:
                  taskVariables:
                    - name: varName
                      value: varValue
                      operator: eq
                    - name: anotherVarName
                      value: 30
                      operator: neq
                  processInstanceBusinessKeyIn: aBusinessKey,anotherBusinessKey
                  assigneeIn: anAssignee,anotherAssignee
                  priority: 10
                  sorting:
                    - sortBy: dueDate
                      sortOrder: asc
                    - sortBy: processVariable
                      sortOrder: desc
                      parameters:
                        variable: orderId
                        type: String
              example-2:
                summary: POST `/task` Request Body 2
                description: >-
                  Logical query: assignee = "John Munda" AND (name = "Approve
                  Invoice" OR priority = 5) AND (suspended = false OR
                  taskDefinitionKey = "approveInvoice")
                value:
                  assignee: John Munda
                  withCommentAttachmentInfo: 'true'
                  orQueries:
                    - name: Approve Invoice
                      priority: 5
                    - suspended: false
                      taskDefinitionKey: approveInvoice
              example-3:
                summary: POST `/task` Request Body 3
                description: >-
                  Logical query: assignee = "John Munda" AND (name = "Approve
                  Invoice" OR priority = 5) AND (suspended = false OR
                  taskDefinitionKey = "approveInvoice")
                value:
                  assignee: John Munda
                  withCommentAttachmentInfo: 'true'
                  withTaskVariablesInReturn: 'true'
                  orQueries:
                    - name: Approve Invoice
                      priority: 5
                    - suspended: false
                      taskDefinitionKey: approveInvoice
              example-4:
                summary: POST `/task` Request Body 4
                description: >-
                  Logical query: assignee = "John Munda" AND (name = "Approve
                  Invoice" OR priority = 5) AND (suspended = false OR
                  taskDefinitionKey = "approveInvoice")
                value:
                  assignee: John Munda
                  withCommentAttachmentInfo: 'true'
                  withTaskLocalVariablesInReturn: 'true'
                  orQueries:
                    - name: Approve Invoice
                      priority: 5
                    - suspended: false
                      taskDefinitionKey: approveInvoice
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/TaskWithAttachmentAndCommentDto'
              examples:
                example-1:
                  summary: Status 200 response 1
                  value:
                    - id: anId
                      name: aName
                      assignee: anAssignee
                      created: 2013-01-23T13:42:42.453+0200
                      due: 2013-01-23T13:49:42.342+0200
                      'followUp:': 2013-01-23T13:44:42.546+0200
                      'lastUpdated:': 2013-01-23T13:44:42.546+0200
                      delegationState: RESOLVED
                      description: aDescription
                      executionId: anExecution
                      owner: anOwner
                      parentTaskId: aParentId
                      priority: 10
                      processDefinitionId: aProcDefId
                      processInstanceId: aProcInstId
                      caseDefinitionId: aCaseDefId
                      caseInstanceId: aCaseInstId
                      caseExecutionId: aCaseExecution
                      taskDefinitionKey: aTaskDefinitionKey
                      suspended: false
                      formKey: aFormKey
                      camundaFormRef:
                        key: aCamundaFormKey
                        binding: version
                        version: 2
                      tenantId: aTenantId
                      taskState: aTaskState
                example-2:
                  summary: Status 200 response 2
                  value:
                    - id: 349fffa8-6571-11e7-9a44-d6940f5ef88d
                      name: Approve Invoice
                      assignee: John Munda
                      created: 2017-07-10T15:10:54.670+0200
                      due: 2017-07-17T15:10:54.670+0200
                      followUp: null
                      lastUpdated: 2017-07-17T15:10:54.670+0200
                      delegationState: null
                      description: Approve the invoice (or not).
                      executionId: 349f8a5c-6571-11e7-9a44-d6940f5ef88d
                      owner: null
                      parentTaskId: null
                      priority: 50
                      processDefinitionId: invoice:1:2c8d8057-6571-11e7-9a44-d6940f5ef88d
                      processInstanceId: 349f8a5c-6571-11e7-9a44-d6940f5ef88d
                      taskDefinitionKey: approveInvoice
                      caseExecutionId: null
                      caseInstanceId: null
                      caseDefinitionId: null
                      suspended: false
                      formKey: embedded:app:develop/invoice-forms/approve-invoice.html
                      tenantId: null
                      taskState: aTaskState
                      attachment: false
                      comment: false
                example-3:
                  summary: Status 200 response 3
                  value:
                    - id: 349fffa8-6571-11e7-9a44-d6940f5ef88d
                      name: Approve Invoice
                      assignee: John Munda
                      created: 2017-07-10T15:10:54.670+0200
                      due: 2017-07-17T15:10:54.670+0200
                      followUp: null
                      lastUpdated: 2017-07-17T15:10:54.670+0200
                      delegationState: null
                      description: Approve the invoice (or not).
                      executionId: 349f8a5c-6571-11e7-9a44-d6940f5ef88d
                      owner: null
                      parentTaskId: null
                      priority: 50
                      processDefinitionId: invoice:1:2c8d8057-6571-11e7-9a44-d6940f5ef88d
                      processInstanceId: 349f8a5c-6571-11e7-9a44-d6940f5ef88d
                      taskDefinitionKey: approveInvoice
                      caseExecutionId: null
                      caseInstanceId: null
                      caseDefinitionId: null
                      suspended: false
                      formKey: embedded:app:develop/invoice-forms/approve-invoice.html
                      tenantId: null
                      taskState: aTaskState
                      variables:
                        aVariableKey:
                          type: String
                          value: aVariableValue
                          valueInfo: {}
                        anotherVariableKey:
                          type: String
                          value: anotherVariableValue
                          valueInfo: {}
                      attachment: false
                      comment: false
                example-4:
                  summary: Status 200 response 4
                  value:
                    - id: 349fffa8-6571-11e7-9a44-d6940f5ef88d
                      name: Approve Invoice
                      assignee: John Munda
                      created: 2017-07-10T15:10:54.670+0200
                      due: 2017-07-17T15:10:54.670+0200
                      followUp: null
                      lastUpdated: 2017-07-17T15:10:54.670+0200
                      delegationState: null
                      description: Approve the invoice (or not).
                      executionId: 349f8a5c-6571-11e7-9a44-d6940f5ef88d
                      owner: null
                      parentTaskId: null
                      priority: 50
                      processDefinitionId: invoice:1:2c8d8057-6571-11e7-9a44-d6940f5ef88d
                      processInstanceId: 349f8a5c-6571-11e7-9a44-d6940f5ef88d
                      taskDefinitionKey: approveInvoice
                      caseExecutionId: null
                      caseInstanceId: null
                      caseDefinitionId: null
                      suspended: false
                      formKey: embedded:app:develop/invoice-forms/approve-invoice.html
                      tenantId: null
                      taskState: aTaskState
                      variables:
                        anotherVariableKey:
                          type: String
                          value: anotherVariableValue
                          valueInfo: {}
                      attachment: false
                      comment: false
          description: Request successful.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionDto'
          description: >-
            Returned if some of the query parameters are invalid, for example if
            a `sortOrder`

            parameter is supplied, but no `sortBy`, or if an invalid operator
            for variable

            comparison is used. See the

            [Introduction](https://docs.aseeflow.org/reference/rest/overview/#error-handling)

            for the error response format.
components:
  schemas:
    TaskQueryDto:
      type: object
      description: A Task query which defines a group of Tasks.
      properties:
        taskId:
          type: string
          nullable: true
          description: Restrict to task with the given id.
        taskIdIn:
          type: array
          nullable: true
          items:
            type: string
          description: Restrict to tasks with any of the given ids.
        processInstanceId:
          type: string
          nullable: true
          description: >-
            Restrict to tasks that belong to process instances with the given
            id.
        processInstanceIdIn:
          type: array
          nullable: true
          items:
            type: string
          description: >-
            Restrict to tasks that belong to process instances with the given
            ids.
        processInstanceBusinessKey:
          type: string
          nullable: true
          description: >-
            Restrict to tasks that belong to process instances with the given
            business key.
        processInstanceBusinessKeyExpression:
          type: string
          nullable: true
          description: "Restrict to tasks that belong to process instances with the given business key which \r\nis described by an expression. See the \r\n[user guide](https://docs.aseeflow.org/user-guide/process-engine/expression-language/unified-expression-language#internal-context-functions)\r\nfor more information on available functions."
        processInstanceBusinessKeyIn:
          type: array
          nullable: true
          items:
            type: string
          description: "Restrict to tasks that belong to process instances with one of the give business keys. \r\nThe keys need to be in a comma-separated list."
        processInstanceBusinessKeyLike:
          type: string
          nullable: true
          description: "Restrict to tasks that have a process instance business key that has the parameter \r\nvalue as a substring."
        processInstanceBusinessKeyLikeExpression:
          type: string
          nullable: true
          description: "Restrict to tasks that have a process instance business key that has the parameter \r\nvalue as a substring and is described by an expression. See the\r\n[user guide](https://docs.aseeflow.org/user-guide/process-engine/expression-language/unified-expression-language#internal-context-functions) \r\nfor more information on available functions."
        processDefinitionId:
          type: string
          nullable: true
          description: >-
            Restrict to tasks that belong to a process definition with the given
            id.
        processDefinitionKey:
          type: string
          nullable: true
          description: >-
            Restrict to tasks that belong to a process definition with the given
            key.
        processDefinitionKeyIn:
          type: array
          nullable: true
          items:
            type: string
          description: "Restrict to tasks that belong to a process definition with one of the given keys. The \r\nkeys need to be in a comma-separated list."
        processDefinitionName:
          type: string
          nullable: true
          description: >-
            Restrict to tasks that belong to a process definition with the given
            name.
        processDefinitionNameLike:
          type: string
          nullable: true
          description: "Restrict to tasks that have a process definition name that has the parameter value as \r\na substring."
        executionId:
          type: string
          nullable: true
          description: Restrict to tasks that belong to an execution with the given id.
        caseInstanceId:
          type: string
          nullable: true
          description: Restrict to tasks that belong to case instances with the given id.
        caseInstanceBusinessKey:
          type: string
          nullable: true
          description: >-
            Restrict to tasks that belong to case instances with the given
            business key.
        caseInstanceBusinessKeyLike:
          type: string
          nullable: true
          description: "Restrict to tasks that have a case instance business key that has the parameter value \r\nas a substring."
        caseDefinitionId:
          type: string
          nullable: true
          description: >-
            Restrict to tasks that belong to a case definition with the given
            id.
        caseDefinitionKey:
          type: string
          nullable: true
          description: >-
            Restrict to tasks that belong to a case definition with the given
            key.
        caseDefinitionName:
          type: string
          nullable: true
          description: >-
            Restrict to tasks that belong to a case definition with the given
            name.
        caseDefinitionNameLike:
          type: string
          nullable: true
          description: "Restrict to tasks that have a case definition name that has the parameter value as a \r\nsubstring."
        caseExecutionId:
          type: string
          nullable: true
          description: Restrict to tasks that belong to a case execution with the given id.
        activityInstanceIdIn:
          type: array
          nullable: true
          items:
            type: string
          description: "Only include tasks which belong to one of the passed and comma-separated activity \r\ninstance ids."
        tenantIdIn:
          type: array
          nullable: true
          items:
            type: string
          description: "Only include tasks which belong to one of the passed and comma-separated \r\ntenant ids."
        withoutTenantId:
          type: boolean
          nullable: true
          default: false
          description: "Only include tasks which belong to no tenant. Value may only be `true`, \r\nas `false` is the default behavior."
        assignee:
          type: string
          nullable: true
          description: Restrict to tasks that the given user is assigned to.
        assigneeExpression:
          type: string
          nullable: true
          description: "Restrict to tasks that the user described by the given expression is assigned to. See the\r\n[user guide](https://docs.aseeflow.org/user-guide/process-engine/expression-language/unified-expression-language#internal-context-functions) \r\nfor more information on available functions."
        assigneeLike:
          type: string
          nullable: true
          description: "Restrict to tasks that have an assignee that has the parameter \r\nvalue as a substring."
        assigneeLikeExpression:
          type: string
          nullable: true
          description: "Restrict to tasks that have an assignee that has the parameter value described by the \r\ngiven expression as a substring. See the \r\n[user guide](https://docs.aseeflow.org/user-guide/process-engine/expression-language/unified-expression-language#internal-context-functions) \r\nfor more information on available functions."
        assigneeIn:
          type: array
          nullable: true
          items:
            type: string
          description: >-
            Only include tasks which are assigned to one of the passed and
            comma-separated user ids.
        assigneeNotIn:
          type: array
          nullable: true
          items:
            type: string
          description: >-
            Only include tasks which are not assigned to one of the passed and
            comma-separated user ids.
        owner:
          type: string
          nullable: true
          description: Restrict to tasks that the given user owns.
        ownerExpression:
          type: string
          nullable: true
          description: "Restrict to tasks that the user described by the given expression owns. See the \r\n[user guide](https://docs.aseeflow.org/user-guide/process-engine/expression-language/unified-expression-language#internal-context-functions) \r\nfor more information on available functions."
        candidateGroup:
          type: string
          nullable: true
          description: Only include tasks that are offered to the given group.
        candidateGroupLike:
          type: string
          nullable: true
          description: >-
            Only include tasks that are offered to groups that have the
            parameter value as a substring.
        candidateGroupExpression:
          type: string
          nullable: true
          description: "Only include tasks that are offered to the group described by the given expression. \r\nSee the \r\n[user guide](https://docs.aseeflow.org/user-guide/process-engine/expression-language/unified-expression-language#internal-context-functions) \r\nfor more information on available functions."
        candidateUser:
          type: string
          nullable: true
          description: >-
            Only include tasks that are offered to the given user or to one of
            his groups.
        candidateUserExpression:
          type: string
          nullable: true
          description: "Only include tasks that are offered to the user described by the given expression. \r\nSee the \r\n[user guide](https://docs.aseeflow.org/user-guide/process-engine/expression-language/unified-expression-language#internal-context-functions) \r\nfor more information on available functions."
        includeAssignedTasks:
          type: boolean
          nullable: true
          default: false
          description: "Also include tasks that are assigned to users in candidate queries. Default is to only \r\ninclude tasks that are not assigned to any user if you query by candidate user or\r\ngroup(s)."
        involvedUser:
          type: string
          nullable: true
          description: "Only include tasks that the given user is involved in. A user is involved in a task if \r\nan identity link exists between task and user (e.g., the user is the assignee)."
        involvedUserExpression:
          type: string
          nullable: true
          description: "Only include tasks that the user described by the given expression is involved in.\r\nA user is involved in a task if an identity link exists between task and user\r\n(e.g., the user is the assignee). See the\r\n[user guide](https://docs.aseeflow.org/user-guide/process-engine/expression-language/unified-expression-language#internal-context-functions)\r\nfor more information on available functions."
        assigned:
          type: boolean
          nullable: true
          default: false
          description: >-
            If set to `true`, restricts the query to all tasks that are
            assigned.
        unassigned:
          type: boolean
          nullable: true
          default: false
          description: >-
            If set to `true`, restricts the query to all tasks that are
            unassigned.
        taskDefinitionKey:
          type: string
          nullable: true
          description: Restrict to tasks that have the given key.
        taskDefinitionKeyIn:
          type: array
          nullable: true
          items:
            type: string
          description: >-
            Restrict to tasks that have one of the given keys. The keys need to
            be in a comma-separated list.
        taskDefinitionKeyNotIn:
          type: array
          nullable: true
          items:
            type: string
          description: >-
            Exclude instances by a list of task definition keys. The keys need
            to be in a comma-separated list.
        taskDefinitionKeyLike:
          type: string
          nullable: true
          description: >-
            Restrict to tasks that have a key that has the parameter value as a
            substring.
        name:
          type: string
          nullable: true
          description: Restrict to tasks that have the given name.
        nameNotEqual:
          type: string
          nullable: true
          description: Restrict to tasks that do not have the given name.
        nameLike:
          type: string
          nullable: true
          description: >-
            Restrict to tasks that have a name with the given parameter value as
            substring.
        nameNotLike:
          type: string
          nullable: true
          description: "Restrict to tasks that do not have a name with the given parameter\r\nvalue as substring."
        description:
          type: string
          nullable: true
          description: Restrict to tasks that have the given description.
        descriptionLike:
          type: string
          nullable: true
          description: "Restrict to tasks that have a description that has the parameter\r\nvalue as a substring."
        priority:
          type: integer
          format: int32
          nullable: true
          description: Restrict to tasks that have the given priority.
        maxPriority:
          type: integer
          format: int32
          nullable: true
          description: Restrict to tasks that have a lower or equal priority.
        minPriority:
          type: integer
          format: int32
          nullable: true
          description: Restrict to tasks that have a higher or equal priority.
        dueDate:
          type: string
          format: date-time
          nullable: true
          description: "Restrict to tasks that are due on the given date. By\r\n[default](https://docs.aseeflow.org/reference/rest/overview/date-format/), the date must have the format\r\n`yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.546+0200`."
        dueDateExpression:
          type: string
          nullable: true
          description: "Restrict to tasks that are due on the date described by the given expression. See the\r\n[user guide](https://docs.aseeflow.org/user-guide/process-engine/expression-language/unified-expression-language#internal-context-functions)\r\nfor more information on available functions. The expression must evaluate to a\r\n`java.util.Date` or `org.joda.time.DateTime` object."
        dueAfter:
          type: string
          format: date-time
          nullable: true
          description: "Restrict to tasks that are due after the given date. By\r\n[default](https://docs.aseeflow.org/reference/rest/overview/date-format/), the date must have\r\nthe format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.435+0200`."
        dueAfterExpression:
          type: string
          nullable: true
          description: "Restrict to tasks that are due after the date described by the given expression.\r\nSee the\r\n[user guide](https://docs.aseeflow.org/user-guide/process-engine/expression-language/unified-expression-language#internal-context-functions)\r\nfor more information on available functions. The expression must evaluate to a\r\n`java.util.Date` or `org.joda.time.DateTime` object."
        dueBefore:
          type: string
          format: date-time
          nullable: true
          description: "Restrict to tasks that are due before the given date. By\r\n[default](https://docs.aseeflow.org/reference/rest/overview/date-format/), the date must have\r\nthe format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.243+0200`."
        dueBeforeExpression:
          type: string
          nullable: true
          description: "Restrict to tasks that are due before the date described by the given expression.\r\nSee the\r\n[user guide](https://docs.aseeflow.org/user-guide/process-engine/expression-language/unified-expression-language#internal-context-functions)\r\nfor more information on available functions. The expression must evaluate to a\r\n`java.util.Date` or `org.joda.time.DateTime` object."
        withoutDueDate:
          type: boolean
          nullable: true
          default: false
          description: "Only include tasks which have no due date. Value may only be `true`, \r\nas `false` is the default behavior."
        followUpDate:
          type: string
          format: date-time
          nullable: true
          description: "Restrict to tasks that have a followUp date on the given date. By\r\n[default](https://docs.aseeflow.org/reference/rest/overview/date-format/), the date\r\nmust have the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.342+0200`."
        followUpDateExpression:
          type: string
          nullable: true
          description: "Restrict to tasks that have a followUp date on the date described by the given\r\nexpression. See the\r\n[user guide](https://docs.aseeflow.org/user-guide/process-engine/expression-language/unified-expression-language#internal-context-functions)\r\nfor more information on available functions. The expression must evaluate to a\r\n`java.util.Date` or `org.joda.time.DateTime` object."
        followUpAfter:
          type: string
          format: date-time
          nullable: true
          description: "Restrict to tasks that have a followUp date after the given date. By\r\n[default](https://docs.aseeflow.org/reference/rest/overview/date-format/), the date must have\r\nthe format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.542+0200`."
        followUpAfterExpression:
          type: string
          nullable: true
          description: "Restrict to tasks that have a followUp date after the date described by the given\r\nexpression. See the\r\n[user guide](https://docs.aseeflow.org/user-guide/process-engine/expression-language/unified-expression-language#internal-context-functions)\r\nfor more information on available functions. The expression must evaluate to a\r\n`java.util.Date` or `org.joda.time.DateTime` object."
        followUpBefore:
          type: string
          nullable: true
          description: "Restrict to tasks that have a followUp date before the given date. By\r\n[default](https://docs.aseeflow.org/reference/rest/overview/date-format/), the date must have\r\nthe format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.234+0200`."
        followUpBeforeExpression:
          type: string
          nullable: true
          description: "Restrict to tasks that have a followUp date before the date described by the given\r\nexpression. See the\r\n[user guide](https://docs.aseeflow.org/user-guide/process-engine/expression-language/unified-expression-language#internal-context-functions)\r\nfor more information on available functions. The expression must evaluate to a\r\n`java.util.Date` or `org.joda.time.DateTime` object."
        followUpBeforeOrNotExistent:
          type: string
          format: date-time
          nullable: true
          description: "Restrict to tasks that have no followUp date or a followUp date before the given date.\r\nBy [default](https://docs.aseeflow.org/reference/rest/overview/date-format/), the date must have\r\nthe format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.432+0200`. The typical use case\r\nis to query all `active` tasks for a user for a given date."
        followUpBeforeOrNotExistentExpression:
          type: string
          nullable: true
          description: "Restrict to tasks that have no followUp date or a followUp date before the date\r\ndescribed by the given expression. See the\r\n[user guide](https://docs.aseeflow.org/user-guide/process-engine/expression-language/unified-expression-language#internal-context-functions)\r\nfor more information on available functions. The expression must evaluate to a\r\n`java.util.Date` or `org.joda.time.DateTime` object."
        createdOn:
          type: string
          format: date-time
          nullable: true
          description: "Restrict to tasks that were created on the given date. By\r\n[default](https://docs.aseeflow.org/reference/rest/overview/date-format/), the date must have\r\nthe format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.324+0200`."
        createdOnExpression:
          type: string
          nullable: true
          description: "Restrict to tasks that were created on the date described by the given expression.\r\nSee the\r\n[user guide](https://docs.aseeflow.org/user-guide/process-engine/expression-language/unified-expression-language#internal-context-functions)\r\nfor more information on available functions. The expression must evaluate to a\r\n`java.util.Date` or `org.joda.time.DateTime` object."
        createdAfter:
          type: string
          format: date-time
          nullable: true
          description: "Restrict to tasks that were created after the given date. By\r\n[default](https://docs.aseeflow.org/reference/rest/overview/date-format/), the date must\r\nhave the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.342+0200`."
        createdAfterExpression:
          type: string
          nullable: true
          description: "Restrict to tasks that were created after the date described by the given expression.\r\nSee the\r\n[user guide](https://docs.aseeflow.org/user-guide/process-engine/expression-language/unified-expression-language#internal-context-functions)\r\nfor more information on available functions. The expression must evaluate to a\r\n`java.util.Date` or `org.joda.time.DateTime` object."
        createdBefore:
          type: string
          format: date-time
          nullable: true
          description: "Restrict to tasks that were created before the given date. By\r\n[default](https://docs.aseeflow.org/reference/rest/overview/date-format/), the date must\r\nhave the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.332+0200`."
        createdBeforeExpression:
          type: string
          nullable: true
          description: "Restrict to tasks that were created before the date described by the given expression.\r\nSee the\r\n[user guide](https://docs.aseeflow.org/user-guide/process-engine/expression-language/unified-expression-language#internal-context-functions)\r\nfor more information on available functions. The expression must evaluate to a\r\n`java.util.Date` or `org.joda.time.DateTime` object."
        updatedAfter:
          type: string
          format: date-time
          nullable: true
          description: "Restrict to tasks that were updated after the given date. Every action that fires \r\na [task update event](https://docs.aseeflow.org/user-guide/process-engine/delegation-code/#task-listener-event-lifecycle) is considered as updating the task.\r\nBy [default](https://docs.aseeflow.org/reference/rest/overview/date-format/), the date must\r\nhave the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.332+0200`."
        updatedAfterExpression:
          type: string
          nullable: true
          description: "Restrict to tasks that were updated after the date described by the given expression. Every action that fires \r\na [task update event](https://docs.aseeflow.org/user-guide/process-engine/delegation-code/#task-listener-event-lifecycle) is considered as updating the task.\r\nSee the\r\n[user guide](https://docs.aseeflow.org/user-guide/process-engine/expression-language/unified-expression-language#internal-context-functions)\r\nfor more information on available functions. The expression must evaluate to a\r\n`java.util.Date` or `org.joda.time.DateTime` object."
        delegationState:
          type: string
          nullable: true
          enum:
            - PENDING
            - RESOLVED
          description: "Restrict to tasks that are in the given delegation state. Valid values are\r\n`PENDING` and `RESOLVED`."
        candidateGroups:
          type: array
          nullable: true
          items:
            type: string
          description: "Restrict to tasks that are offered to any of the given candidate groups. Takes a\r\ncomma-separated list of group names, so for example\r\n`developers,support,sales`."
        candidateGroupsExpression:
          type: string
          nullable: true
          description: "Restrict to tasks that are offered to any of the candidate groups described by the\r\ngiven expression. See the\r\n[user guide](https://docs.aseeflow.org/user-guide/process-engine/expression-language/unified-expression-language#internal-context-functions)\r\nfor more information on available functions. The expression must evaluate to\r\n`java.util.List` of Strings."
        withCandidateGroups:
          type: boolean
          nullable: true
          default: false
          description: "Only include tasks which have a candidate group. Value may only be `true`,\r\nas `false` is the default behavior."
        withoutCandidateGroups:
          type: boolean
          nullable: true
          default: false
          description: "Only include tasks which have no candidate group. Value may only be `true`,\r\nas `false` is the default behavior."
        withCandidateUsers:
          type: boolean
          nullable: true
          default: false
          description: "Only include tasks which have a candidate user. Value may only be `true`,\r\nas `false` is the default behavior."
        withoutCandidateUsers:
          type: boolean
          nullable: true
          default: false
          description: "Only include tasks which have no candidate users. Value may only be `true`,\r\nas `false` is the default behavior."
        active:
          type: boolean
          nullable: true
          default: false
          description: "Only include active tasks. Value may only be `true`, as `false`\r\nis the default behavior."
        suspended:
          type: boolean
          nullable: true
          default: false
          description: "Only include suspended tasks. Value may only be `true`, as\r\n`false` is the default behavior."
        taskVariables:
          type: array
          nullable: true
          items:
            $ref: '#/components/schemas/VariableQueryParameterDto'
          description: "A JSON array to only include tasks that have variables with certain values. The\r\narray consists of JSON objects with three properties `name`, `operator` and `value`.\r\n`name` is the variable name, `operator` is the comparison operator to be used and\r\n`value` the variable value. `value` may be of type `String`, `Number` or `Boolean`.\r\n\r\nValid `operator` values are:\r\n`eq` - equal to;\r\n`neq` - not equal to;\r\n`gt` - greater than;\r\n`gteq` - greater than or equal to;\r\n`lt` - lower than;\r\n`lteq` - lower than or equal to;\r\n`like`.\r\n`key` and `value` may not contain underscore or comma characters."
        processVariables:
          type: array
          nullable: true
          items:
            $ref: '#/components/schemas/VariableQueryParameterDto'
          description: "A JSON array to only include tasks that belong to a process instance with variables\r\nwith certain values. The array consists of JSON objects with three properties\r\n`name`, `operator` and `value`. `name` is the variable name, `operator` is the\r\ncomparison operator to be used and `value` the variable value. `value` may be of\r\ntype `String`, `Number` or `Boolean`.\r\n\r\nValid `operator` values are:\r\n`eq` - equal to;\r\n`neq` - not equal to;\r\n`gt` - greater than;\r\n`gteq` - greater than or equal to;\r\n`lt` - lower than;\r\n`lteq` - lower than or equal to;\r\n`like`;\r\n`notLike`.\r\n`key` and `value` may not contain underscore or comma characters."
        caseInstanceVariables:
          type: array
          nullable: true
          items:
            $ref: '#/components/schemas/VariableQueryParameterDto'
          description: "A JSON array to only include tasks that belong to a case instance with variables\r\nwith certain values. The array consists of JSON objects with three properties\r\n`name`, `operator` and `value`. `name` is the variable name, `operator` is the\r\ncomparison operator to be used and `value` the variable value. `value` may be of\r\ntype `String`, `Number` or `Boolean`.\r\n\r\nValid `operator` values are:\r\n`eq` - equal to;\r\n`neq` - not equal to;\r\n`gt` - greater than;\r\n`gteq` - greater than or equal to;\r\n`lt` - lower than;\r\n`lteq` - lower than or equal to;\r\n`like`.\r\n`key` and `value` may not contain underscore or comma characters."
        variableNamesIgnoreCase:
          type: boolean
          nullable: true
          default: false
          description: "Match all variable names in this query case-insensitively. If set\r\n`variableName` and `variablename` are treated as equal."
        variableValuesIgnoreCase:
          type: boolean
          nullable: true
          default: false
          description: "Match all variable values in this query case-insensitively. If set\r\n`variableValue` and `variablevalue` are treated as equal."
        parentTaskId:
          type: string
          nullable: true
          description: >-
            Restrict query to all tasks that are sub tasks of the given task.
            Takes a task id.
        orQueries:
          type: array
          nullable: true
          items:
            $ref: '#/components/schemas/TaskQueryDto'
          description: "A JSON array of nested task queries with OR semantics. A task matches a nested query if it fulfills\r\n*at least one* of the query's predicates. With multiple nested queries, a task must fulfill at least one predicate of *each* query ([Conjunctive Normal Form](https://en.wikipedia.org/wiki/Conjunctive_normal_form)).\r\n\r\nAll task query properties can be used except for: `sorting`, `withCandidateGroups`,\r\n`withoutCandidateGroups`, `withCandidateUsers`, `withoutCandidateUsers`\r\n\r\nSee the [User guide](https://docs.aseeflow.org/user-guide/process-engine/process-engine-api/#or-queries)\r\nfor more information about OR queries."
        sorting:
          type: array
          nullable: true
          description: Apply sorting of the result
          items:
            type: object
            properties:
              sortBy:
                type: string
                nullable: true
                enum:
                  - instanceId
                  - caseInstanceId
                  - dueDate
                  - executionId
                  - caseExecutionId
                  - assignee
                  - created
                  - lastUpdated
                  - followUpDate
                  - description
                  - id
                  - name
                  - nameCaseInsensitive
                  - priority
                  - processVariable
                  - executionVariable
                  - taskVariable
                  - caseExecutionVariable
                  - caseInstanceVariable
                description: |-
                  Sort the results lexicographically by a given criterion.
                  Must be used in conjunction with the sortOrder parameter.
              sortOrder:
                type: string
                nullable: true
                enum:
                  - asc
                  - desc
                description: >-
                  Sort the results in a given order. Values may be `asc` for
                  ascending order or `desc` for

                  descending order. Must be used in conjunction with the sortBy
                  parameter.
              parameters:
                $ref: '#/components/schemas/SortTaskQueryParametersDto'
    TaskWithAttachmentAndCommentDto:
      allOf:
        - type: object
          properties:
            attachment:
              type: boolean
              nullable: true
              description: Specifies if an attachment exists for the task.
            comment:
              type: boolean
              nullable: true
              description: Specifies if an comment exists for the task.
        - $ref: '#/components/schemas/TaskWithVariablesDto'
    ExceptionDto:
      title: ExceptionDto
      type: object
      properties:
        type:
          type: string
          nullable: true
          description: An exception class indicating the occurred error.
        message:
          type: string
          nullable: true
          description: A detailed message of the error.
        code:
          type: number
          description: >-
            The code allows your client application to identify the error in an
            automated fashion.

            You can look up the meaning of all built-in codes and learn how to
            add custom codes

            in the [User
            Guide](https://docs.aseeflow.org/user-guide/process-engine/error-handling/#exception-codes).
    VariableQueryParameterDto:
      allOf:
        - type: object
          properties:
            name:
              type: string
              nullable: true
              description: Variable name
        - $ref: '#/components/schemas/ConditionQueryParameterDto'
    SortTaskQueryParametersDto:
      type: object
      description: >-
        Mandatory when `sortBy` is one of the following values:
        `processVariable`, `executionVariable`,

        `taskVariable`, `caseExecutionVariable` or `caseInstanceVariable`. Must
        be a JSON object with the properties

        `variable` and `type` where `variable` is a variable name and `type` is
        the name of a variable value type.
      properties:
        variable:
          type: string
          nullable: true
          description: The name of the variable to sort by.
        type:
          type: string
          nullable: true
          description: The name of the type of the variable value.
    TaskWithVariablesDto:
      allOf:
        - type: object
          properties:
            variables:
              type: object
              nullable: true
              additionalProperties:
                $ref: '#/components/schemas/VariableValueDto'
              description: Holds the appropriate variables for the task.
        - $ref: '#/components/schemas/TaskDto'
    ConditionQueryParameterDto:
      type: object
      properties:
        operator:
          type: string
          nullable: true
          enum:
            - eq
            - neq
            - gt
            - gteq
            - lt
            - lteq
            - like
            - notLike
          description: >-
            Comparison operator to be used. `notLike` is not supported by all
            endpoints.
        value:
          $ref: '#/components/schemas/AnyValue'
    VariableValueDto:
      type: object
      properties:
        value:
          $ref: '#/components/schemas/AnyValue'
        type:
          type: string
          nullable: true
          description: The value type of the variable.
        valueInfo:
          type: object
          additionalProperties: true
          description: >-
            A JSON object containing additional, value-type-dependent
            properties.

            For serialized variables of type Object, the following properties
            can be provided:


            * `objectTypeName`: A string representation of the object's type
            name.

            * `serializationDataFormat`: The serialization format used to store
            the variable.


            For serialized variables of type File, the following properties can
            be provided:


            * `filename`: The name of the file. This is not the variable name
            but the name that will be used when downloading the file again.

            * `mimetype`: The MIME type of the file that is being uploaded.

            * `encoding`: The encoding of the file that is being uploaded.


            The following property can be provided for all value types:


            * `transient`: Indicates whether the variable should be transient or

            not. See
            [documentation](https://docs.aseeflow.org/user-guide/process-engine/variables#transient-variables)
            for more informations.

            (Not applicable for `decision-definition`, `
            /process-instance/variables-async`, and `/migration/executeAsync`
            endpoints)
    TaskDto:
      type: object
      properties:
        id:
          type: string
          nullable: true
          description: The task id.
        name:
          type: string
          nullable: true
          description: The task name.
        assignee:
          type: string
          nullable: true
          description: The assignee's id.
        owner:
          type: string
          nullable: true
          description: The owner's id.
        created:
          type: string
          format: date-time
          nullable: true
          description: >-
            The date the task was created on.

            [Default
            format](https://docs.aseeflow.org/reference/rest/overview/date-format/)

            `yyyy-MM-dd'T'HH:mm:ss.SSSZ`.
        lastUpdated:
          type: string
          format: date-time
          nullable: true
          description: >-
            The date the task was last updated. Every action that fires a [task
            update
            event](https://docs.aseeflow.org/user-guide/process-engine/delegation-code/#task-listener-event-lifecycle)
            will update this property.

            [Default
            format](https://docs.aseeflow.org/reference/rest/overview/date-format/)

            `yyyy-MM-dd'T'HH:mm:ss.SSSZ`.
        due:
          type: string
          format: date-time
          nullable: true
          description: >-
            The task's due date.

            [Default
            format](https://docs.aseeflow.org/reference/rest/overview/date-format/)

            `yyyy-MM-dd'T'HH:mm:ss.SSSZ`.
        followUp:
          type: string
          format: date-time
          nullable: true
          description: >-
            The follow-up date for the task.

            [Default
            format](https://docs.aseeflow.org/reference/rest/overview/date-format/)

            `yyyy-MM-dd'T'HH:mm:ss.SSSZ`.
        delegationState:
          type: string
          nullable: true
          enum:
            - PENDING
            - RESOLVED
          description: >-
            The task's delegation state. Possible values are `PENDING` and
            `RESOLVED`.
        description:
          type: string
          nullable: true
          description: The task's description.
        executionId:
          type: string
          nullable: true
          description: The id of the execution the task belongs to.
        parentTaskId:
          type: string
          nullable: true
          description: The id the parent task, if this task is a subtask.
        priority:
          type: integer
          format: int32
          nullable: true
          description: The task's priority.
        processDefinitionId:
          type: string
          nullable: true
          description: The id of the process definition the task belongs to.
        processInstanceId:
          type: string
          nullable: true
          description: The id of the process instance the task belongs to.
        caseExecutionId:
          type: string
          nullable: true
          description: The id of the case execution the task belongs to.
        caseDefinitionId:
          type: string
          nullable: true
          description: The id of the case definition the task belongs to.
        caseInstanceId:
          type: string
          nullable: true
          description: The id of the case instance the task belongs to.
        taskDefinitionKey:
          type: string
          nullable: true
          description: The task's key.
        suspended:
          type: boolean
          nullable: true
          description: Whether the task belongs to a process instance that is suspended.
        formKey:
          type: string
          nullable: true
          description: If not `null`, the form key for the task.
        camundaFormRef:
          $ref: '#/components/schemas/CamundaFormRef'
        tenantId:
          type: string
          nullable: true
          description: If not `null`, the tenant id of the task.
        taskState:
          type: string
          nullable: true
          description: The task's state.
    AnyValue:
      description: |-
        Can be any value - string, number, boolean, array or object.
         **Note**: Not every endpoint supports every type.
    CamundaFormRef:
      type: object
      properties:
        key:
          type: string
          nullable: true
          description: The key of the Camunda Form.
        binding:
          type: string
          nullable: true
          description: >-
            The binding of the Camunda Form. Can be `latest`, `deployment` or
            `version`.
        version:
          type: integer
          format: int32
          nullable: true
          description: >-
            The specific version of a Camunda Form. This property is only set if
            `binding` is `version`.
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic

````