---
title: "Get snapshot comparison"
method: GET
path: "/v2/snapshots/diff"
---

# Get snapshot comparison

`GET /v2/snapshots/diff`

Returns snapshot comparison data between two builds (head and base), including added, removed, changed, and unchanged snapshots. Can also return data for a single build if no base is specified.

## Query parameters

- `headUploadId` string, required
- `baseUploadId` string
- `noDiff` 'true' | 'false'
- `page` integer
- `tab` 'added' | 'removed' | 'changed' | 'unchanged' | 'errors'
- `search` string

## Response `200`

Success - returns snapshot comparison data with status (SUCCESS, PROCESSING, or ERROR)

- object
  - `status` 'SUCCESS' | 'PROCESSING' | 'ERROR' — The status of the snapshot comparison
  - `headUploadMetadata` object — Metadata about the head build
  - `baseUploadMetadata` object — Metadata about the base build (null if single-build view)
  - `added` Snapshot[] — Snapshots added in head build
    - `id` string — Unique identifier for the snapshot (UUID)
    - `identifier` string — Human-readable identifier for the snapshot
    - `additionalInfo` object — Additional metadata for the snapshot
      - `id` string
    - `height` integer — Height of the snapshot image in pixels
    - `width` integer — Width of the snapshot image in pixels
    - `title` string — Display title for the snapshot
    - `subtitle` string — Display subtitle for the snapshot
    - `badges` object[] — Array of badge metadata associated with the snapshot
      - `title` string
      - `type` string
    - `isDarkMode` boolean — Whether the snapshot was captured in dark mode
    - `s3Prefix` string — S3 prefix path for the snapshot
    - `timeTaken` number — Time taken to capture the snapshot in milliseconds
    - `appStoreSnapshot` boolean — Whether this snapshot is formatted for App Store submission
    - `imageKey` string — Key identifier for the image
    - `imageUrl` string, uri — Signed S3 URL to access the snapshot image
  - `removed` Snapshot[] — Snapshots removed in head build
    - `id` string — Unique identifier for the snapshot (UUID)
    - `identifier` string — Human-readable identifier for the snapshot
    - `additionalInfo` object — Additional metadata for the snapshot
      - `id` string
    - `height` integer — Height of the snapshot image in pixels
    - `width` integer — Width of the snapshot image in pixels
    - `title` string — Display title for the snapshot
    - `subtitle` string — Display subtitle for the snapshot
    - `badges` object[] — Array of badge metadata associated with the snapshot
      - `title` string
      - `type` string
    - `isDarkMode` boolean — Whether the snapshot was captured in dark mode
    - `s3Prefix` string — S3 prefix path for the snapshot
    - `timeTaken` number — Time taken to capture the snapshot in milliseconds
    - `appStoreSnapshot` boolean — Whether this snapshot is formatted for App Store submission
    - `imageKey` string — Key identifier for the image
    - `imageUrl` string, uri — Signed S3 URL to access the snapshot image
  - `changed` SnapshotComparison[] — Snapshots that changed between builds, including comparison data and diff images
    - `headSnapshot` Snapshot
      - `id` string — Unique identifier for the snapshot (UUID)
      - `identifier` string — Human-readable identifier for the snapshot
      - `additionalInfo` object — Additional metadata for the snapshot
        - `id` string
      - `height` integer — Height of the snapshot image in pixels
      - `width` integer — Width of the snapshot image in pixels
      - `title` string — Display title for the snapshot
      - `subtitle` string — Display subtitle for the snapshot
      - `badges` object[] — Array of badge metadata associated with the snapshot
        - `title` string
        - `type` string
      - `isDarkMode` boolean — Whether the snapshot was captured in dark mode
      - `s3Prefix` string — S3 prefix path for the snapshot
      - `timeTaken` number — Time taken to capture the snapshot in milliseconds
      - `appStoreSnapshot` boolean — Whether this snapshot is formatted for App Store submission
      - `imageKey` string — Key identifier for the image
      - `imageUrl` string, uri — Signed S3 URL to access the snapshot image
    - `baseSnapshot` Snapshot
      - `id` string — Unique identifier for the snapshot (UUID)
      - `identifier` string — Human-readable identifier for the snapshot
      - `additionalInfo` object — Additional metadata for the snapshot
        - `id` string
      - `height` integer — Height of the snapshot image in pixels
      - `width` integer — Width of the snapshot image in pixels
      - `title` string — Display title for the snapshot
      - `subtitle` string — Display subtitle for the snapshot
      - `badges` object[] — Array of badge metadata associated with the snapshot
        - `title` string
        - `type` string
      - `isDarkMode` boolean — Whether the snapshot was captured in dark mode
      - `s3Prefix` string — S3 prefix path for the snapshot
      - `timeTaken` number — Time taken to capture the snapshot in milliseconds
      - `appStoreSnapshot` boolean — Whether this snapshot is formatted for App Store submission
      - `imageKey` string — Key identifier for the image
      - `imageUrl` string, uri — Signed S3 URL to access the snapshot image
    - `title` string — Display title for the snapshot comparison
    - `subtitle` string — Display subtitle for the snapshot comparison
    - `badges` object[] — Array of badge metadata associated with the snapshot
      - `title` string
      - `type` string
    - `diffImageInfo` object — Information about the diff image showing visual changes
      - `imageUrl` string, uri — Signed S3 URL to the visual diff image highlighting changes
    - `height` integer — Height of the comparison image in pixels
    - `width` integer — Width of the comparison image in pixels
    - `ignored` boolean — Whether this snapshot difference has been marked as ignored
    - `diff` number, float — Percentage difference between the snapshots (0-1 scale)
  - `unchanged` Snapshot[] — Snapshots that remained the same
    - `id` string — Unique identifier for the snapshot (UUID)
    - `identifier` string — Human-readable identifier for the snapshot
    - `additionalInfo` object — Additional metadata for the snapshot
      - `id` string
    - `height` integer — Height of the snapshot image in pixels
    - `width` integer — Width of the snapshot image in pixels
    - `title` string — Display title for the snapshot
    - `subtitle` string — Display subtitle for the snapshot
    - `badges` object[] — Array of badge metadata associated with the snapshot
      - `title` string
      - `type` string
    - `isDarkMode` boolean — Whether the snapshot was captured in dark mode
    - `s3Prefix` string — S3 prefix path for the snapshot
    - `timeTaken` number — Time taken to capture the snapshot in milliseconds
    - `appStoreSnapshot` boolean — Whether this snapshot is formatted for App Store submission
    - `imageKey` string — Key identifier for the image
    - `imageUrl` string, uri — Signed S3 URL to access the snapshot image
  - `errors` Snapshot[] — Snapshots that failed to capture
    - `id` string — Unique identifier for the snapshot (UUID)
    - `identifier` string — Human-readable identifier for the snapshot
    - `additionalInfo` object — Additional metadata for the snapshot
      - `id` string
    - `height` integer — Height of the snapshot image in pixels
    - `width` integer — Width of the snapshot image in pixels
    - `title` string — Display title for the snapshot
    - `subtitle` string — Display subtitle for the snapshot
    - `badges` object[] — Array of badge metadata associated with the snapshot
      - `title` string
      - `type` string
    - `isDarkMode` boolean — Whether the snapshot was captured in dark mode
    - `s3Prefix` string — S3 prefix path for the snapshot
    - `timeTaken` number — Time taken to capture the snapshot in milliseconds
    - `appStoreSnapshot` boolean — Whether this snapshot is formatted for App Store submission
    - `imageKey` string — Key identifier for the image
    - `imageUrl` string, uri — Signed S3 URL to access the snapshot image
  - `message` string — Message with additional context (present when status is PROCESSING or ERROR)

## Other responses

- `400` — Bad request - invalid parameters
- `404` — Build not found

---

[API](https://skmtc.dev/emergetools/apis/emerge-api.md) · [All operations](https://skmtc.dev/emergetools/apis/emerge-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/emergetools/emerge-api/revisions/5af529b19931/schema)
