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

> Sets the removal time to multiple historic process instances asynchronously (batch).

At least `historicProcessInstanceIds` or `historicProcessInstanceQuery` has to be provided.
If both are provided, all instances matching query criterion and instances from the list will be updated with a removal time.



## OpenAPI

````yaml POST /history/process-instance/set-removal-time
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/process-instance/set-removal-time:
    post:
      tags:
        - Historic Process Instance
      summary: Set Removal Time Async (POST)
      description: >-
        Sets the removal time to multiple historic process instances
        asynchronously (batch).


        At least `historicProcessInstanceIds` or `historicProcessInstanceQuery`
        has to be provided.

        If both are provided, all instances matching query criterion and
        instances from the list will be updated with a removal time.
      operationId: setRemovalTimeAsync
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SetRemovalTimeToHistoricProcessInstancesDto'
            examples:
              example-1:
                summary: POST `/history/process-instance/set-removal-time`
                value:
                  absoluteRemovalTime: 2019-05-05T11:56:24.725+0200
                  hierarchical: true
                  historicProcessInstanceQuery:
                    unfinished: true
                  historicProcessInstanceIds:
                    - b4d2ad98-7240-11e9-98b7-be5e0f7575b7
                    - b4d2ad94-7240-11e9-98b7-be5e0f7575b7
              example-2:
                summary: POST `/history/process-instance/set-removal-time`
                value:
                  absoluteRemovalTime: 2019-05-05T11:56:24.725+0200
                  hierarchical: true
                  updateInChunks: true
                  updateChunkSize: 300
                  historicProcessInstanceQuery:
                    unfinished: true
                  historicProcessInstanceIds:
                    - b4d2ad98-7240-11e9-98b7-be5e0f7575b7
                    - b4d2ad94-7240-11e9-98b7-be5e0f7575b7
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchDto'
              examples:
                example-1:
                  summary: Status 200 response
                  description: >-
                    Response for POST
                    `/history/process-instance/set-removal-time`
                  value:
                    id: 120b568d-724a-11e9-98b7-be5e0f7575b7
                    type: process-set-removal-time
                    totalJobs: 12
                    batchJobsPerSeed: 100
                    invocationsPerBatchJob: 1
                    seedJobDefinitionId: 120b5690-724a-11e9-98b7-be5e0f7575b7
                    monitorJobDefinitionId: 120b568f-724a-11e9-98b7-be5e0f7575b7
                    batchJobDefinitionId: 120b568e-724a-11e9-98b7-be5e0f7575b7
                    tenantId: accounting
                    suspended: false
                    createUserId: null
          description: Request successful.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionDto'
          description: >-
            Bad Request

            Request was unsuccessfull due to a bad user request. This occurs if
            some of the query parameters are invalid,

            e. g. if neither `historicProcessInstances` nor
            `historicProcessInstanceQuery` is present or if no mode is
            specified.


            See the
            [Introduction](https://docs.camunda.org/manual/7.22/reference/rest/overview/#error-handling)
            for the error response format.
components:
  schemas:
    SetRemovalTimeToHistoricProcessInstancesDto:
      allOf:
        - type: object
          properties:
            historicProcessInstanceIds:
              type: array
              nullable: true
              items:
                type: string
              description: The id of the process instance.
            historicProcessInstanceQuery:
              $ref: '#/components/schemas/HistoricProcessInstanceQueryDto'
            hierarchical:
              type: boolean
              nullable: true
              description: >-
                Sets the removal time to all historic process instances in the
                hierarchy.

                Value may only be `true`, as `false` is the default behavior.
            updateInChunks:
              type: boolean
              nullable: true
              description: >-
                Handles removal time updates in chunks, taking into account the
                defined size in

                `removalTimeUpdateChunkSize` in the process engine
                configuration. The size of the 

                chunks can also be overridden per call with the
                `updateChunkSize` parameter.

                Enabling this option can lead to multiple executions of the
                resulting jobs, preventing

                the database transaction from timing out by limiting the number
                of rows to update.

                Value may only be `true`, as `false` is the default behavior.
            updateChunkSize:
              type: integer
              format: int32
              nullable: true
              description: >-
                Defines the size of the chunks in which removal time updates are
                processed.

                The value must be a positive integer between `1` and `500`. This
                only has an 

                effect if `updateInChunks` is set to `true`. If undefined, the
                operation uses the 

                `removalTimeUpdateChunkSize` defined in the process engine
                configuration.
        - $ref: '#/components/schemas/AbstractSetRemovalTimeDto'
    BatchDto:
      type: object
      properties:
        id:
          type: string
          nullable: true
          description: The id of the batch.
        type:
          type: string
          nullable: true
          description: >-
            The type of the batch.

            See the [User
            Guide](https://docs.camunda.org/manual/7.22/user-guide/process-engine/batch/#creating-a-batch)

            for more information about batch types.
        totalJobs:
          type: integer
          format: int32
          nullable: true
          description: >-
            The total jobs of a batch is the number of batch execution jobs
            required to complete the batch.
        jobsCreated:
          type: integer
          format: int32
          nullable: true
          description: The number of batch execution jobs already created by the seed job.
        batchJobsPerSeed:
          type: integer
          format: int32
          nullable: true
          description: >-
            The number of batch execution jobs created per seed job invocation.

            The batch seed job is invoked until it has created all batch
            execution jobs required by the batch

            (see `totalJobs` property).
        invocationsPerBatchJob:
          type: integer
          format: int32
          nullable: true
          description: >-
            Every batch execution job invokes the command executed by the batch
            `invocationsPerBatchJob` times.

            E.g., for a process instance migration batch this specifies the
            number of process instances which are migrated per batch execution
            job.
        seedJobDefinitionId:
          type: string
          nullable: true
          description: The job definition id for the seed jobs of this batch.
        monitorJobDefinitionId:
          type: string
          nullable: true
          description: The job definition id for the monitor jobs of this batch.
        batchJobDefinitionId:
          type: string
          nullable: true
          description: The job definition id for the batch execution jobs of this batch.
        suspended:
          type: boolean
          nullable: true
          description: Indicates whether this batch is suspended or not.
        tenantId:
          type: string
          nullable: true
          description: The tenant id of the batch.
        createUserId:
          type: string
          nullable: true
          description: The id of the user that created the batch.
        startTime:
          type: string
          format: date-time
          nullable: true
          description: >-
            The time the batch was started. Default format
            `yyyy-MM-dd'T'HH:mm:ss.SSSZ`. For further information,

            please see the [documentation]
            (https://docs.camunda.org/manual/7.22/reference/rest/overview/date-format/)
        executionStartTime:
          type: string
          format: date-time
          nullable: true
          description: >-
            The time the batch execution was started, i.e., at least one batch
            job has been executed. Default

            format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`. For further information, please
            see the [documentation]

            (https://docs.camunda.org/manual/7.22/reference/rest/overview/date-format/)
    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).
    HistoricProcessInstanceQueryDto:
      type: object
      description: >-
        A historic process instance query which defines a group of historic
        process instances
      properties:
        processInstanceId:
          type: string
          nullable: true
          description: Filter by process instance id.
        processInstanceIds:
          type: array
          nullable: true
          items:
            type: string
          description: Filter by process instance ids. Must be a JSON array of `Strings`.
        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`.
        processDefinitionName:
          type: string
          nullable: true
          description: Filter by the name of the process definition the instances run on.
        processDefinitionNameLike:
          type: string
          nullable: true
          description: >-
            Filter by process definition names that the parameter is a substring
            of.
        processDefinitionKeyNotIn:
          type: array
          nullable: true
          items:
            type: string
          description: >-
            Exclude instances that belong to a set of process definitions. Must
            be a JSON array of `Strings`.
        processInstanceBusinessKey:
          type: string
          nullable: true
          description: Filter by process instance business key.
        processInstanceBusinessKeyIn:
          type: array
          nullable: true
          items:
            type: string
          description: >-
            Filter by a list of business keys. A process instance must have one
            of the given business keys. Must be a JSON array of `Strings`
        processInstanceBusinessKeyLike:
          type: string
          nullable: true
          description: >-
            Filter by process instance business key that the parameter is a
            substring of.
        rootProcessInstances:
          type: boolean
          nullable: true
          description: >-
            Restrict the query to all process instances that are top level
            process instances.
        finished:
          type: boolean
          nullable: true
          description: >-
            Only include finished process instances. This flag includes all
            process instances

            that are completed or terminated. Value may only be `true`, as
            `false` is the default behavior.
        unfinished:
          type: boolean
          nullable: true
          description: >-
            Only include unfinished process instances. Value may only be `true`,
            as `false` is the default behavior.
        withIncidents:
          type: boolean
          nullable: true
          description: >-
            Only include process instances which have an incident. Value may
            only be `true`, as `false` is the default behavior.
        withRootIncidents:
          type: boolean
          nullable: true
          description: >-
            Only include process instances which have a root incident. Value may
            only be `true`, as `false` is the default behavior.
        incidentIdIn:
          type: array
          nullable: true
          items:
            type: string
          description: >-
            Restrict to instances that have an incident with one of the given
            ids. Must be a JSON array of `Strings`
        incidentType:
          type: string
          nullable: true
          description: >-
            Filter by the incident type. See the [User
            Guide](https://docs.camunda.org/manual/7.22/user-guide/process-engine/incidents/#incident-types)
            for a list of incident types.
        incidentStatus:
          type: string
          nullable: true
          enum:
            - open
            - resolved
          description: >-
            Only include process instances which have an incident in status
            either open or resolved. To get all process instances, use the query
            parameter withIncidents.
        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.
        startedBefore:
          type: string
          format: date-time
          nullable: true
          description: >-
            Restrict to instances that were started before the 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`.
        startedAfter:
          type: string
          format: date-time
          nullable: true
          description: >-
            Restrict to instances that were started after the 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`.
        finishedBefore:
          type: string
          format: date-time
          nullable: true
          description: >-
            Restrict to instances that were finished before the 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`.
        finishedAfter:
          type: string
          format: date-time
          nullable: true
          description: >-
            Restrict to instances that were finished after the 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`.
        executedActivityAfter:
          type: string
          format: date-time
          nullable: true
          description: >-
            Restrict to instances that executed an activity after the given date
            (inclusive).

            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`.
        executedActivityBefore:
          type: string
          format: date-time
          nullable: true
          description: >-
            Restrict to instances that executed an activity before the given
            date (inclusive).

            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`.
        executedJobAfter:
          type: string
          format: date-time
          nullable: true
          description: >-
            Restrict to instances that executed an job after the given date
            (inclusive).

            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`.
        executedJobBefore:
          type: string
          format: date-time
          nullable: true
          description: >-
            Restrict to instances that executed an job before the given date
            (inclusive).

            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`.
        startedBy:
          type: string
          nullable: true
          description: Only include process instances that were started by the given user.
        superProcessInstanceId:
          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.
        subProcessInstanceId:
          type: string
          nullable: true
          description: >-
            Restrict query to one process instance that has a sub process
            instance with the given id.
        superCaseInstanceId:
          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.
        subCaseInstanceId:
          type: string
          nullable: true
          description: >-
            Restrict query to one process instance that has a sub case instance
            with the given id.
        caseInstanceId:
          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.
        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 historic process instances which belong to no tenant.
            Value may only be `true`, as `false` is the default behavior.
        activityIdIn:
          type: array
          nullable: true
          items:
            type: string
          description: >-
            Restrict to instances with an active activity with one of the given
            ids. In contrast to the `activeActivityIdIn` filter, it can query
            for async and incident activities. Must be a JSON array of `Strings`
        executedActivityIdIn:
          type: array
          nullable: true
          items:
            type: string
          description: >-
            Restrict to instances that executed an activity with one of given
            ids. Must be a JSON array of `Strings`
        activeActivityIdIn:
          type: array
          nullable: true
          items:
            type: string
          description: >-
            Restrict to instances that have an active activity with one of given
            ids. Must be a JSON array of `Strings`
        active:
          type: boolean
          nullable: true
          description: Restrict to instances that are active.
        suspended:
          type: boolean
          nullable: true
          description: Restrict to instances that are suspended.
        completed:
          type: boolean
          nullable: true
          description: Restrict to instances that are completed.
        externallyTerminated:
          type: boolean
          nullable: true
          description: Restrict to instances that are externallyTerminated.
        internallyTerminated:
          type: boolean
          nullable: true
          description: Restrict to instances that are internallyTerminated.
        variables:
          type: array
          nullable: true
          items:
            $ref: '#/components/schemas/VariableQueryParameterDto'
          description: >
            A JSON array to only include process instances that have/had
            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.


            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 variables 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 variables case-insensitively.
            If set to `true` variableValue and variablevalue are treated as
            equal.
        orQueries:
          type: array
          nullable: true
          items:
            $ref: '#/components/schemas/HistoricProcessInstanceQueryDto'
          description: >-
            A JSON array of nested historic 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](https://en.wikipedia.org/wiki/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
                  - definitionName
                  - definitionVersion
                  - businessKey
                  - startTime
                  - endTime
                  - duration
                  - 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.
    AbstractSetRemovalTimeDto:
      type: object
      properties:
        absoluteRemovalTime:
          type: string
          format: date-time
          nullable: true
          description: >-
            The date for which the instances shall be removed. Value may not be
            `null`.


            **Note:** Cannot be set in conjunction with `clearedRemovalTime` or
            `calculatedRemovalTime`.
        clearedRemovalTime:
          type: boolean
          nullable: true
          description: >-
            Sets the removal time to `null`. Value may only be `true`, as
            `false` is the default behavior.


            **Note:** Cannot be set in conjunction with `absoluteRemovalTime` or
            `calculatedRemovalTime`.
        calculatedRemovalTime:
          type: boolean
          nullable: true
          description: >-
            The removal time is calculated based on the engine's configuration
            settings. Value may only be `true`, as `false` is the default
            behavior.


            **Note:** Cannot be set in conjunction with `absoluteRemovalTime` or
            `clearedRemovalTime`.
    VariableQueryParameterDto:
      allOf:
        - type: object
          properties:
            name:
              type: string
              nullable: true
              description: Variable name
        - $ref: '#/components/schemas/ConditionQueryParameterDto'
    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

````