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

# 验证迁移计划

> Validates a migration plan statically without executing it. This
corresponds to the
[creation time validation](https://docs.camunda.org/manual/7.22/user-guide/process-engine/process-instance-migration/#creation-time-validation)
described in the user guide.



## OpenAPI

````yaml POST /migration/validate
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:
  /migration/validate:
    post:
      tags:
        - Migration
      summary: Validate Migration Plan
      description: >-
        Validates a migration plan statically without executing it. This

        corresponds to the

        [creation time
        validation](https://docs.camunda.org/manual/7.22/user-guide/process-engine/process-instance-migration/#creation-time-validation)

        described in the user guide.
      operationId: validateMigrationPlan
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MigrationPlanDto'
            examples:
              example-1:
                summary: POST `/migration/validate`
                value:
                  sourceProcessDefinitionId: aProcessDefinitionId1
                  targetProcessDefinitionId: aProcessDefinitionId2
                  instructions:
                    - sourceActivityIds:
                        - aUserTask
                      targetActivityIds:
                        - aUserTask
                    - sourceActivityIds:
                        - anEvent
                      targetActivityIds:
                        - anotherEvent
                      updateEventTrigger: true
                  variables:
                    foo:
                      type: Object
                      value: ...
                      valueInfo:
                        objectTypeName: java.util.ArrayList
                        serializationDataFormat: application/x-java-serialized-object
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MigrationPlanReportDto'
              examples:
                example-1:
                  summary: Status 200.
                  description: POST `/migration/validate`
                  value:
                    instructionReports:
                      - instruction:
                          sourceActivityIds:
                            - aUserTask
                          targetActivityIds:
                            - aUserTask
                          updateEventTrigger: false
                        failures:
                          - failure1
                          - failure2
                      - instruction:
                          sourceActivityIds:
                            - anEvent
                          targetActivityIds:
                            - anotherEvent
                          updateEventTrigger: true
                        failures:
                          - failure1
                          - failure2
                    variableReports:
                      foo:
                        type: Object
                        value: ...
                        valueInfo:
                          objectTypeName: java.util.ArrayList
                          serializationDataFormat: application/x-java-serialized-object
                        failures:
                          - >-
                            Cannot set variable with name foo. Java
                            serialization format is prohibited
          description: Request successful. The validation report was returned.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionDto'
          description: >-
            In case additional parameters of the request are unexpected, an

            exception of type `InvalidRequestException` is returned. See the

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

            for the error response format.
components:
  schemas:
    MigrationPlanDto:
      type: object
      properties:
        sourceProcessDefinitionId:
          type: string
          nullable: true
          description: The id of the source process definition for the migration.
        targetProcessDefinitionId:
          type: string
          nullable: true
          description: The id of the target process definition for the migration.
        instructions:
          type: array
          nullable: true
          items:
            $ref: '#/components/schemas/MigrationInstructionDto'
          description: >-
            A list of migration instructions which map equal activities. Each

            migration instruction is a JSON object with the following
            properties:
        variables:
          type: object
          nullable: true
          additionalProperties:
            $ref: '#/components/schemas/VariableValueDto'
          description: >-
            A map of variables which will be set into the process instances'
            scope.

            Each key is a variable name and each value a JSON variable value
            object.
    MigrationPlanReportDto:
      type: object
      properties:
        instructionReports:
          type: array
          nullable: true
          items:
            $ref: '#/components/schemas/MigrationInstructionValidationReportDto'
          description: |-
            The list of instruction validation reports. If no validation
            errors are detected it is an empty list.
        variableReports:
          type: object
          nullable: true
          additionalProperties:
            $ref: '#/components/schemas/MigrationVariableValidationReportDto'
          description: >-
            A map of variable reports.

            Each key is a variable name and each value a JSON object consisting
            of the variable's type, value,

            value info object and a list of failures.
    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).
    MigrationInstructionDto:
      type: object
      properties:
        sourceActivityIds:
          type: array
          nullable: true
          items:
            type: string
          description: The activity ids from the source process definition being mapped.
        targetActivityIds:
          type: array
          nullable: true
          items:
            type: string
          description: The activity ids from the target process definition being mapped.
        updateEventTrigger:
          type: boolean
          nullable: true
          description: >-
            Configuration flag whether event triggers defined are going to be
            updated during migration.
    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)
    MigrationInstructionValidationReportDto:
      type: object
      properties:
        instruction:
          $ref: '#/components/schemas/MigrationInstructionDto'
        failures:
          type: array
          nullable: true
          items:
            type: string
          description: A list of instruction validation report messages.
    MigrationVariableValidationReportDto:
      allOf:
        - type: object
          properties:
            failures:
              type: array
              nullable: true
              items:
                type: string
              description: A list of variable validation report messages.
        - $ref: '#/components/schemas/VariableValueDto'
    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

````