---
title: "Public Scan History"
method: GET
path: "/api/v1/public/scan/{owner}/{repo}/history"
tags: ["public-scan"]
---

# Public Scan History

`GET /api/v1/public/scan/{owner}/{repo}/history`

## Request

- Base URL: `https://agentavow.com` (the document declares no server; this is the origin it was published from)
- URL: `https://agentavow.com/api/v1/public/scan/{owner}/{repo}/history`
- Auth: none declared

Return the score timeline + per-framework scan history for a repo.

Living-record proof: AgentAvow publishes the trail of every score
change and every framework-level scan, not a one-shot PDF. If the
repo is not yet imported as an AgentAvow entity, returns an empty
payload (HTTP 200) — the page will show a "first scan" empty state.

## Path parameters

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

## Response `200`

Successful Response

- ScanHistoryResponse
  - `repo` string, required
  - `entity_id` string, nullable
  - `score_timeline` ScoreTimelinePoint[]
    - `recorded_at` string, required
    - `score` integer, required
  - `framework_scans` FrameworkScanItem[]
    - `framework` string, required
    - `scan_result` string, required
    - `scanned_at` string, required
    - `vulnerabilities_count` integer, required
  - `jws` string, nullable
  - `algorithm` string
  - `key_id` string
  - `jwks_url` string

## Other responses

- `422`: Validation Error

---

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