---
title: "Return project relationship graph nodes, edges, stats, summary, next actions, project context, relationship groups, and migration paths for one project."
method: GET
path: "/api/graph/{owner}/{repo}"
---

# Return project relationship graph nodes, edges, stats, summary, next actions, project context, relationship groups, and migration paths for one project.

`GET /api/graph/{owner}/{repo}`

## Request

- Base URL: `https://git.top`
- URL: `https://git.top/api/graph/{owner}/{repo}`
- Auth: none declared

## Path parameters

- `owner` string, required
- `repo` string, required

## Query parameters

- `limit` string
- `require_d1` string

## Response `200`

Focused project knowledge graph with graph_stats, summary, next_actions, grouped alternatives, heuristic migration paths, related projects, dependencies, deployment targets, and use cases

- GraphResponse
  - `focus` string
  - `resolved_from` object
  - `project` GraphProjectContext
    - `repo` string
    - `name` string
    - `description` string
    - `maintainer` string
    - `license` string, nullable
    - `language` string, nullable
    - `recent_activity` string
  - `summary` string
  - `graph_stats` object, required
  - `next_actions` NextAction[]
    - `label` string
    - `href` string
    - `kind` string
  - `relationship_groups` object
  - `migration_paths` MigrationPath[]
    - `from` string, required
    - `to` string, required
    - `compatibility` 'high' | 'medium' | 'low' | 'unknown', required
    - `estimated_cost` 'low' | 'medium' | 'high' | 'unknown', required
    - `shared_signals` string[], required
    - `gaps` string[], required
    - `validation_steps` string[], required
    - `evidence` string[], required
  - `nodes` GraphNode[], required
    - `id` string, required
    - `label` string, required
    - `kind` 'project' | 'category' | 'deployment' | 'use_case' | 'dependency', required
    - `score` number
    - `repo` string
  - `edges` GraphEdge[], required
    - `source` string, required
    - `target` string, required
    - `kind` 'alternative' | 'related' | 'category' | 'deployment' | 'use_case' | 'dependency', required
    - `reason` string
    - `weight` number, required
  - `evidence` NormalizedEvidence: Normalized evidence package for agent citation and caveat handling.
    - `classification` object
    - `quality_signal_confidence` QualitySignalConfidence: Completeness hints for GitHub-derived score inputs. Agents should avoid overclaiming partial or unknown signals.
      - `stars_30d_delta` 'snapshot' | 'estimated'
      - `stars_30d_window_days` integer
      - `commits_30d` 'complete' | 'partial' | 'unknown'
      - `releases_180d` 'complete' | 'partial' | 'unknown'
      - `contributors_90d` 'complete' | 'partial' | 'unknown'
    - `verification` VerificationPackage: Structured verification coverage for project selection. It does not claim install, security, runtime, or MCP execution unless a signal is verified.
      - `schema_version` 'git-top.verification.v1', required
      - `overall_status` 'complete' | 'partial' | 'unverified', required
      - `observed_at` string, date-time, nullable, required
      - `signals` object, required
        - `activity` VerificationSignal, required: One project verification signal. observed and inferred are indexed evidence; not_run means the independent probe has not been executed.
          - `status` 'verified' | 'observed' | 'inferred' | 'not_run' | 'not_applicable' | 'unknown', required
          - `source` 'github_metadata' | 'git_top_heuristic' | 'git_top_runtime', required
          - `evidence` string[], required
        - `license` VerificationSignal, required: One project verification signal. observed and inferred are indexed evidence; not_run means the independent probe has not been executed.
          - `status` 'verified' | 'observed' | 'inferred' | 'not_run' | 'not_applicable' | 'unknown', required
          - `source` 'github_metadata' | 'git_top_heuristic' | 'git_top_runtime', required
          - `evidence` string[], required
        - `documentation` VerificationSignal, required: One project verification signal. observed and inferred are indexed evidence; not_run means the independent probe has not been executed.
          - `status` 'verified' | 'observed' | 'inferred' | 'not_run' | 'not_applicable' | 'unknown', required
          - `source` 'github_metadata' | 'git_top_heuristic' | 'git_top_runtime', required
          - `evidence` string[], required
        - `runtime` VerificationSignal, required: One project verification signal. observed and inferred are indexed evidence; not_run means the independent probe has not been executed.
          - `status` 'verified' | 'observed' | 'inferred' | 'not_run' | 'not_applicable' | 'unknown', required
          - `source` 'github_metadata' | 'git_top_heuristic' | 'git_top_runtime', required
          - `evidence` string[], required
        - `install` VerificationSignal, required: One project verification signal. observed and inferred are indexed evidence; not_run means the independent probe has not been executed.
          - `status` 'verified' | 'observed' | 'inferred' | 'not_run' | 'not_applicable' | 'unknown', required
          - `source` 'github_metadata' | 'git_top_heuristic' | 'git_top_runtime', required
          - `evidence` string[], required
        - `security` VerificationSignal, required: One project verification signal. observed and inferred are indexed evidence; not_run means the independent probe has not been executed.
          - `status` 'verified' | 'observed' | 'inferred' | 'not_run' | 'not_applicable' | 'unknown', required
          - `source` 'github_metadata' | 'git_top_heuristic' | 'git_top_runtime', required
          - `evidence` string[], required
        - `mcp` VerificationSignal, required: One project verification signal. observed and inferred are indexed evidence; not_run means the independent probe has not been executed.
          - `status` 'verified' | 'observed' | 'inferred' | 'not_run' | 'not_applicable' | 'unknown', required
          - `source` 'github_metadata' | 'git_top_heuristic' | 'git_top_runtime', required
          - `evidence` string[], required
      - `coverage` object, required
        - `observed` integer, required
        - `inferred` integer, required
        - `not_run` integer, required
        - `unknown` integer, required
      - `next_steps` string[], required
    - `source_fields` string[]
    - `caveats` string[]
    - `confidence_reason` string
    - `last_verified_at` string, date-time, nullable
  - `caveats` string[]
  - `confidence_reason` string
  - `source_fields` string[]
  - `last_verified_at` string, date-time, nullable
  - `metadata` Metadata, required: Common provenance envelope for agent-facing responses. Agents should require source=d1 for high-confidence production claims and disclose seed fallback.
    - `source` 'd1' | 'seed'
    - `reason` string
    - `project_count` integer
    - `generated_at` string, date-time
    - `snapshot_id` string: Stable identity for the corpus snapshot used by this response.
    - `latest_synced_at` string, date-time, nullable
    - `schema_version` 'git-top.knowledge.v1'
    - `loaded_project_limit` integer: Maximum D1 knowledge or search-candidate rows loaded into the bounded ranking set when present.
    - `truncated` boolean: Whether the D1-backed ranking or candidate set reached its limit and may omit additional matching rows.
    - `candidate_retrieval` 'd1_first': Search-only marker indicating that deterministic filters and broad query matching ran in D1 before TypeScript ranking.
    - `candidate_count` integer: Number of D1 search candidates passed to the authoritative TypeScript filter and ranking stage.
    - `candidate_limit` integer: Maximum number of D1 search candidates passed to the ranking stage.
    - `warnings` string[]: Fallback, count, freshness, or trust caveats that agents should account for before citing results.

---

[API](https://skmtc.dev/git/apis/git-top-agent-api.md) · [All operations](https://skmtc.dev/git/apis/git-top-agent-api/llms.txt) · [OpenAPI document](https://skmtc.dev/git/apis/git-top-agent-api/revisions/c9ebf661ef6d?raw)
