---
title: "List files changed between two commits"
method: GET
path: "/api/v4/projects/{id}/repository/changed_paths"
tags: ["repositories"]
---

# List files changed between two commits

`GET /api/v4/projects/{id}/repository/changed_paths`

## Request

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

Returns the path, change status, and file modes for every path that differs between two refs.

## Path parameters

- `id` string, required

## Query parameters

- `from` string, required
- `to` string, required
- `find_renames` boolean
- `page` integer
- `per_page` integer

## Response `200`

List files changed between two commits

- APIEntitiesChangedPath: API_Entities_ChangedPath model
  - `status` string, required
  - `path` string, required
  - `old_path` string, required
  - `old_mode` string, required
  - `new_mode` string, required

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `429`: Too Many Requests

---

[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)
