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

# List Commits

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

## Request

- Base URL: `https://api.git.mari.zip` (the document declares no server; this is the origin it was published from)
- URL: `https://api.git.mari.zip/api/repos/{namespace}/{repository}/branch/{tree}/commits`
- Auth: one of:
  - none
  - API key in cookie `gitarena-session`
- TypeScript: <https://skmtc.dev/mari/apis/gitarena/docs/api/repos/:namespace/:repository/branch/:tree/commits/get.ts> (a function with typed inputs; its response is checked against the schema)

## Path parameters

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

## Query parameters

- `limit` integer
- `offset` integer
- `sort` 'desc' | 'asc'
- `path` string

## Response `200`

Paginated list of commits on the branch

- BranchCommitsResponse
  - `commits` 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

## Other responses

- `404`: Repository or branch not found

## Changes

- **2026-10-29** `efaeb85ac1be`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/mari/apis/gitarena/changes/api/repos/:namespace/:repository/branch/:tree/commits/get.md)

---

[API](https://skmtc.dev/mari/apis/gitarena.md) - [All operations](https://skmtc.dev/mari/apis/gitarena/llms.txt) - [OpenAPI document](https://skmtc.dev/mari/apis/gitarena/revisions/0469502760df?raw)
