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

# Get migration issues

> The per-item issue log: items that failed, and items intentionally skipped with the reason why.

Use this to answer "which products didn't make it, and why?". The log is embedded into the durable snapshot before a run's working files are reclaimed, so it stays readable for finished runs. Entries are sanitised — entity, name, status, and reason only; never request bodies or credentials.



## OpenAPI

````yaml vortex-apps/staging-pro/api/openapi.json GET /migrations/{id}/issues
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}/issues:
    get:
      tags:
        - Migrations
      summary: Get migration issues
      description: >-
        The per-item issue log: items that failed, and items intentionally
        skipped with the reason why.


        Use this to answer "which products didn't make it, and why?". The log is
        embedded into the durable snapshot before a run's working files are
        reclaimed, so it stays readable for finished runs. Entries are sanitised
        — entity, name, status, and reason only; never request bodies or
        credentials.
      operationId: getMigrationIssues
      parameters:
        - $ref: '#/components/parameters/MigrationId'
      responses:
        '200':
          description: Failures and skipped items.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssuesResponse'
              example:
                failures:
                  - entity: products
                    name: Smith Journal 13
                    status: 422
                    reason: duplicate SKU SM-13 on destination
                skipped:
                  - entity: pages
                    name: Legacy landing
                    status: null
                    reason: page type not supported by destination theme
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
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
  schemas:
    IssuesResponse:
      type: object
      properties:
        failures:
          type: array
          items:
            $ref: '#/components/schemas/IssueItem'
        skipped:
          type: array
          items:
            $ref: '#/components/schemas/IssueItem'
    IssueItem:
      type: object
      properties:
        entity:
          type: string
          description: Which entity type the item belongs to.
        name:
          type: string
          description: Item name, code, or `#<source-id>`.
        status:
          type:
            - integer
            - 'null'
          description: HTTP status of the failing call, when applicable.
        reason:
          type: string
          description: Why it failed, or why it was intentionally skipped.
    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.'
  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'
  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.

````