---
title: "Get Commit"
method: GET
path: "/snapshots/{snapshot_id}/commits/{sha}"
tags: ["git"]
---

# Get Commit

`GET /snapshots/{snapshot_id}/commits/{sha}`

Single commit with its repo-relative banding + per-feature risk-driver
breakdown (the drivers are serialized by the indexer).

## Path parameters

- `snapshot_id` string, required
- `sha` string, required

## Response `200`

Successful Response

- CommitDetailEntry
  - `sha` string, required
  - `short_sha` string, required
  - `author_name` string
  - `author_email` string
  - `committed_at` string, nullable
  - `subject` string
  - `lines_added` integer
  - `lines_deleted` integer
  - `files_changed` integer
  - `dirs_changed` integer
  - `subsystems_changed` integer
  - `entropy` number
  - `is_fix` boolean
  - `change_risk_score` number, nullable
  - `change_risk_level` string, nullable
  - `risk_percentile` number
  - `review_priority` 'low' | 'moderate' | 'high'
  - `top_driver` string, nullable
  - `author_experience` integer, nullable
  - `author_commit_count` integer, nullable
  - `agent_name` string, nullable
  - `agent_autonomy_tier` integer, nullable
  - `agent_confidence` string, nullable
  - `drivers` RiskDriverEntry[]
    - `feature` string, required
    - `value` number, nullable
    - `contribution` number, required
    - `label` string, required
  - `files` CommitFileEntry[]
    - `path` string, required
    - `lines_added` integer
    - `lines_deleted` integer
    - `prior_fixes` integer, nullable
  - `health` CommitHealthEntry — What a commit did to code health. `@repowise-dev/types::CommitHealth`. `status` is `available` when every changed file was compared, `partial` when some were skipped. `introduced_count + worsened_count` is the true total, so a shorter `findings` list means the rest was not stored.
    - `status` string
    - `introduced_count` integer
    - `worsened_count` integer
    - `resolved_count` integer
    - `files_analyzed` integer
    - `files_skipped` integer
    - `findings` CommitHealthFindingEntry[]
      - `change_kind` string, required
      - `dimension` string, required
      - `biomarker_type` string, required
      - `severity` string, required
      - `severity_before` string, nullable
      - `path` string, required
      - `symbol` string, nullable
      - `line_start` integer, nullable
      - `line_end` integer, nullable
      - `attribution_basis` string, required
      - `reason` string
  - `agent_channel` string, nullable

## Other responses

- `422` — Validation Error

## Changes

- **2026-09-21** `cce15d886f2b` — 2 info
  - added the optional property `files` to the response with the `200` status
  - added the optional property `health` to the response with the `200` status

[Change history](https://skmtc.dev/repowise/apis/repowise-hosted-api/changes/snapshots/:snapshot_id/commits/:sha/get.md)

---

[API](https://skmtc.dev/repowise/apis/repowise-hosted-api.md) · [All operations](https://skmtc.dev/repowise/apis/repowise-hosted-api/llms.txt) · [OpenAPI document](https://skmtc.dev/repowise/apis/repowise-hosted-api/revisions/29a9df53f763?raw)
