--- 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.