---
title: "Retrieve a commit diff"
method: GET
path: "/api/v4/projects/{id}/repository/commits/{sha}/diff"
tags: ["commits"]
---

# Retrieve a commit diff

`GET /api/v4/projects/{id}/repository/commits/{sha}/diff`

## Request

- Base URL: `https://gitlab.com`
- URL: `https://gitlab.com/api/v4/projects/{id}/repository/commits/{sha}/diff`
- Auth: none declared

Retrieves the diff of a commit in a project.

## Path parameters

- `id` string, required
- `sha` string, required

## Query parameters

- `page` integer
- `per_page` integer
- `unidiff` boolean

## Response `200`

Retrieve a commit diff

- APIEntitiesDiff[]
  - `diff` string, required
  - `collapsed` boolean, required
  - `too_large` boolean, required
  - `new_path` string, required
  - `old_path` string, required
  - `a_mode` string, required
  - `b_mode` string, required
  - `new_file` boolean, required
  - `renamed_file` boolean, required
  - `deleted_file` boolean, required
  - `generated_file` boolean, required

## Other responses

- `404`: Not found

---

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