---
title: "Get Symbols"
method: GET
path: "/snapshots/{snapshot_id}/symbols"
tags: ["dashboard"]
---

# Get Symbols

`GET /snapshots/{snapshot_id}/symbols`

Paginated symbol list with composite importance ranking.

Hosted backend is artifact-driven — we flatten `parsed_files.json`,
optionally filter by file path, then rank with the same weights as the
OSS `symbol_ranking` service so dashboards stay consistent across
surfaces. The envelope mirrors `Paginated[SymbolResponse]` from OSS so
the shared `@repowise-dev/ui` symbol consumers don't need an adapter.

## Path parameters

- `snapshot_id` string, required

## Query parameters

- `file_path` string, nullable — Exact source file path — drives the hotspot drill-down inline expand.
- `q` string, nullable — Search query (substring match on name)
- `kind` string, nullable — Filter by symbol kind
- `language` string, nullable — Filter by language
- `visibility` string, nullable — Filter by visibility
- `in_hot_files` boolean — Only symbols whose file is a hotspot
- `in_entry_points` boolean — Only symbols in entry-point files
- `bug_fixed` boolean — Only symbols with a counted bug fix
- `sort` string — importance | name | complexity | kind
- `limit` integer
- `offset` integer

## Response `200`

Successful Response

- PaginatedSymbolEntry
  - `items` SymbolEntry[], required
    - `id` string, required
    - `file_path` string, required
    - `name` string, required
    - `qualified_name` string, required
    - `kind` string, required
    - `signature` string
    - `start_line` integer
    - `end_line` integer
    - `docstring` string, nullable
    - `visibility` string
    - `is_async` boolean
    - `complexity_estimate` number
    - `language` string
    - `parent_name` string, nullable
    - `importance_score` number, nullable
    - `importance_components` SymbolImportanceComponents — Breakdown of the composite importance score for transparency. Mirrors `repowise.server.schemas.SymbolImportanceComponents` byte-for-byte so the shared `@repowise-dev/ui` symbol cards render identically. All fields except `is_entry_point` are normalised to [0, 1].
      - `file_pagerank` number
      - `visibility_factor` number
      - `complexity_norm` number
      - `kind_boost` number
      - `is_entry_point` boolean
    - `file_pagerank` number, nullable
    - `is_entry_point` boolean, nullable
    - `file_churn_percentile` number, nullable
    - `file_is_hotspot` boolean, nullable
    - `fix_count` integer, nullable
  - `total` integer, required
  - `has_more` boolean, required
  - `next_offset` integer, nullable

## 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/cce15d886f2b?raw)
