---
title: "Get File Detail"
method: GET
path: "/snapshots/{snapshot_id}/files/detail"
tags: ["files"]
---

# Get File Detail

`GET /snapshots/{snapshot_id}/files/detail`

One-call canonical file page: wiki, health, git, coverage, graph,
symbols, function blame, governing decisions and dead code.

Every block degrades to None / [] when its layer is absent for the
snapshot, so the page renders on partial indexes.

## Path parameters

- `snapshot_id` string, required

## Query parameters

- `path` string, required — Source file path

## Response `200`

Successful Response

- FileDetailResponse
  - `file_path` string, required
  - `wiki_page` FileWikiPage
    - `id` string
    - `page_id` string
    - `page_type` string
    - `target_path` string
    - `title` string
    - `summary` string
    - `content` string
    - `freshness_status` string
    - `confidence` number
    - `human_notes` string, nullable
    - `updated_at` string, nullable
    - `provider_name` string
    - `model_name` string
    - `parent_page_id` string, nullable
    - `display_order` integer, nullable
    - `section_number` string, nullable
    - `structural_key` string, nullable
    - `has_prose` boolean
  - `health` FileHealthBlock
    - `metric` HealthFileMetric — Per-file aggregate health metric.
      - `file_path` string, required
      - `score` number, required
      - `band` string, nullable
      - `max_ccn` integer
      - `max_nesting` integer
      - `nloc` integer
      - `duplication_pct` number, nullable
      - `has_test_file` boolean
      - `line_coverage_pct` number, nullable
      - `branch_coverage_pct` number, nullable
      - `module` string, nullable
      - `defect_score` number, nullable
      - `maintainability_score` number, nullable
      - `performance_score` number, nullable
      - `performance_findings` integer
      - `performance_analyzed` boolean, nullable
      - `primary_biomarker` string, nullable
      - `primary_reason` string, nullable
      - `total_deduction` number, nullable
      - `top_biomarkers` BiomarkerFinding[]
        - `id` string, required
        - `biomarker_type` string, required
        - `severity` string, required
        - `file_path` string, required
        - `function_name` string, nullable
        - `line_start` integer, nullable
        - `line_end` integer, nullable
        - `details` object
        - `health_impact` number
        - `reason` string
        - `status` string
        - `suggestion` string, nullable
        - `dimension` string
        - `symbol_id` string, nullable
        - `is_test` boolean
      - `is_test` boolean
    - `breakdown` HealthFileBreakdownResponse
      - `file_path` string, required
      - `score` number, required
      - `band` string, nullable
      - `max_ccn` integer, nullable
      - `max_nesting` integer, nullable
      - `nloc` integer, nullable
      - `duplication_pct` number, nullable
      - `has_test_file` boolean, nullable
      - `line_coverage_pct` number, nullable
      - `branch_coverage_pct` number, nullable
      - `module` string, nullable
      - `defect_score` number, nullable
      - `maintainability_score` number, nullable
      - `performance_score` number, nullable
      - `total_deduction` number, nullable
      - `categories` HealthBreakdownCategory[]
        - `category` string, required
        - `cap` number, required
        - `raw_deduction` number, required
        - `applied_deduction` number, required
        - `capped` boolean
        - `finding_count` integer
      - `deductions_by_category` object
      - `findings` BiomarkerFinding[]
        - `id` string, required
        - `biomarker_type` string, required
        - `severity` string, required
        - `file_path` string, required
        - `function_name` string, nullable
        - `line_start` integer, nullable
        - `line_end` integer, nullable
        - `details` object
        - `health_impact` number
        - `reason` string
        - `status` string
        - `suggestion` string, nullable
        - `dimension` string
        - `symbol_id` string, nullable
        - `is_test` boolean
      - `suggestion` string, nullable
      - `state` string
      - `reason` string, nullable
    - `findings` BiomarkerFinding[]
      - `id` string, required
      - `biomarker_type` string, required
      - `severity` string, required
      - `file_path` string, required
      - `function_name` string, nullable
      - `line_start` integer, nullable
      - `line_end` integer, nullable
      - `details` object
      - `health_impact` number
      - `reason` string
      - `status` string
      - `suggestion` string, nullable
      - `dimension` string
      - `symbol_id` string, nullable
      - `is_test` boolean
  - `git` FileGitBlock
    - `path` string
    - `commit_count` integer
    - `commit_count_90d` integer
    - `commit_count_30d` integer
    - `churn_percentile` number
    - `is_hotspot` boolean
    - `is_stable` boolean
    - `bus_factor` integer
    - `contributor_count` integer
    - `primary_owner` string, nullable
    - `primary_owner_commit_pct` number, nullable
    - `last_commit_at` string, nullable
    - `first_commit_at` string, nullable
    - `significant_commits` FileSignificantCommit[]
      - `sha` string, required
      - `date` string, nullable
      - `message` string
      - `author` string
    - `top_authors` FileTopAuthor[]
      - `name` string, required
      - `email` string
      - `commit_count` integer
      - `pct` number
    - `co_change_partners` CoChangePartner[]
      - `file_path` string, required
      - `partner_path` string, required
      - `co_change_count` integer, required
      - `confidence` number
    - `agent` FileGitAgent
      - `agent_commit_count` integer
      - `agent_authored_pct` number, nullable
      - `tier_counts` object
    - `age_days` integer
    - `commit_categories` object
    - `change_entropy_pct` number, nullable
    - `prior_defect_count` integer, nullable
    - `bug_magnet` boolean, nullable
    - `last_fix_at` string, nullable
    - `original_path` string, nullable
    - `commit_count_capped` boolean, nullable
    - `fix_symbol_counts` object
  - `coverage` FileCoverageBlock
    - `line_coverage_pct` number
    - `branch_coverage_pct` number, nullable
    - `total_coverable_lines` integer
    - `covered_lines` integer[]
    - `source_format` string
  - `graph` FileGraphBlock
    - `language` string
    - `is_entry_point` boolean
    - `is_test` boolean
    - `symbol_count` integer
    - `pagerank` number
    - `pagerank_percentile` number
    - `in_degree` integer
    - `out_degree` integer
    - `community_id` integer, nullable
    - `community_label` string, nullable
    - `dependents` FileGraphNeighbor[]
      - `node_id` string, required
      - `node_type` string
      - `language` string, nullable
      - `edge_type` string
      - `imported_names` string[]
    - `dependencies` FileGraphNeighbor[]
      - `node_id` string, required
      - `node_type` string
      - `language` string, nullable
      - `edge_type` string
      - `imported_names` string[]
  - `symbols` FileSymbol[]
    - `symbol_id` string, required
    - `name` string, required
    - `kind` string
    - `signature` string
    - `start_line` integer
    - `end_line` integer
    - `visibility` string
    - `complexity_estimate` number
    - `is_async` boolean
  - `function_blame` FunctionBlameEntry[]
    - `symbol_id` string, required
    - `file_path` string
    - `function_name` string
    - `start_line` integer
    - `end_line` integer
    - `line_count` integer
    - `mod_count` integer
    - `recent_mod_count` integer
    - `median_author_time` integer, nullable
    - `owner_name` string, nullable
    - `owner_email` string, nullable
    - `owner_line_pct` number, nullable
  - `governing_decisions` GoverningDecisionRef[]
    - `id` string, required
    - `title` string
    - `status` string
  - `dead_code` FileDeadCode[]
    - `id` string
    - `kind` string
    - `symbol_name` string, nullable
    - `confidence` number
    - `reason` string
    - `lines` integer
    - `safe_to_delete` boolean

## Other responses

- `422` — Validation Error

---

[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/b717017b882f?raw)
