title: repository management #
all /repos endpoints that return lists respond with NDJSON by default. send Accept: application/json or Content-Type: application/json to get a JSON array instead.
GET /repos #
get a list of repositories and their sync status. supports pagination and filtering:
| param | description |
|---|---|
limit |
max results (default 100, max 1000) |
cursor |
did key for paginating |
GET /repos/{did} #
get the sync status and metadata of a specific repository. also returns the handle, PDS URL and the atproto signing key (these won't be available before the repo has been backfilled at least once).
PUT /repos #
explicitly track repositories. accepts an NDJSON body of {"did": "..."} (or JSON array of the same). only affects repositories that are not known or are untracked. returns a list of the DIDs that were queued for backfill.
DELETE /repos #
untrack repositories. accepts an NDJSON body of {"did": "..."} (or JSON array of the same). only affects repositories that are currently tracked. returns a list of the DIDs that were untracked.
DELETE /repos/{did} #
untrack a single repository. returns a list containing the untracked DID. does not erase stored bodies from disk (use /redactions for operator data erasure).
POST /redactions/{target} #
operator body redaction. the target parameter accepts a DID (did:plc:... or at://did:plc:...) for full repository redaction, or an AT-URI (at://did/.../collection/rkey or did/.../collection/rkey) for single record redaction.
| query param | values | description |
|---|---|---|
target |
head, history, all |
which body copies to delete (default all) |
exclude |
true, false |
whether to add the DID to /filter excludes (default true for repo redactions) |
returns a JSON DeleteBodiesReport detailing redacted heads, history, event bodies, and byte counts. rejected in ephemeral and links-only modes.
POST /repos/resync #
force a new backfill for one or more repositories. accepts an NDJSON body of {"did": "..."} (or JSON array of the same). only affects repositories hydrant already knows about. returns a list of the DIDs that were queued.