---
title: "Get upstream diff"
method: GET
path: "/api/v1/projects/{projectUuid}/upstreamDiff"
tags: ["Projects"]
---

# Get upstream diff

`GET /api/v1/projects/{projectUuid}/upstreamDiff`

Diff a preview project against the project it was copied from, using the
catalog index. Detects added/removed fields and label changes; does not
detect SQL-only field changes.

## Path parameters

- `projectUuid` string, required

## Response `200`

Success

- ApiUpstreamDiffResponse
  - `results` ApiUpstreamDiffResults, required
    - `fields` UpstreamFieldDiff[], required
      - `previewLabel` string, nullable, required
      - `upstreamLabel` string, nullable, required
      - `fieldType` string, nullable, required
      - `fieldName` string, required
      - `tableName` string, required
      - `exploreName` string, required
      - `change` 'added' | 'removed' | 'label_changed', required — Field-level diff between a preview project and the project it was copied from (`upstreamProjectUuid`), computed in SQL over the `catalog_search` index. Detects added/removed fields and label changes. It does not detect SQL-only changes (same name/label, different SQL) — that would require walking the cached explore definitions, which is too expensive to do per request.
    - `upstreamProjectUuid` string, required
  - `status` 'ok', required

## Other responses

- `default` — Error

---

[API](https://skmtc.net/lightdash/apis/lightdash-api.md) · [All operations](https://skmtc.net/lightdash/apis/lightdash-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/lightdash/lightdash-api/versions/40c933755c9a/schema)
