---
title: "Refresh Public Repo"
method: POST
path: "/admin/repos/{repo_id}/refresh"
tags: ["admin"]
---

# Refresh Public Repo

`POST /admin/repos/{repo_id}/refresh`

Force a re-index of any public repo, with no library link required.

Bypasses the weekly per-repo cooldown and the daily fleet ceiling that gate
the anonymous refresh arm: both exist to bound anonymous spend, and neither
describes an operator acting deliberately on one repo. The in-flight
debounce still applies, and the failure backoff still applies unless
``force`` is set.

Runs as ``requested_by="admin"``, which is what makes the resulting
snapshot fan out to *every* linked user rather than to the caller — who,
on a repo they do not own, has no link row to fan out to.

## Path parameters

- `repo_id` string, required

## Request body

- AdminRefreshRequest
  - `force` boolean — Skip the three-consecutive-failures backoff. Does not skip the in-flight debounce, which prevents a double spawn.

## Response `200`

Successful Response

- AdminRefreshResponse
  - `status` string, required
  - `short_id` string, nullable
  - `snapshot_id` string, nullable
  - `debounced` 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-service-production.skmtc.workers.dev/v1/apis/repowise/repowise-hosted-api/revisions/1e57283a9737/schema)
