> ## 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)

> Query for variable instances that fulfill given parameters through a JSON object.
This method is slightly more powerful than the
[Get Variable Instances](https://docs.camunda.org/manual/7.22/reference/rest/variable-
instance/get-query/) method because it allows filtering by multiple
variable instances of types `String`, `Number` or `Boolean`.



## OpenAPI

````yaml POST /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:
  /variable-instance:
    post:
      tags:
        - Variable Instance
      summary: Get Variable Instances (POST)
      description: >-
        Query for variable instances that fulfill given parameters through a
        JSON object.

        This method is slightly more powerful than the

        [Get Variable
        Instances](https://docs.camunda.org/manual/7.22/reference/rest/variable-

        instance/get-query/) method because it allows filtering by multiple

        variable instances of types `String`, `Number` or `Boolean`.
      operationId: queryVariableInstances
      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/VariableInstanceQueryDto'
            examples:
              example-1:
                summary: POST `/variable-instance`
                value:
                  variableValues:
                    - name: amount
                      operator: gteq
                      value: 5
                    - name: amount
                      operator: lteq
                      value: 200
                  processInstanceIdIn:
                    - aProcessInstanceId
                    - anotherProcessInstanceId
                  sorting:
                    - sortBy: variableType
                      sortOrder: asc
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/VariableInstanceDto'
              examples:
                example-1:
                  description: POST `/variable-instance`
                  value:
                    - id: someId
                      name: amount
                      type: Integer
                      value: 5
                      processDefinitionId: aProcessDefinitionId
                      processInstanceId: aProcessInstanceId
                      executionId: b68b71c9-e310-11e2-beb0-f0def1557726
                      taskId: null
                      batchId: null
                      activityInstanceId: Task_1:b68b71ca-e310-11e2-beb0-f0def1557726
                      errorMessage: null
                      tenantId: null
                    - id: someOtherId
                      name: amount
                      type: Integer
                      value: 15
                      processDefinitionId: aProcessDefinitionId
                      processInstanceId: aProcessInstanceId
                      executionId: 68b71c9-e310-11e2-beb0-f0def1557726
                      taskId: null
                      batchId: null
                      activityInstanceId: Task_1:b68b71ca-e310-11e2-beb0-f0def1557726
                      errorMessage: null
                      tenantId: null
                    - id: yetAnotherId
                      name: amount
                      type: Integer
                      value: 150
                      processDefinitionId: aProcessDefinitionId
                      processInstanceId: anotherProcessInstanceId
                      executionId: 68b71c9-e310-11e2-beb0-f0def1557726
                      taskId: null
                      batchId: null
                      activityInstanceId: Task_2:b68b71ca-e310-11e2-beb0-f0def1557726
                      errorMessage: null
                      tenantId: null
          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.camunda.org/manual/7.22/reference/rest/overview/#error-handling)

            for the error response format.
components:
  schemas:
    VariableInstanceQueryDto:
      type: object
      description: A variable instance query which defines a list of variable instances
      properties:
        variableName:
          type: string
          nullable: true
          description: Filter by variable instance name.
        variableNameLike:
          type: string
          nullable: true
          description: >-
            Filter by the variable instance name. The parameter can include the
            wildcard `%` to

            express like-strategy such as: starts with (`%`name), ends with
            (name`%`) or

            contains (`%`name`%`).
        processInstanceIdIn:
          type: array
          nullable: true
          items:
            type: string
          description: |-
            Only include variable instances which belong to one of the passed 
            process instance ids.
        executionIdIn:
          type: array
          nullable: true
          items:
            type: string
          description: |-
            Only include variable instances which belong to one of the passed 
            execution ids.
        caseInstanceIdIn:
          type: array
          nullable: true
          items:
            type: string
          description: >-
            Only include variable instances which belong to one of the passed 
            case instance ids.
        caseExecutionIdIn:
          type: array
          nullable: true
          items:
            type: string
          description: >-
            Only include variable instances which belong to one of the passed 
            case execution ids.
        taskIdIn:
          type: array
          nullable: true
          items:
            type: string
          description: >-
            Only include variable instances which belong to one of the passed 
            task

            ids.
        batchIdIn:
          type: array
          nullable: true
          items:
            type: string
          description: |-
            Only include variable instances which belong to one of the passed 
            batch ids.
        activityInstanceIdIn:
          type: array
          nullable: true
          items:
            type: string
          description: |-
            Only include variable instances which belong to one of the passed 
            activity instance ids.
        tenantIdIn:
          type: array
          nullable: true
          items:
            type: string
          description: |-
            Only include variable instances which belong to one of the passed 
            tenant ids.
        variableValues:
          type: array
          nullable: true
          items:
            $ref: '#/components/schemas/VariableQueryParameterDto'
          description: >-
            An array to only include variable instances that have the certain
            values.

            The array consists of objects with the three properties `name`,
            `operator` and `value`. `name (String)` is the

            variable name, `operator (String)` is the comparison operator to be
            used and `value` the variable value.

            `value` may be `String`, `Number` or `Boolean`.


            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`
        variableNamesIgnoreCase:
          type: boolean
          nullable: true
          description: >-
            Match all variable names provided in `variableValues`
            case-insensitively. If set to `true`

            **variableName** and **variablename** are treated as equal.
        variableValuesIgnoreCase:
          type: boolean
          nullable: true
          description: >-
            Match all variable values provided in `variableValues`
            case-insensitively. If set to

            `true` **variableValue** and **variablevalue** are treated as equal.
        variableScopeIdIn:
          type: array
          nullable: true
          items:
            type: string
          description: >-
            Only include variable instances which belong to one of passed scope
            ids.
        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:
                  - variableName
                  - variableType
                  - activityInstanceId
                  - 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.
    VariableInstanceDto:
      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.
            processDefinitionId:
              type: string
              nullable: true
              description: >-
                The id of the process definition that this variable instance
                belongs to.
            processInstanceId:
              type: string
              nullable: true
              description: >-
                The id of the process instance that this variable instance
                belongs to.
            executionId:
              type: string
              nullable: true
              description: The id of the execution that this variable instance belongs to.
            caseInstanceId:
              type: string
              nullable: true
              description: >-
                The id of the case instance that this variable instance belongs
                to.
            caseExecutionId:
              type: string
              nullable: true
              description: >-
                The id of the case execution that this variable instance belongs
                to.
            taskId:
              type: string
              nullable: true
              description: The id of the task that this variable instance belongs to.
            batchId:
              type: string
              nullable: true
              description: The id of the batch that this variable instance belongs to.<
            activityInstanceId:
              type: string
              nullable: true
              description: >-
                The id of the activity instance that this 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.
        - $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).
    VariableQueryParameterDto:
      allOf:
        - type: object
          properties:
            name:
              type: string
              nullable: true
              description: Variable name
        - $ref: '#/components/schemas/ConditionQueryParameterDto'
    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)
    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

````