> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vortexiq.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Verify migration

> Re-runs a finished migration in **verify** mode: a read-only comparison of source against destination that writes nothing. Use it to confirm a migration landed everything it should have.

Requires the original run's working files to still exist.



## OpenAPI

````yaml vortex-apps/staging-pro/api/openapi.json POST /migrations/{id}/verify
openapi: 3.1.0
info:
  title: StagingPro V2 Migration API (BigCommerce)
  version: 2.0.0
  description: >-
    REST API for the StagingPro V2 BC Migration app. Browse a connected store's
    catalogue, size a migration before you run it, launch bulk or selective
    store-to-store migrations, control runs, and follow live progress.


    All endpoints are served from `https://app.vortexiq.ai/v2/api/bc-migration`
    and are scoped to your organisation. Authenticate with a bearer token from
    the Login endpoint (scripts and services) or your signed-in session
    (browser). See
    [Authentication](/vortex-apps/staging-pro/api/authentication).
  contact:
    name: Vortex IQ Support
    url: https://www.vortexiq.ai/contact-us
servers:
  - url: https://app.vortexiq.ai/v2/api/bc-migration
    description: Vortex IQ platform (production)
security:
  - sessionAuth: []
  - bearerAuth: []
tags:
  - name: Authentication
    description: >-
      Exchange your identity and your organisation's API credential for a bearer
      token.
  - name: Migrations
    description: >-
      Create migrations, list history, read run detail and per-item issues, and
      follow live progress.
  - name: Migration Controls
    description: Pause, resume, cancel, and verify-only re-runs.
  - name: Counts & Forecast
    description: Size a migration before launching it. Neither endpoint creates a run.
paths:
  /migrations/{id}/verify:
    post:
      tags:
        - Migration Controls
      summary: Verify migration
      description: >-
        Re-runs a finished migration in **verify** mode: a read-only comparison
        of source against destination that writes nothing. Use it to confirm a
        migration landed everything it should have.


        Requires the original run's working files to still exist.
      operationId: verifyMigration
      parameters:
        - $ref: '#/components/parameters/MigrationId'
      responses:
        '200':
          description: Verify run queued.
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  status:
                    type: string
                  mode:
                    type: string
                    enum:
                      - verify
              example:
                ok: true
                status: queued
                mode: verify
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          description: >-
            The run's files were cleaned up (`config_unavailable`) or its
            credentials are no longer available (`tokens_unavailable`).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '502':
          $ref: '#/components/responses/ProxyFailed'
components:
  parameters:
    MigrationId:
      name: id
      in: path
      required: true
      schema:
        type: string
      description: The migration request id returned by Create migration.
      example: 5A3C1B2E-7F4D-4E6A-9B8C-0D1E2F3A4B5C
  responses:
    Forbidden:
      description: >-
        Store Migration is not enabled for your organisation. Requests with no
        valid bearer token or session return `401` instead.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            message: Store Migration is not enabled for this organization.
    NotFound:
      description: No such migration in your organisation.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    ProxyFailed:
      description: The migration service is unreachable (`proxy_failed`).
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: proxy_failed
            message: migration service unreachable
  schemas:
    Error:
      type: object
      properties:
        error:
          type: string
          description: Machine-readable error code.
        message:
          type: string
          description: Human-readable explanation.
        status:
          type: integer
          description: 'Present on `bc_error`: the status BigCommerce returned.'
        errors:
          type: object
          additionalProperties: true
          description: 'Present on validation failures: field-level messages.'
  securitySchemes:
    sessionAuth:
      type: apiKey
      in: cookie
      name: vortexiq_session
      description: >-
        Your signed-in Vortex IQ session (browser calls). Requests are scoped to
        your organisation, which must have Store Migration enabled. For
        server-to-server calls use a bearer token instead — see
        [Authentication](/vortex-apps/staging-pro/api/authentication).
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        A bearer token from [Login](/vortex-apps/staging-pro/api/login). Valid
        for 10 days; scoped to the user and organisation it was issued for.
        Rotating or disabling the organisation's API credential immediately
        invalidates all outstanding tokens.

````