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

# 获取列表(POST)

> Queries for historic tasks that fulfill the given parameters. This method is slightly more powerful
than the [Get Tasks (Historic)](https://docs.camunda.org/manual/7.22/reference/rest/history/task/get-task-query/) 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.camunda.org/manual/7.22/reference/rest/history/task/post-task-query-count/)
method.



## OpenAPI

````yaml POST /history/task
openapi: 3.0.2
info:
  title: ORION Platform REST API
  description: OpenApi Spec for ORION Camunda Platform REST API.
  version: 7.22.6-ee
  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 ORION Rest API
  url: https://docs.eorion.com
paths:
  /history/task:
    post:
      tags:
        - Historic Task Instance
      summary: Get Tasks (Historic) (POST)
      description: >-
        Queries for historic tasks that fulfill the given parameters. This
        method is slightly more powerful

        than the [Get Tasks
        (Historic)](https://docs.camunda.org/manual/7.22/reference/rest/history/task/get-task-query/)
        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.camunda.org/manual/7.22/reference/rest/history/task/post-task-query-count/)

        method.
      operationId: queryHistoricTaskInstances
      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/HistoricTaskInstanceQueryDto'
            examples:
              example-1:
                summary: POST `/history/task`
                value:
                  taskVariables:
                    - name: varName
                      value: varValue
                      operator: eq
                    - name: anotherVarName
                      value: 30
                      operator: neq
                  priority: 10
                  sorting:
                    - sortBy: priority
                      sortOrder: asc
                    - sortBy: duration
                      sortOrder: desc
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/HistoricTaskInstanceDto'
              examples:
                example-1:
                  summary: POST `/history/task`
                  description: POST `/history/task`
                  value:
                    - id: anId
                      processDefinitionId: aProcDefId
                      processInstanceId: aProcInstId
                      executionId: anExecution
                      caseDefinitionId: aCaseDefId
                      caseInstanceId: aCaseInstId
                      caseExecutionId: aCaseExecution
                      activityInstanceId: anActInstId
                      name: aName
                      description: aDescription
                      deleteReason: aDeleteReason
                      owner: anOwner
                      assignee: anAssignee
                      startTime: 2013-01-23T13:42:42.000+0200
                      endTime: 2013-01-23T13:45:42.000+0200
                      duration: 2000
                      taskDefinitionKey: aTaskDefinitionKey
                      priority: 10
                      due: 2013-01-23T13:49:42.000+0200
                      parentTaskId: aParentId
                      'followUp:': 2013-01-23T13:44:42.000+0200
                      tenantId: null
                      removalTime: 2018-02-10T14:33:19.000+0200
                      rootProcessInstanceId: aRootProcessInstanceId
                      taskState: aTaskState
          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`. See the

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

            for the error response format.
components:
  schemas:
    HistoricTaskInstanceQueryDto:
      type: object
      description: >-
        A Historic Task instance query which defines a list of Historic Task
        instances
      properties:
        taskId:
          type: string
          nullable: true
          description: Filter by task id.
        taskParentTaskId:
          type: string
          nullable: true
          description: Filter by parent task id.
        processInstanceId:
          type: string
          nullable: true
          description: Filter by process instance id.
        rootProcessInstanceId:
          type: string
          nullable: true
          description: Filter by root process instance id.
        processInstanceBusinessKey:
          type: string
          nullable: true
          description: Filter by process instance business key.
        processInstanceBusinessKeyIn:
          type: array
          nullable: true
          items:
            type: string
          description: |-
            Filter by process instances with one of the give business keys.
            The keys need to be in a comma-separated list.
        processInstanceBusinessKeyLike:
          type: string
          nullable: true
          description: >-
            Filter by  process instance business key that has the parameter
            value as a substring.
        executionId:
          type: string
          nullable: true
          description: Filter by the id of the execution that executed the task.
        processDefinitionId:
          type: string
          nullable: true
          description: Filter by process definition id.
        processDefinitionKey:
          type: string
          nullable: true
          description: >-
            Restrict to tasks that belong to a process definition with the given
            key.
        processDefinitionName:
          type: string
          nullable: true
          description: >-
            Restrict to tasks that belong to a process definition with the given
            name.
        caseInstanceId:
          type: string
          nullable: true
          description: Filter by case instance id.
        caseExecutionId:
          type: string
          nullable: true
          description: Filter by the id of the case execution that executed the task.
        caseDefinitionId:
          type: string
          nullable: true
          description: Filter by case definition 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.
        activityInstanceIdIn:
          type: array
          nullable: true
          items:
            type: string
          description: >-
            Only include tasks which belong to one of the passed  activity
            instance ids.
        taskName:
          type: string
          nullable: true
          description: Restrict to tasks that have the given name.
        taskNameLike:
          type: string
          nullable: true
          description: >-
            Restrict to tasks that have a name with the given parameter value as
            substring.
        taskDescription:
          type: string
          nullable: true
          description: Restrict to tasks that have the given description.
        taskDescriptionLike:
          type: string
          nullable: true
          description: >-
            Restrict to tasks that have a description that has the parameter
            value as a substring.
        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 passed  task definition keys.
        taskDeleteReason:
          type: string
          nullable: true
          description: Restrict to tasks that have the given delete reason.
        taskDeleteReasonLike:
          type: string
          nullable: true
          description: >-
            Restrict to tasks that have a delete reason that has the parameter
            value as a substring.
        taskAssignee:
          type: string
          nullable: true
          description: Restrict to tasks that the given user is assigned to.
        taskAssigneeLike:
          type: string
          nullable: true
          description: >-
            Restrict to tasks that are assigned to users with the parameter
            value as a substring.
        taskOwner:
          type: string
          nullable: true
          description: Restrict to tasks that the given user owns.
        taskOwnerLike:
          type: string
          nullable: true
          description: >-
            Restrict to tasks that are owned by users with the parameter value
            as a substring.
        taskPriority:
          type: integer
          format: int32
          nullable: true
          description: Restrict to tasks that have the given priority.
        assigned:
          type: boolean
          nullable: true
          description: >-
            If set to `true`, restricts the query to all tasks that are
            assigned.
        unassigned:
          type: boolean
          nullable: true
          description: >-
            If set to `true`, restricts the query to all tasks that are
            unassigned.
        finished:
          type: boolean
          nullable: true
          description: >-
            Only include finished tasks. Value may only be `true`, as `false` is
            the default behavior.
        unfinished:
          type: boolean
          nullable: true
          description: >-
            Only include unfinished tasks. Value may only be `true`, as `false`
            is the default

            behavior.
        processFinished:
          type: boolean
          nullable: true
          description: >-
            Only include tasks of finished processes. Value may only be `true`,
            as `false` is the

            default behavior.
        processUnfinished:
          type: boolean
          nullable: true
          description: >-
            Only include tasks of unfinished processes. Value may only be
            `true`, as `false` is the

            default behavior.
        taskDueDate:
          type: string
          format: date-time
          nullable: true
          description: >-
            Restrict to tasks that are due on the given date. By
            [default](https://docs.camunda.org/manual/7.22/reference/rest/overview/date-format/),

            the date must have the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`,

            e.g., `2013-01-23T14:42:45.000+0200`.
        taskDueDateBefore:
          type: string
          format: date-time
          nullable: true
          description: >-
            Restrict to tasks that are due before the given date. By
            [default](https://docs.camunda.org/manual/7.22/reference/rest/overview/date-format/),

            the date must have the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`,

            e.g., `2013-01-23T14:42:45.000+0200`.
        taskDueDateAfter:
          type: string
          format: date-time
          nullable: true
          description: >-
            Restrict to tasks that are due after the given date. By
            [default](https://docs.camunda.org/manual/7.22/reference/rest/overview/date-format/),

            the date must have the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`,

            e.g., `2013-01-23T14:42:45.000+0200`.
        withoutTaskDueDate:
          type: boolean
          nullable: true
          description: >-
            Only include tasks which have no due date. Value may only be `true`,
            as `false` is the

            default behavior.
        taskFollowUpDate:
          type: string
          format: date-time
          nullable: true
          description: >-
            Restrict to tasks that have a followUp date on the given date. By
            [default](https://docs.camunda.org/manual/7.22/reference/rest/overview/date-format/),

            the date must have the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`,

            e.g., `2013-01-23T14:42:45.000+0200`.
        taskFollowUpDateBefore:
          type: string
          format: date-time
          nullable: true
          description: >-
            Restrict to tasks that have a followUp date before the given date.
            By
            [default](https://docs.camunda.org/manual/7.22/reference/rest/overview/date-format/),

            the date must have the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`,

            e.g., `2013-01-23T14:42:45.000+0200`.
        taskFollowUpDateAfter:
          type: string
          format: date-time
          nullable: true
          description: >-
            Restrict to tasks that have a followUp date after the given date. By
            [default](https://docs.camunda.org/manual/7.22/reference/rest/overview/date-format/),

            the date must have the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`,

            e.g., `2013-01-23T14:42:45.000+0200`.
        startedBefore:
          type: string
          format: date-time
          nullable: true
          description: >-
            Restrict to tasks that were started before the given date. By
            [default](https://docs.camunda.org/manual/7.22/reference/rest/overview/date-format/),

            the date must have the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`,

            e.g., `2013-01-23T14:42:45.000+0200`.
        startedAfter:
          type: string
          format: date-time
          nullable: true
          description: >-
            Restrict to tasks that were started after the given date. By
            [default](https://docs.camunda.org/manual/7.22/reference/rest/overview/date-format/),

            the date must have the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`,

            e.g., `2013-01-23T14:42:45.000+0200`.
        finishedBefore:
          type: string
          format: date-time
          nullable: true
          description: >-
            Restrict to tasks that were finished before the given date. By
            [default](https://docs.camunda.org/manual/7.22/reference/rest/overview/date-format/),

            the date must have the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`,

            e.g., `2013-01-23T14:42:45.000+0200`.
        finishedAfter:
          type: string
          format: date-time
          nullable: true
          description: >-
            Restrict to tasks that were finished after the given date. By
            [default](https://docs.camunda.org/manual/7.22/reference/rest/overview/date-format/),

            the date must have the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`,

            e.g., `2013-01-23T14:42:45.000+0200`.
        tenantIdIn:
          type: array
          nullable: true
          items:
            type: string
          description: >-
            Filter by a  list of tenant ids. A task instance must have one of
            the given

            tenant ids.
        withoutTenantId:
          type: boolean
          nullable: true
          description: >-
            Only include historic task instances that belong to no tenant. Value
            may only be

            `true`, as `false` is the default behavior.
        taskVariables:
          type: array
          nullable: true
          items:
            $ref: '#/components/schemas/VariableQueryParameterDto'
          description: >-
            Only include tasks that have variables with certain values. Variable
            filtering expressions are

            comma-separated and are structured as follows:


            A valid parameter value has the form `key_operator_value`.

            `key` is the variable name, `operator` is the comparison operator to
            be used

            and `value` the variable value.

            **Note:** Values are always treated as `String` objects on server
            side.



            Valid operator values are:

            * `eq` - equal to;

            * `neq` - not equal to;

            * `gt` - greater than;

            * `gteq` - greater than or equal to;

            * `lt` - lower than;

            * `lteq` - lower than or equal to;

            * `like`.


            `key` and `value` may not contain underscore or comma characters.
        processVariables:
          type: array
          nullable: true
          items:
            $ref: '#/components/schemas/VariableQueryParameterDto'
          description: >-
            Only include tasks that belong to process instances that have
            variables with certain

            values. Variable filtering expressions are comma-separated and are
            structured as

            follows:


            A valid parameter value has the form `key_operator_value`.

            `key` is the variable name, `operator` is the comparison operator to
            be used

            and `value` the variable value.

            **Note:** Values are always treated as `String` objects on server
            side.



            Valid operator values are:

            * `eq` - equal to;

            * `neq` - not equal to;

            * `gt` - greater than;

            * `gteq` - greater than or equal to;

            * `lt` - lower than;

            * `lteq` - lower than or equal to;

            * `like`;

            * `notLike`.


            `key` and `value` may not contain underscore or comma characters.
        variableNamesIgnoreCase:
          type: boolean
          nullable: true
          description: >-
            Match the variable name provided in `taskVariables` and
            `processVariables` case-

            insensitively. If set to `true` **variableName** and
            **variablename** are

            treated as equal.
        variableValuesIgnoreCase:
          type: boolean
          nullable: true
          description: >-
            Match the variable value provided in `taskVariables` and
            `processVariables` case-

            insensitively. If set to `true` **variableValue** and
            **variablevalue** are

            treated as equal.
        taskInvolvedUser:
          type: string
          nullable: true
          description: Restrict to tasks with a historic identity link to the given user.
        taskInvolvedGroup:
          type: string
          nullable: true
          description: Restrict to tasks with a historic identity link to the given group.
        taskHadCandidateUser:
          type: string
          nullable: true
          description: >-
            Restrict to tasks with a historic identity link to the given
            candidate user.
        taskHadCandidateGroup:
          type: string
          nullable: true
          description: >-
            Restrict to tasks with a historic identity link to the given
            candidate group.
        withCandidateGroups:
          type: boolean
          nullable: true
          description: >-
            Only include tasks which have a candidate group. Value may only be
            `true`,

            as `false` is the default behavior.
        withoutCandidateGroups:
          type: boolean
          nullable: true
          description: >-
            Only include tasks which have no candidate group. Value may only be
            `true`,

            as `false` is the default behavior.
        orQueries:
          type: array
          nullable: true
          items:
            $ref: '#/components/schemas/HistoricTaskInstanceQueryDto'
          description: >-
            A JSON array of nested historic task instance queries with OR
            semantics.


            A task instance matches a nested query if it fulfills at least one
            of the query's predicates.


            With multiple nested queries, a task instance must fulfill at least
            one predicate of each query

            ([Conjunctive Normal
            Form](https://en.wikipedia.org/wiki/Conjunctive_normal_form)).


            All task instance query properties can be used except for:
            `sorting`, `withCandidateGroups`, ` withoutCandidateGroups`.


            See the [User
            Guide](https://docs.camunda.org/manual/7.22/user-guide/process-engine/process-engine-api/#or-queries)
            for more information about OR queries.
        sorting:
          type: array
          nullable: true
          description: >-
            An array of criteria to sort the result by. Each element of the
            array is
                                an object that specifies one ordering. The position in the array
                                identifies the rank of an ordering, i.e., whether it is primary, secondary,
                                etc. Sorting has no effect for `count` endpoints
          items:
            type: object
            properties:
              sortBy:
                type: string
                nullable: true
                enum:
                  - taskId
                  - activityInstanceId
                  - processDefinitionId
                  - processInstanceId
                  - executionId
                  - duration
                  - endTime
                  - startTime
                  - taskName
                  - taskDescription
                  - assignee
                  - owner
                  - dueDate
                  - followUpDate
                  - deleteReason
                  - taskDefinitionKey
                  - priority
                  - caseDefinitionId
                  - caseInstanceId
                  - caseExecutionId
                  - tenantId
                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.
    HistoricTaskInstanceDto:
      type: object
      properties:
        id:
          type: string
          nullable: true
          description: The task id.
        processDefinitionKey:
          type: string
          nullable: true
          description: The key of the process definition the task belongs to.
        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.
        executionId:
          type: string
          nullable: true
          description: The id of the execution the task belongs to.
        caseDefinitionKey:
          type: string
          nullable: true
          description: The key of the case definition 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.
        caseExecutionId:
          type: string
          nullable: true
          description: The id of the case execution the task belongs to.
        activityInstanceId:
          type: string
          nullable: true
          description: The id of the activity that this object is an instance of.
        name:
          type: string
          nullable: true
          description: The task name.
        description:
          type: string
          nullable: true
          description: The task's description.
        deleteReason:
          type: string
          nullable: true
          description: The task's delete reason.
        owner:
          type: string
          nullable: true
          description: The owner's id.
        assignee:
          type: string
          nullable: true
          description: The assignee's id.
        startTime:
          type: string
          format: date-time
          nullable: true
          description: >-
            The time the task was started. Default
            [format](https://docs.camunda.org/manual/7.22/reference/rest/overview/date-format/)

            `yyyy-MM-dd'T'HH:mm:ss.SSSZ`.
        endTime:
          type: string
          format: date-time
          nullable: true
          description: >-
            The time the task ended. Default
            [format](https://docs.camunda.org/manual/7.22/reference/rest/overview/date-format/)

            `yyyy-MM-dd'T'HH:mm:ss.SSSZ`.
        duration:
          type: integer
          format: int64
          nullable: true
          description: The time the task took to finish (in milliseconds).
        taskDefinitionKey:
          type: string
          nullable: true
          description: The task's key.
        priority:
          type: integer
          format: int32
          nullable: true
          description: The task's priority.
        due:
          type: string
          format: date-time
          nullable: true
          description: >-
            The task's due date. Default
            [format](https://docs.camunda.org/manual/7.22/reference/rest/overview/date-format/)

            `yyyy-MM-dd'T'HH:mm:ss.SSSZ`.
        parentTaskId:
          type: string
          nullable: true
          description: The id of the parent task, if this task is a subtask.
        followUp:
          type: string
          format: date-time
          nullable: true
          description: >-
            The follow-up date for the task. Default
            [format](https://docs.camunda.org/manual/7.22/reference/rest/overview/date-format/)

            `yyyy-MM-dd'T'HH:mm:ss.SSSZ`.
        tenantId:
          type: string
          nullable: true
          description: The tenant id of the task instance.
        removalTime:
          type: string
          format: date-time
          nullable: true
          description: >-
            The time after which the task should be removed by the History
            Cleanup job. Default
            [format](https://docs.camunda.org/manual/7.22/reference/rest/overview/date-format/)

            `yyyy-MM-dd'T'HH:mm:ss.SSSZ`.
        rootProcessInstanceId:
          type: string
          nullable: true
          description: >-
            The process instance id of the root process instance that initiated
            the process

            containing this task.
        taskState:
          type: string
          nullable: true
          description: The task's state.
    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.camunda.org/manual/7.22/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'
    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'
    AnyValue:
      description: |-
        Can be any value - string, number, boolean, array or object.
         **Note**: Not every endpoint supports every type.
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic

````