> ## 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 variable instances that fulfill the given parameters.
This method is slightly more powerful than the
[Get Variable Instances](https://docs.camunda.org/manual/7.22/reference/rest/history/variable-instance/get-variable-instance-query/)
method because it allows filtering by variable values of the different
types `String`, `Number` or `Boolean`.



## OpenAPI

````yaml POST /history/variable-instance
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/variable-instance:
    post:
      tags:
        - Historic Variable Instance
      summary: Get Variable Instances (POST)
      description: >-
        Queries for historic variable instances that fulfill the given
        parameters.

        This method is slightly more powerful than the

        [Get Variable
        Instances](https://docs.camunda.org/manual/7.22/reference/rest/history/variable-instance/get-variable-instance-query/)

        method because it allows filtering by variable values of the different

        types `String`, `Number` or `Boolean`.
      operationId: queryHistoricVariableInstances
      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.
        - name: deserializeValues
          in: query
          schema:
            type: boolean
          description: >-
            Determines whether serializable variable values (typically variables
            that

            store custom Java objects) should be deserialized on server side
            (default

            `true`).


            If set to `true`, a serializable variable will be deserialized on
            server side

            and transformed to JSON using

            [Jackson's](https://github.com/FasterXML/jackson) POJO/bean property

            introspection feature. Note that this requires the Java classes of
            the

            variable value to be on the REST API's classpath.


            If set to `false`, a serializable variable will be returned in its
            serialized

            format. For example, a variable that is serialized as XML will be
            returned as

            a JSON string containing XML.


            **Note:** While `true` is the default value for reasons of backward

            compatibility, we recommend setting this parameter to `false` when
            developing

            web applications that are independent of the Java process
            applications

            deployed to the engine.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/HistoricVariableInstanceQueryDto'
            examples:
              example-1:
                summary: POST `/history/variable-instance`
                value:
                  variableName: someVariable
                  variableValue: 42
                  sorting:
                    - sortBy: variableName
                      sortOrder: asc
                    - sortBy: instanceId
                      sortOrder: desc
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/HistoricVariableInstanceDto'
              examples:
                example-1:
                  summary: POST `/history/variable-instance`
                  description: POST `/history/variable-instance`
                  value:
                    - id: someId
                      name: someVariable
                      type: Integer
                      variableType: integer
                      value: 5
                      valueInfo: {}
                      processDefinitionKey: aProcessDefinitionKey
                      processDefinitionId: aProcessDefinitionId
                      processInstanceId: aProcInstId
                      executionId: aExecutionId
                      activityInstanceId: aActivityInstId
                      caseDefinitionKey: null
                      caseDefinitionId: null
                      caseInstanceId: null
                      caseExecutionId: null
                      taskId: null
                      tenantId: null
                      errorMessage: null
                      state: CREATED
                      createTime: 2017-02-10T14:33:19.000+0200
                      removalTime: 2018-02-10T14:33:19.000+0200
                      rootProcessInstanceId: aRootProcessInstanceId
          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:
    HistoricVariableInstanceQueryDto:
      type: object
      description: >-
        A Historic Variable Instance instance query which defines a list of
        Historic Variable Instance instances
      properties:
        variableName:
          type: string
          nullable: true
          description: Filter by variable name.
        variableNameLike:
          type: string
          nullable: true
          description: Restrict to variables with a name like the parameter.
        variableValue:
          type: object
          description: Filter by variable value. May be `String`, `Number` or `Boolean`.
        variableNamesIgnoreCase:
          type: boolean
          nullable: true
          description: >-
            Match the variable name provided in `variableName` and
            `variableNameLike` 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 `variableValue`
            case-insensitively. If set to `true`

            **variableValue** and **variablevalue** are treated as equal.
        variableTypeIn:
          type: array
          nullable: true
          items:
            type: string
          description: >-
            Only include historic variable instances which belong to one of the
            passed and comma-

            separated variable types. A list of all supported variable types can
            be found

            [here](https://docs.camunda.org/manual/7.22/user-guide/process-engine/variables/#supported-variable-values).

            **Note:** All non-primitive variables are associated with the type

            'serializable'.
        includeDeleted:
          type: boolean
          nullable: true
          description: >-
            Include variables that has already been deleted during the
            execution.
        processInstanceId:
          type: string
          nullable: true
          description: Filter by the process instance the variable belongs to.
        processInstanceIdIn:
          type: array
          nullable: true
          items:
            type: string
          description: >-
            Only include historic variable instances which belong to one of the
            passed  process instance ids.
        processDefinitionId:
          type: string
          nullable: true
          description: Filter by the process definition the variable belongs to.
        processDefinitionKey:
          type: string
          nullable: true
          description: Filter by a key of the process definition the variable belongs to.
        executionIdIn:
          type: array
          nullable: true
          items:
            type: string
          description: >-
            Only include historic variable instances which belong to one of the
            passed and  execution ids.
        caseInstanceId:
          type: string
          nullable: true
          description: Filter by the case instance the variable belongs to.
        caseExecutionIdIn:
          type: array
          nullable: true
          items:
            type: string
          description: >-
            Only include historic variable instances which belong to one of the
            passed and  case execution ids.
        caseActivityIdIn:
          type: array
          nullable: true
          items:
            type: string
          description: >-
            Only include historic variable instances which belong to one of the
            passed and  case activity ids.
        taskIdIn:
          type: array
          nullable: true
          items:
            type: string
          description: >-
            Only include historic variable instances which belong to one of the
            passed and  task ids.
        activityInstanceIdIn:
          type: array
          nullable: true
          items:
            type: string
          description: >-
            Only include historic variable instances which belong to one of the
            passed and  activity instance ids.
        tenantIdIn:
          type: array
          nullable: true
          items:
            type: string
          description: >-
            Only include historic variable instances which belong to one of the
            passed and comma-

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

            `true`, as `false` is the default behavior.
        variableNameIn:
          type: array
          nullable: true
          items:
            type: string
          description: >-
            Only include historic variable instances which belong to one of the
            passed  variable names.
        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:
                  - instanceId
                  - variableName
                  - 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.
    HistoricVariableInstanceDto:
      allOf:
        - type: object
          properties:
            id:
              type: string
              nullable: true
              description: The id of the variable instance.
            name:
              type: string
              nullable: true
              description: The name of the variable instance.
            processDefinitionKey:
              type: string
              nullable: true
              description: >-
                The key of the process definition the variable instance belongs
                to.
            processDefinitionId:
              type: string
              nullable: true
              description: >-
                The id of the process definition the variable instance belongs
                to.
            processInstanceId:
              type: string
              nullable: true
              description: The process instance id the variable instance belongs to.
            executionId:
              type: string
              nullable: true
              description: The execution id the variable instance belongs to.
            activityInstanceId:
              type: string
              nullable: true
              description: The id of the activity instance in which the variable is valid.
            caseDefinitionKey:
              type: string
              nullable: true
              description: The key of the case definition the variable instance belongs to.
            caseDefinitionId:
              type: string
              nullable: true
              description: The id of the case definition the variable instance belongs to.
            caseInstanceId:
              type: string
              nullable: true
              description: The case instance id the variable instance belongs to.
            caseExecutionId:
              type: string
              nullable: true
              description: The case execution id the variable instance belongs to.
            taskId:
              type: string
              nullable: true
              description: The id of the task the variable instance belongs to.
            tenantId:
              type: string
              nullable: true
              description: The id of the tenant that this variable instance belongs to.
            errorMessage:
              type: string
              nullable: true
              description: >-
                An error message in case a Java Serialized Object could not be
                de-serialized.
            state:
              type: string
              nullable: true
              description: >-
                The current state of the variable. Can be 'CREATED' or
                'DELETED'.
            createTime:
              type: string
              format: date-time
              nullable: true
              description: >-
                The time the variable was inserted. [Default
                format](https://docs.camunda.org/manual/7.22/reference/rest/overview/date-format/)
                `yyyy-MM-dd'T'HH:mm:ss.SSSZ`.
            removalTime:
              type: string
              format: date-time
              nullable: true
              description: >-
                The time after which the variable 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 variable.
        - $ref: '#/components/schemas/VariableValueDto'
    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).
    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.camunda.org/manual/7.22/user-guide/process-engine/variables#transient-variables)
            for more informations.

            (Not applicable for `decision-definition`, `
            /process-instance/variables-async`, and `/migration/executeAsync`
            endpoints)
    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

````