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

# Get the organization's D2 migration verification-gate report

> Runs the DL-60978 hard-cutover verification gate for this organization and returns the structured pass/fail report: business-level reconciliation (legacy vs d2, transform-aware), invariants that must be exactly 0 (tenancy/null-org, zero-XML, season-coverage, orphan units, active-SKU-without-unit, typed-value shape), the open blocking-exception queue, and field-level sampling. `passed=false` means the org must not be confirmed into D2 yet.



## OpenAPI

````yaml https://service.my.delogue.com/openapi/external.json get /api/organizations/{organizationId}/migration-verification-report
openapi: 3.1.1
info:
  title: Delogue External API - (Production)
  description: Integration endpoints for Delogue API
  version: 1.0.0
servers:
  - url: /
    description: The Delogue environment serving this document.
  - url: https://{host}
    description: Per-customer Delogue API host.
    variables:
      host:
        default: service.my.delogue.com
        description: >-
          The API host for your Delogue environment, e.g.
          service.<customer>.delogue.com.
security: []
tags:
  - name: Barcodes
  - name: Brands
  - name: CareInstructionIcons
  - name: CareInstructionLayers
  - name: CareInstructionMaterials
  - name: CareInstructions
  - name: Color Groups
  - name: Colors
  - name: ComplianceCategories
  - name: ComplianceCustomFields
  - name: Facilities
  - name: Groups
  - name: ItemCategories
  - name: Items
  - name: MeasurementCharts
  - name: MigrationApproval
  - name: MigrationVerification
  - name: OrganizationMigration
  - name: Organizations
  - name: SampleRequests
  - name: SampleTypes
  - name: Seasons
  - name: SizeRanges
  - name: Style Prices
  - name: StyleCareInstructions
  - name: StyleCategories
  - name: StyleColors
  - name: StyleContacts
  - name: StyleCustomFields
  - name: StyleFiles
  - name: StyleItems
  - name: StyleRelations
  - name: Styles
  - name: StyleSkus
  - name: StyleSupplierFacilities
  - name: SubSuppliers
  - name: Suppliers
paths:
  /api/organizations/{organizationId}/migration-verification-report:
    get:
      tags:
        - MigrationVerification
      summary: Get the organization's D2 migration verification-gate report
      description: >-
        Runs the DL-60978 hard-cutover verification gate for this organization
        and returns the structured pass/fail report: business-level
        reconciliation (legacy vs d2, transform-aware), invariants that must be
        exactly 0 (tenancy/null-org, zero-XML, season-coverage, orphan units,
        active-SKU-without-unit, typed-value shape), the open blocking-exception
        queue, and field-level sampling. `passed=false` means the org must not
        be confirmed into D2 yet.
      operationId: MigrationVerification_GetReport
      parameters:
        - name: organizationId
          in: path
          description: Identifier of the organization whose verification report to return.
          required: true
          schema:
            pattern: ^-?(?:0|[1-9]\d*)$
            type: integer
            format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/ApiResponseOfMigrationVerificationReportDto
        '401':
          description: Unauthorized
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '500':
          description: Internal Server Error
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
      security:
        - {}
