releases
Raw release feed and review queue
📄️ List releases ordered by `observed_at` descending. Filters compose.
List releases ordered by `observed_at` descending. Filters compose.
📄️ Bulk-reject a set of review-queue releases. The body's `ids` (or, when empty, the filter fields) select the target set; every matched release is pinned to `rejected` and its candidates dropped in one set-based update.
Bulk-reject a set of review-queue releases. The body's `ids` (or, when
📄️ Bulk-retry a set of review-queue releases. The body's `ids` (or, when empty, the filter fields) select the target set (capped at the per-batch limit). Spawns a background batch under the shared retry-all lock and returns immediately; a concurrent retry-all / bulk-retry reports `skipped: true`. An empty match set is reported as `triggered: false` with `matched: 0` (no batch spawned, nothing skipped).
Bulk-retry a set of review-queue releases. The body's `ids` (or, when
📄️ Re-run the resolver against every release currently visible in the review queue (`unresolved`, `ambiguous`, `review_pending`). With `?includeResolved=true`, also walks `resolved` rows (skipping manually-linked ones). Spawns a background task and returns immediately so the request doesn't block on what can be a multi- minute walk. A dedicated per-process lock prevents a second click from spawning a parallel walk; in that case the response is `{ triggered: false, skipped: true }`.
Re-run the resolver against every release currently visible in the
📄️ Review queue: releases awaiting human attention.
Returns releases whose status is `unresolved`, `ambiguous`, or
📄️ Mark a release as a worthwhile standalone item that is not (and will never be) a tracked series: a guidebook, an artbook, a one-shot. Drops candidates and pins the status to `standalone` so the resolver leaves it alone; unlike `rejected`, these stay browsable in the 'Kept' view. Re-run `retry` to pull one back into the resolution pipeline.
Mark a release as a worthwhile standalone item that is not (and will
📄️ Manually link a release to a series. Body shape:
- `{ 'seriesId': 42 }` — link to an existing series row by internal id.
📄️ Mark a release as 'not a series we care about'. Drops candidates and pins the resolution status to `rejected` so the resolver leaves it alone on subsequent runs.
Mark a release as 'not a series we care about'. Drops candidates and
📄️ Re-run the resolver against a single release. Useful after a provider refresh, a config change, or a manual edit.
Re-run the resolver against a single release. Useful after a provider