---
title: "List all repository trees in a project"
method: GET
path: "/api/v4/projects/{id}/repository/tree"
tags: ["repositories"]
---

# List all repository trees in a project

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

## Request

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

Lists all repository files and directories in a specified project. This endpoint can be accessed without authentication if the repository is publicly accessible. This command provides essentially the same features as the `git ls-tree` command. Use `with_last_commit` to include the last commit that changed each entry. `with_last_commit` cannot be combined with `recursive`.

## Path parameters

- `id` string, required

## Query parameters

- `ref` string
- `path` string
- `recursive` boolean
- `with_last_commit` boolean
- `page` integer
- `per_page` integer
- `pagination` 'legacy' | 'keyset' | 'none'
- `page_token` string

## Response `200`

List all repository trees in a project

- APIEntitiesTreeObject: API_Entities_TreeObject model
  - `id` string, required
  - `name` string, required
  - `type` string, required
  - `path` string, required
  - `mode` string, required
  - `last_commit` APIEntitiesCommit: API_Entities_Commit model
    - `id` string, required
    - `short_id` string, required
    - `created_at` string, date-time, required
    - `parent_ids` string[], required
    - `title` string, required
    - `message` string, required
    - `author_name` string, required
    - `author_email` string, required
    - `authored_date` string, date-time, required
    - `committer_name` string, required
    - `committer_email` string, required
    - `committed_date` string, date-time, required
    - `trailers` object, required
    - `extended_trailers` object, required
    - `web_url` string, required

## Other responses

- `400`: Bad Request
- `404`: 404 Project 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)
