> ## 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 external tasks that fulfill given parameters in the form of a JSON object.

This method is slightly more powerful than the
[Get External Tasks](https://docs.camunda.org/manual/7.22/reference/rest/external-task/get-query/) method because it allows to
specify a hierarchical result sorting.



## OpenAPI

````yaml POST /external-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:
  /external-task:
    post:
      tags:
        - External Task
      summary: Get List (POST)
      description: >-
        Queries for external tasks that fulfill given parameters in the form of
        a JSON object.


        This method is slightly more powerful than the

        [Get External
        Tasks](https://docs.camunda.org/manual/7.22/reference/rest/external-task/get-query/)
        method because it allows to

        specify a hierarchical result sorting.
      operationId: queryExternalTasks
      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/ExternalTaskQueryDto'
            examples:
              example-1:
                summary: POST /external-task
                value:
                  processDefinitionId: aProcessDefinitionId
                  sorting:
                    - sortBy: processDefinitionKey
                      sortOrder: asc
                    - sortBy: lockExpirationTime
                      sortOrder: desc
                    - sortBy: createTime
                      sortOrder: asc
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ExternalTaskDto'
              examples:
                example-1:
                  summary: Status 200 Response
                  value:
                    - activityId: anActivityId
                      activityInstanceId: anActivityInstanceId
                      errorMessage: anErrorMessage
                      executionId: anExecutionId
                      id: anExternalTaskId
                      lockExpirationTime: 2015-10-06T16:34:42.000+0200
                      processDefinitionId: aProcessDefinitionId
                      processDefinitionKey: aProcessDefinitionKey
                      processInstanceId: aProcessInstanceId
                      tenantId: null
                      retries: 3
                      suspended: false
                      workerId: aWorkerId
                      topicName: aTopic
                      priority: 9
                      businessKey: aBusinessKey
                    - activityId: anotherActivityId
                      activityInstanceId: anotherActivityInstanceId
                      errorMessage: anotherErrorMessage
                      executionId: anotherExecutionId
                      id: anotherExternalTaskId
                      lockExpirationTime: 2015-10-06T16:34:42.000+0200
                      processDefinitionId: aProcessDefinitionId
                      processDefinitionKey: anotherProcessDefinitionKey
                      processInstanceId: anotherProcessInstanceId
                      tenantId: null
                      retries: 1
                      suspended: false
                      workerId: aWorkerId
                      topicName: aTopic
                      priority: 3
                      businessKey: aBusinessKey
          description: >-
            Request successful. The Response is a JSON array of external task
            objects.
        '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:
    ExternalTaskQueryDto:
      title: ExternalTaskQueryDto
      type: object
      description: 'A JSON object with the following properties:'
      properties:
        externalTaskId:
          type: string
          nullable: true
          description: Filter by an external task's id.
        externalTaskIdIn:
          type: array
          nullable: true
          items:
            type: string
          description: Filter by the comma-separated list of external task ids.
        topicName:
          type: string
          nullable: true
          description: Filter by an external task topic.
        workerId:
          type: string
          nullable: true
          description: >-
            Filter by the id of the worker that the task was most recently
            locked by.
        locked:
          type: boolean
          nullable: true
          description: >-
            Only include external tasks that are currently locked (i.e., they
            have a lock time and it has not expired).

            Value may only be `true`, as `false` matches any external task.
        notLocked:
          type: boolean
          nullable: true
          description: >-
            Only include external tasks that are currently not locked (i.e.,
            they have no lock or it has expired).

            Value may only be `true`, as `false` matches any external task.
        withRetriesLeft:
          type: boolean
          nullable: true
          description: >-
            Only include external tasks that have a positive (&gt; 0) number of
            retries (or `null`). Value may only be

            `true`, as `false` matches any external task.
        noRetriesLeft:
          type: boolean
          nullable: true
          description: >-
            Only include external tasks that have 0 retries. Value may only be
            `true`, as `false` matches any

            external task.
        lockExpirationAfter:
          type: string
          format: date-time
          nullable: true
          description: >-
            Restrict to external tasks that have a lock that expires after a
            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`.
        lockExpirationBefore:
          type: string
          format: date-time
          nullable: true
          description: >-
            Restrict to external tasks that have a lock that expires before a
            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`.
        activityId:
          type: string
          nullable: true
          description: >-
            Filter by the id of the activity that an external task is created
            for.
        activityIdIn:
          type: array
          nullable: true
          items:
            type: string
          description: >-
            Filter by the comma-separated list of ids of the activities that an
            external task is created for.
        executionId:
          type: string
          nullable: true
          description: Filter by the id of the execution that an external task belongs to.
        processInstanceId:
          type: string
          nullable: true
          description: >-
            Filter by the id of the process instance that an external task
            belongs to.
        processInstanceIdIn:
          type: array
          nullable: true
          items:
            type: string
          description: >-
            Filter by a comma-separated list of process instance ids that an
            external task may belong to.
        processDefinitionId:
          type: string
          nullable: true
          description: >-
            Filter by the id of the process definition that an external task
            belongs to.
        tenantIdIn:
          type: array
          nullable: true
          items:
            type: string
          description: |-
            Filter by a comma-separated list of tenant ids.
            An external task must have one of the given tenant ids.
        active:
          type: boolean
          nullable: true
          description: >-
            Only include active tasks. Value may only be `true`, as `false`
            matches any external task.
        suspended:
          type: boolean
          nullable: true
          description: >-
            Only include suspended tasks. Value may only be `true`, as `false`
            matches any external task.
        priorityHigherThanOrEquals:
          type: integer
          format: int64
          nullable: true
          description: >-
            Only include jobs with a priority higher than or equal to the given
            value.

            Value must be a valid `long` value.
        priorityLowerThanOrEquals:
          type: integer
          format: int64
          nullable: true
          description: >-
            Only include jobs with a priority lower than or equal to the given
            value.

            Value must be a valid `long` value.
        sorting:
          type: array
          nullable: true
          description: >-
            A JSON array of criteria to sort the result by. Each element of the
            array is a JSON object that
                                specifies one ordering. The position in the array identifies the rank of an ordering, i.e., whether
                                it is primary, secondary, etc. The ordering objects have the following properties:

                                **Note:** The `sorting` properties will not be applied to the External Task count query.
          items:
            type: object
            properties:
              sortBy:
                type: string
                nullable: true
                enum:
                  - id
                  - lockExpirationTime
                  - processInstanceId
                  - processDefinitionId
                  - processDefinitionKey
                  - taskPriority
                  - createTime
                  - 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.
    ExternalTaskDto:
      title: ExternalTaskDto
      type: object
      description: An External Task object with the following properties
      properties:
        activityId:
          type: string
          nullable: true
          description: The id of the activity that this external task belongs to.
        activityInstanceId:
          type: string
          nullable: true
          description: The id of the activity instance that the external task belongs to.
        errorMessage:
          type: string
          nullable: true
          description: >-
            The full error message submitted with the latest reported failure
            executing this task; `null` if no

            failure was reported previously or if no error message was submitted
        executionId:
          type: string
          nullable: true
          description: The id of the execution that the external task belongs to.
        id:
          type: string
          nullable: true
          description: The id of the external task.
        lockExpirationTime:
          type: string
          format: date-time
          nullable: true
          description: The date that the task's most recent lock expires or has expired.
        processDefinitionId:
          type: string
          nullable: true
          description: The id of the process definition the external task is defined in.
        processDefinitionKey:
          type: string
          nullable: true
          description: The key of the process definition the external task is defined in.
        processDefinitionVersionTag:
          type: string
          nullable: true
          description: >-
            The version tag of the process definition the external task is
            defined in.
        processInstanceId:
          type: string
          nullable: true
          description: The id of the process instance the external task belongs to.
        tenantId:
          type: string
          nullable: true
          description: The id of the tenant the external task belongs to.
        retries:
          type: integer
          format: int32
          nullable: true
          description: The number of retries the task currently has left.
        suspended:
          type: boolean
          nullable: true
          description: A flag indicating whether the external task is suspended or not.
        workerId:
          type: string
          nullable: true
          description: The id of the worker that posesses or posessed the most recent lock.
        topicName:
          type: string
          nullable: true
          description: The topic name of the external task.
        priority:
          type: integer
          format: int64
          nullable: true
          description: The priority of the external task.
        businessKey:
          type: string
          nullable: true
          description: >-
            The business key of the process instance the external task belongs
            to.
    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).
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic

````