---
title: "GET /api/repos/{namespace}/{repository}/branch/{tree}/files"
method: GET
path: "/api/repos/{namespace}/{repository}/branch/{tree}/files"
tags: ["repository"]
---

# GET /api/repos/{namespace}/{repository}/branch/{tree}/files

`GET /api/repos/{namespace}/{repository}/branch/{tree}/files`

## Path parameters

- `namespace` string, required
- `repository` string, required
- `tree` string, required

## Response `200`

Recursive file listing with last commit info for each entry

- BranchFilesResponse
  - `files` FileEntry[], required — File entries, capped at 10'000
    - `commit` FileCommitInfo, required
      - `authorEmail` string, required — Author email address
      - `authorName` string, required — Author display name
      - `authorUid` string, uuid, nullable — GitArena user ID of the author
      - `message` string, required — Commit message
      - `time` integer, required — Unix timestamp of the commit
      - `sha1` string, required — SHA1 hash of the commit
    - `fileName` string, required — Full path of the entry relative to the repository root
    - `fileType` 'tree' | 'blob' | 'blobExecutable' | 'link' | 'commit', required
    - `submoduleTargetOid` string, nullable — Target commit OID for submodule entries
  - `truncated` boolean, required — Whether the file listing was truncated due to exceeding the 10'000 entry limit

## Other responses

- `404` — Repository or branch not found

---

[API](https://skmtc.dev/mari/apis/gitarena.md) · [All operations](https://skmtc.dev/mari/apis/gitarena/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/mari/gitarena/revisions/b3640d5600df/schema)