components:
  schemas:
    ApiResponseOfMigrationVerificationReportDto:
      required:
        - status
        - code
        - data
      type: object
      properties:
        status:
          $ref: '#/components/schemas/ApiResponseStatus'
          description: >-
            The coarse outcome of the request, indicating whether it succeeded
            or failed.
        code:
          type: string
          description: >-
            The specific machine-readable outcome code, such as ok on success or
            the most specific error code on failure. Always lowercase on the
            wire.
        data:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/MigrationVerificationReportDto'
              description: >-
                The response payload, either a single object for a by-id read or
                an array for a bulk operation. Omitted from the body when there
                is no value.
          description: >-
            The response payload, either a single object for a by-id read or an
            array for a bulk operation. Omitted from the body when there is no
            value.
      additionalProperties: false
    ApiErrorResponse:
      type: object
      properties:
        status:
          $ref: '#/components/schemas/ApiResponseStatus'
          description: >-
            The coarse outcome of the request, indicating whether it succeeded
            or failed.
        code:
          type: string
          description: >-
            The specific machine-readable outcome code, such as ok on success or
            the most specific error code on failure. Always lowercase on the
            wire.
        error:
          $ref: '#/components/schemas/ErrorWrapper'
          description: >-
            The error payload, present instead of data on a failed response. It
            wraps the list of detail rows describing what went wrong.
      additionalProperties: false
    ApiResponseStatus:
      enum:
        - success
        - error
      type: string
      description: >-
        The coarse outcome of the request, indicating whether it succeeded or
        failed.
    MigrationVerificationReportDto:
      type: object
      properties:
        organizationId:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - integer
            - string
          description: Identifier of the organization this verification report covers.
          format: int32
        generatedAtUtc:
          type: string
          description: UTC time the report was generated.
          format: date-time
        state:
          $ref: '#/components/schemas/MigrationVerificationStateDto'
          description: >-
            The gate's overall verdict, serialized as passed or failed. Distinct
            from each individual check's status.
        failedCheckCount:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - integer
            - string
          description: The number of checks in the report that failed.
          format: int32
        totalCheckCount:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - integer
            - string
          description: The total number of checks run for the report.
          format: int32
        invariants:
          type: array
          items:
            $ref: '#/components/schemas/MigrationVerificationCheckDto'
          description: >-
            Checks that assert structural invariants which must hold after
            migration.
        reconciliation:
          type: array
          items:
            $ref: '#/components/schemas/MigrationVerificationCheckDto'
          description: >-
            Checks that reconcile record counts between the legacy and Delogue
            2.0 data.
        exceptionQueue:
          type: array
          items:
            $ref: '#/components/schemas/MigrationVerificationCheckDto'
          description: >-
            Checks covering rows the migration could not process and set aside
            in the exception queue.
        sampledFieldChecks:
          type: array
          items:
            $ref: '#/components/schemas/MigrationVerificationCheckDto'
          description: >-
            Checks that compare sampled field values between the legacy and
            migrated records.
      additionalProperties: false
      description: >-
        The response payload, either a single object for a by-id read or an
        array for a bulk operation. Omitted from the body when there is no
        value.
    ErrorWrapper:
      type: object
      properties:
        details:
          type: array
          items:
            $ref: '#/components/schemas/ErrorDetailDto'
          description: >-
            The list of individual error detail rows for this failure, one per
            field or rule that failed.
      additionalProperties: false
      description: >-
        The error payload, present instead of data on a failed response. It
        wraps the list of detail rows describing what went wrong.
    MigrationVerificationStateDto:
      enum:
        - passed
        - failed
      type: string
      description: >-
        The gate's overall verdict, serialized as passed or failed. Distinct
        from each individual check's status.
    MigrationVerificationCheckDto:
      type: object
      properties:
        domain:
          type: string
          description: The entity domain this check applies to.
        category:
          type: string
          description: >-
            The category of check, such as invariant, reconciliation,
            exception-queue, or sampled-field.
        checkName:
          type: string
          description: Human-readable name of the check.
        status:
          type: string
          description: >-
            The check's outcome: Pass, Fail, or Info. Info is informational and
            does not gate the verdict.
        legacyCount:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - 'null'
            - integer
            - string
          description: >-
            The count observed in the legacy data for this check, or null when
            the check does not count rows.
          format: int32
        d2Count:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - 'null'
            - integer
            - string
          description: >-
            The count observed in the Delogue 2.0 data for this check, or null
            when the check does not count rows.
          format: int32
        expectedDelta:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - 'null'
            - integer
            - string
          description: >-
            The permitted difference between the legacy and Delogue 2.0 counts,
            or null when no difference is expected.
          format: int32
        offendingCount:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - 'null'
            - integer
            - string
          description: >-
            The number of rows that violate this check, or null when the check
            does not identify offending rows.
          format: int32
        sampleOffendingIds:
          type: array
          items:
            type: integer
            format: int64
          description: >-
            A sample of the identifiers of offending rows, to help investigate a
            failure.
        notes:
          type:
            - 'null'
            - string
          description: >-
            Additional context for the check's result, or null when there is
            none.
      additionalProperties: false
    ErrorDetailDto:
      required:
        - type
        - field
        - value
      type: object
      properties:
        type:
          type: string
          description: >-
            The hierarchical error code identifying the specific failure, such
            as validation_error.required_field. Consumers branch on this rather
            than on the message text.
        field:
          type:
            - 'null'
            - string
          description: >-
            The input field that caused the failure. Omitted when no specific
            field is at fault, such as an authorization denial or a server
            error.
        value:
          type:
            - 'null'
            - string
          description: >-
            A human-readable message describing the failure, or the offending
            value or limit that triggered it.
      additionalProperties: false

````