> ## 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 process instances that fulfill given parameters through a JSON object.
This method is slightly more powerful than the Get Instances method because
it allows filtering by multiple process variables of types `string`, `number` or `boolean`.



## OpenAPI

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

        This method is slightly more powerful than the Get Instances method
        because

        it allows filtering by multiple process variables of types `string`,
        `number` or `boolean`.
      operationId: queryProcessInstances
      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/ProcessInstanceQueryDto'
            examples:
              example-1:
                summary: POST `/process-instance` Request Body 1
                value:
                  variables:
                    - name: myVariable
                      operator: eq
                      value: camunda
                    - name: mySecondVariable
                      operator: neq
                      value: 124
                  processDefinitionId: aProcessDefinitionId
                  sorting:
                    - sortBy: definitionKey
                      sortOrder: asc
                    - sortBy: instanceId
                      sortOrder: desc
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProcessInstanceDto'
              examples:
                example-1:
                  summary: Status 200 Response 1
                  value:
                    - links: []
                      id: anId
                      definitionId: aProcessDefinitionId
                      businessKey: aKey
                      caseInstanceId: aCaseInstanceId
                      ended: false
                      suspended: false
                      tenantId: null
          description: Request successful.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionDto'
          description: >-
            Bad Request

            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.
components:
  schemas:
    ProcessInstanceQueryDto:
      type: object
      description: A process instance query which defines a group of process instances
      properties:
        deploymentId:
          type: string
          nullable: true
          description: Filter by the deployment the id belongs to.
        processDefinitionId:
          type: string
          nullable: true
          description: Filter by the process definition the instances run on.
        processDefinitionKey:
          type: string
          nullable: true
          description: Filter by the key of the process definition the instances run on.
        processDefinitionKeyIn:
          type: array
          nullable: true
          items:
            type: string
          description: >-
            Filter by a list of process definition keys.

            A process instance must have one of the given process definition
            keys. Must be a JSON array of Strings.
        processDefinitionKeyNotIn:
          type: array
          nullable: true
          items:
            type: string
          description: >-
            Exclude instances by a list of process definition keys.

            A process instance must not have one of the given process definition
            keys. Must be a JSON array of Strings.
        businessKey:
          type: string
          nullable: true
          description: Filter by process instance business key.
        businessKeyLike:
          type: string
          nullable: true
          description: >-
            Filter by process instance business key that the parameter is a
            substring of.
        caseInstanceId:
          type: string
          nullable: true
          description: Filter by case instance id.
        superProcessInstance:
          type: string
          nullable: true
          description: >-
            Restrict query to all process instances that are sub process
            instances of the given process instance.

            Takes a process instance id.
        subProcessInstance:
          type: string
          nullable: true
          description: >-
            Restrict query to all process instances that have the given process
            instance as a sub process instance.

            Takes a process instance id.
        superCaseInstance:
          type: string
          nullable: true
          description: >-
            Restrict query to all process instances that are sub process
            instances of the given case instance.

            Takes a case instance id.
        subCaseInstance:
          type: string
          nullable: true
          description: >-
            Restrict query to all process instances that have the given case
            instance as a sub case instance.

            Takes a case instance id.
        active:
          type: boolean
          nullable: true
          description: >-
            Only include active process instances. Value may only be true, as
            false is the default behavior.
        suspended:
          type: boolean
          nullable: true
          description: >-
            Only include suspended process instances. Value may only be true, as
            false is the default behavior.
        processInstanceIds:
          type: array
          nullable: true
          items:
            type: string
          description: >-
            Filter by a list of process instance ids. Must be a JSON array of
            Strings.
        withIncident:
          type: boolean
          nullable: true
          description: >-
            Filter by presence of incidents. Selects only process instances that
            have an incident.
        incidentId:
          type: string
          nullable: true
          description: Filter by the incident id.
        incidentType:
          type: string
          nullable: true
          description: >-
            Filter by the incident type. See the User Guide for a list of
            incident types.
        incidentMessage:
          type: string
          nullable: true
          description: Filter by the incident message. Exact match.
        incidentMessageLike:
          type: string
          nullable: true
          description: Filter by the incident message that the parameter is a substring of.
        tenantIdIn:
          type: array
          nullable: true
          items:
            type: string
          description: >-
            Filter by a list of tenant ids. A process instance must have one of
            the given tenant ids.

            Must be a JSON array of Strings.
        withoutTenantId:
          type: boolean
          nullable: true
          description: |-
            Only include process instances which belong to no tenant.
            Value may only be true, as false is the default behavior.
        processDefinitionWithoutTenantId:
          type: boolean
          nullable: true
          description: >-
            Only include process instances which process definition has no
            tenant id.
        activityIdIn:
          type: array
          nullable: true
          items:
            type: string
          description: >-
            Filter by a list of activity ids.

            A process instance must currently wait in a leaf activity with one
            of the given activity ids.
        rootProcessInstances:
          type: boolean
          nullable: true
          description: >-
            Restrict the query to all process instances that are top level
            process instances.
        leafProcessInstances:
          type: boolean
          nullable: true
          description: >-
            Restrict the query to all process instances that are leaf instances.
            (i.e. don't have any sub instances)
        variables:
          type: array
          nullable: true
          items:
            $ref: '#/components/schemas/VariableQueryParameterDto'
          description: >-
            A JSON array to only include process instances that have variables
            with 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.

            The `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 in this query case-insensitively.
            If set to true variableName and variablename are treated as equal.
        variableValuesIgnoreCase:
          type: boolean
          nullable: true
          description: |-
            Match all variable values in this query case-insensitively.
            If set to true variableValue and variablevalue are treated as equal.
        orQueries:
          type: array
          nullable: true
          items:
            $ref: '#/components/schemas/ProcessInstanceQueryDto'
          description: >-
            A JSON array of nested process instance queries with OR semantics.

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

            With multiple nested queries, a process instance must fulfill at
            least one predicate of each query (Conjunctive Normal Form).

            All process instance query properties can be used except for:
            `sorting`

            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: Apply sorting of the result
          items:
            type: object
            properties:
              sortBy:
                type: string
                nullable: true
                enum:
                  - instanceId
                  - definitionId
                  - definitionKey
                  - businessKey
                  - 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.
    ProcessInstanceDto:
      allOf:
        - type: object
          properties:
            id:
              type: string
              nullable: true
              description: The id of the process instance.
            definitionId:
              type: string
              nullable: true
              description: >-
                The id of the process definition that this process instance
                belongs to.
            businessKey:
              type: string
              nullable: true
              description: The business key of the process instance.
            caseInstanceId:
              type: string
              nullable: true
              description: >-
                The id of the case instance associated with the process
                instance.
            ended:
              type: boolean
              nullable: true
              deprecated: true
              description: >-
                A flag indicating whether the process instance has ended or not.
                Deprecated: will always be false!
            suspended:
              type: boolean
              nullable: true
              description: >-
                A flag indicating whether the process instance is suspended or
                not.
            tenantId:
              type: string
              nullable: true
              description: The tenant id of the process instance.
        - $ref: '#/components/schemas/LinkableDto'
    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'
    LinkableDto:
      type: object
      properties:
        links:
          type: array
          nullable: true
          items:
            $ref: '#/components/schemas/AtomLink'
          description: >-
            The links associated to this resource, with `method`, `href` and
            `rel`.
    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'
    AtomLink:
      type: object
      properties:
        rel:
          type: string
          nullable: true
          description: The relation of the link to the object that belongs to.
        href:
          type: string
          nullable: true
          description: The url of the link.
        method:
          type: string
          nullable: true
          description: The http method.
    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

````