---
title: "Publish Private Scan"
method: POST
path: "/api/v1/account/private-scan/publish"
tags: ["account"]
---

# Publish Private Scan

`POST /api/v1/account/private-scan/publish`

## 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/account/private-scan/publish`
- Auth: HTTP bearer

Owner-gated opt-in: publish a private repo's grade to the public catalog + search.

Private scans (POST /account/private-scan) deliberately never reach the public
catalog. This endpoint lets the repo owner choose to make a private repo's grade
public and searchable. The supplied GitHub ``token`` proving read access to the
repo IS the authorization — a private repo can't be topic-claimed (our PAT can't
read its topics), so access-via-token is the ownership proof.

Re-scans the repo with the token (transient — never stored or logged, matching the
private_scan guarantees), then upserts the result into CommunityScan so it appears
in the browse catalog and global search. On scan failure / no access → 502/404.

## Headers

- `x-api-key` string, nullable

## Request body

- PrivateScanRequest
  - `owner` string, required
  - `repo` string, required
  - `token` string, required

## Response `200`

Successful Response

- unknown

## 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)
