---
title: "Diff Versions"
method: GET
path: "/v1/projects/{project_id}/versions/{version_id}/diff"
tags: ["project-versions"]
---

# Diff Versions

`GET /v1/projects/{project_id}/versions/{version_id}/diff`

## Request

- Base URL: `https://api.sonenta.dev`
- URL: `https://api.sonenta.dev/v1/projects/{project_id}/versions/{version_id}/diff`
- Auth: none declared

Read-only diff: `{version_id}` (subject) vs `against` (baseline). `added` =
keys present in the subject but not the baseline; `removed` = vice-versa;
`modified` = present in both with >=1 differing translation (value/status/
plural_forms). For modified keys, `from` is the baseline state, `to` the subject.

## Path parameters

- `version_id` string, required
- `project_id` string, required

## Query parameters

- `against` string, required: The baseline version uuid or slug to compare against.
- `namespace` string, nullable: Limit to one namespace slug.
- `language` string, nullable: Limit to one language code.

## Response `200`

Successful Response

- DiffOut
  - `from` VersionRef, required
    - `uuid` string, required
    - `slug` string, required
  - `against` VersionRef, required
    - `uuid` string, required
    - `slug` string, required
  - `summary` DiffSummary, required
    - `keys_added` integer, required
    - `keys_removed` integer, required
    - `keys_modified` integer, required
    - `keys_unchanged` integer, required
  - `added` KeyRef[], required
    - `namespace` string, nullable
    - `name` string, required
  - `removed` KeyRef[], required
    - `namespace` string, nullable
    - `name` string, required
  - `modified` ModifiedKey[], required
    - `namespace` string, nullable
    - `name` string, required
    - `languages` LangChange[], required
      - `language_code` string, required
      - `change` string, required
      - `from` TranslationState
        - `value` string, nullable
        - `status` string, nullable
        - `plural_forms` object, nullable
      - `to` TranslationState
        - `value` string, nullable
        - `status` string, nullable
        - `plural_forms` object, nullable

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/sonenta/apis/sonenta-api.md) · [All operations](https://skmtc.dev/sonenta/apis/sonenta-api/llms.txt) · [OpenAPI document](https://skmtc.dev/sonenta/apis/sonenta-api/revisions/f853ea49fb05?raw)
