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

# 处理失败

> Reports a failure to execute an external task by id. A number of retries and a timeout until the task can
be retried can be specified. If retries are set to 0, an incident for this task is created.



## OpenAPI

````yaml POST /external-task/{id}/failure
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/{id}/failure:
    post:
      tags:
        - External Task
      summary: Handle Failure
      description: >-
        Reports a failure to execute an external task by id. A number of retries
        and a timeout until the task can

        be retried can be specified. If retries are set to 0, an incident for
        this task is created.
      operationId: handleFailure
      parameters:
        - name: id
          in: path
          schema:
            type: string
          required: true
          description: The id of the external task to report a failure for.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExternalTaskFailureDto'
            examples:
              example-1:
                summary: POST /external-task/anId/failure
                value:
                  workerId: aWorker
                  errorMessage: Does not compute
                  retries: 3
                  retryTimeout: 60000
      responses:
        '204':
          description: Request successful.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionDto'
          description: >-
            Returned if the task's most recent lock was not acquired by the
            provided worker. See the

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

            for the error response format.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionDto'
          description: >-
            Returned if the task does not exist. This could indicate a wrong
            task id as well as a cancelled task,

            e.g., due to a caught BPMN boundary event. See the

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

            for the error response format.
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionDto'
          description: >-
            Returned if the corresponding process instance could not be resumed
            successfully. See the

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

            for the error response format.
components:
  schemas:
    ExternalTaskFailureDto:
      allOf:
        - type: object
          properties:
            errorMessage:
              type: string
              nullable: true
              description: An message indicating the reason of the failure.
            errorDetails:
              type: string
              nullable: true
              description: A detailed error description.
            retries:
              type: integer
              format: int32
              nullable: true
              description: >-
                A number of how often the task should be retried. Must be >= 0.
                If this is 0, an incident is created and

                the task cannot be fetched anymore unless the retries are
                increased again. The incident's message is set

                to the `errorMessage` parameter.
            retryTimeout:
              type: integer
              format: int64
              nullable: true
              description: >-
                A timeout in milliseconds before the external task becomes
                available again for fetching. Must be >= 0.
            variables:
              type: object
              nullable: true
              additionalProperties:
                $ref: '#/components/schemas/VariableValueDto'
              description: >-
                A JSON object containing variable key-value pairs. Each key is a
                variable name and each value a JSON variable value object with
                the following properties:
            localVariables:
              type: object
              nullable: true
              additionalProperties:
                $ref: '#/components/schemas/VariableValueDto'
              description: >-
                A JSON object containing local variable key-value pairs. Local
                variables are set only in the scope of external task. Each key
                is a variable name and each value a JSON variable value object
                with the following properties:
        - $ref: '#/components/schemas/HandleExternalTaskDto'
    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)
    HandleExternalTaskDto:
      type: object
      properties:
        workerId:
          type: string
          description: >-
            **Mandatory.** The ID of the worker who is performing the operation
            on the external task.

            If the task is already locked, must match the id of the worker who
            has most recently

            locked the task.
    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

````