---
title: "List repository commits"
method: GET
path: "/api/v1/cache/r/{repoId}/commits"
tags: ["Commits"]
---

# List repository commits

`GET /api/v1/cache/r/{repoId}/commits`

## Request

- Base URL: `https://entire.io` (the document declares no server; this is the origin it was published from)
- URL: `https://entire.io/api/v1/cache/r/{repoId}/commits`
- Auth: none declared

Returns one cursor or offset page of commits for a repository branch.

## Path parameters

- `repoId` string, required

## Query parameters

- `branch` string
- `source` 'github'
- `since` string
- `until` string
- `cursor` string
- `offset` integer
- `limit` integer

## Response `200`

Commit list

- object
  - `commits` object[], required
    - `commitSha` string, required
    - `commitMessage` string, nullable, required
    - `commitSubject` string, nullable, required
    - `commitBody` string, nullable, required
    - `commitAuthor` string, nullable, required
    - `commitAuthorUsername` string, nullable, required
    - `commitAuthorIdentity` object, nullable
      - `kind` string, required
      - `account_id` string, nullable, required
      - `username` string
      - `display_name` string, nullable, required
      - `avatar_url` string, nullable, required
      - `handles` object[], required
        - `provider` string, required
        - `handle` string, required
        - `is_primary` boolean
      - `automation` object
        - `plugin` string
        - `installation_id` string
        - `automation_id` string
    - `commitAuthorAvatarUrl` string, nullable
    - `commitDate` string, nullable, required
    - `additions` number, nullable, required
    - `deletions` number, nullable, required
    - `filesChanged` number, nullable, required
    - `statsPending` boolean
    - `parentSha` string, nullable
    - `filesTouched` string[], nullable, required
    - `fileStats` object[], nullable, required
      - `filename` string, required
      - `status` 'added' | 'removed' | 'modified' | 'renamed' | 'copied' | 'changed' | 'unchanged', required
      - `additions` number, required
      - `deletions` number, required
      - `patch` string, nullable
      - `patchTruncated` boolean
    - `url` string, nullable, required
    - `checkpoints` object[], required
      - `commitSha` string, nullable, required
      - `commitMessage` string, nullable, required
      - `commitSubject` string, nullable, required
      - `commitBody` string, nullable, required
      - `commitAuthor` string, nullable, required
      - `commitAuthorUsername` string, nullable, required
      - `commitAuthorAvatarUrl` string, nullable
      - `commitDate` string, nullable, required
      - `additions` number, nullable, required
      - `deletions` number, nullable, required
      - `filesChanged` number, nullable, required
      - `fileStats` object[], nullable, required
        - `filename` string, required
        - `status` 'added' | 'removed' | 'modified' | 'renamed' | 'copied' | 'changed' | 'unchanged', required
        - `additions` number, required
        - `deletions` number, required
        - `patch` string, nullable
        - `patchTruncated` boolean
      - `filesTouched` string[], nullable, required
      - `checkpointId` string, required
      - `createdAt` string
      - `sessions` object[], required
        - `prompt` string, nullable, required
        - `prompt_redacted` boolean
        - `displayName` string
        - `agent` string, required
        - `steps` number, required
        - `kind` 'agent_review', nullable
        - `sessionId` string
        - `model` string
      - `sessionCount` number, required
      - `totalSteps` number, required
      - `agents` string[], required
      - `inputTokens` number, nullable, required
      - `outputTokens` number, nullable, required
      - `attribution` object, nullable, required
        - `calculatedAt` string, required
        - `agentLines` number, required
        - `humanAdded` number, required
        - `humanModified` number, required
        - `humanRemoved` number, required
        - `totalCommitted` number, required
        - `agentPercentage` number, required
      - `checkpointRepoFullName` string, nullable, required
  - `repo_full_name` string, required
  - `updated_at` string, required
  - `from_cache` boolean, required
  - `app_has_access` boolean, nullable, required
  - `session_branch_exists` boolean, nullable, required
  - `history_status` 'pending' | 'syncing' | 'complete' | 'error', nullable
  - `history_complete` boolean
  - `history_pages_fetched` number
  - `has_more` boolean
  - `next_offset` number, nullable
  - `next_cursor` string, nullable

## Other responses

- `404`: Repository or branch not found
- `429`: Rate limit exceeded
- `503`: Repository service unavailable

## Changes

- **2026-10-26** `48fd0da2ede7`: 2 info
  - added the optional property `commits/items/commitAuthorAvatarUrl` to the response with the `200` status
  - added the optional property `commits/items/commitAuthorIdentity` to the response with the `200` status
- **2026-10-20** `aeb83a0fe3e5`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/entire/apis/entire-api/changes/api/v1/cache/r/:repoId/commits/get.md)

---

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