Skip to content
ThemeNord

Same themes as the MinusPod app

Default

Catppuccin

Dracula

Nord

Gruvbox

Solarized

Rose Pine

Kanagawa

Ayu

Other

Processing

Processing queue management

Reprocess all episodes for a feed

Queue all processed episodes of a podcast for reprocessing. Useful when ad detection logic has improved and you want to re-detect ads across all episodes.

  • slug (path, string, required): Podcast feed slug identifier
  • mode (string, one of reprocess, full, llm): Processing mode: - reprocess: Use pattern DB + AI (leverages learned patterns) - full: AI only, skip pattern DB (fresh analysis) - llm: Re-detect + re-cut using each saved transcript (skips re-transcription); episodes without a transcript are skipped Default reprocess.
Status Description Body
200 Episodes queued for reprocessing object
400 Bad request - invalid input Error
404 Resource not found Error
  • message (string)
  • queued (integer): Number of episodes queued
  • skipped (integer): Number of episodes skipped
  • mode (string)
  • episodes (object)
  • episodes.queued (array of object)
  • episodes.queued[].episodeId (string)
  • episodes.queued[].title (string)
  • episodes.skipped (array of object)
  • episodes.skipped[].episodeId (string)
  • episodes.skipped[].reason (string)

POST /feeds/{slug}/episodes/{episode_id}/reprocess

Section titled “POST /feeds/{slug}/episodes/{episode_id}/reprocess”

Force reprocess an episode (legacy)

Legacy URL for the mode-aware reprocess endpoint. Accepts the same modes as /episodes/{slug}/{episode_id}/reprocess; the default is reprocess.

  • slug (path, string, required): Podcast feed slug identifier
  • episode_id (path, string, required): Episode identifier: a 12-character MD5-hex string for a subscribed feed’s episode, or an sNNeNN id (e.g. s01e05) for a local feed’s.
  • mode (string, one of reprocess, full, llm, recut): Default reprocess.
Status Description Body
202 Reprocessing started or queued object
400 Bad request - invalid input Error
404 Resource not found Error
409 Episode is currently processing Error
500 Internal server error Error
  • message (string)
  • episodeId (string)
  • mode (string)
  • status (string, one of processing, queued)
  • reason (string)
  • jobState (string, one of queued, processing)

POST /feeds/{slug}/episodes/{episode_id}/queue-priority

Section titled “POST /feeds/{slug}/episodes/{episode_id}/queue-priority”

Change a queued episode’s priority

Direct per-row write on the pending auto_process_queue row (#696). Send priority for an absolute value or delta to nudge the stored one; a delta is applied in SQL so a stepper cannot lose a click to a stale read. Exactly one of the two is required. Unlike the monotonic MAX() rule on re-enqueue, either can raise or lower, and both clamp to [-1000, 1000]. A later feed-level queuePriority change restamps the row and overwrites this value.

  • slug (path, string, required)
  • episode_id (path, string, required)
  • priority (integer): New dequeue priority; higher processes sooner.
  • delta (integer): Amount to add to the stored priority. Applied server-side, then clamped to the same bounds.
Status Description Body
200 Priority updated object
400 Body is not a JSON object, neither or both of priority/delta were given, or the value is not an integer within bounds
404 Feed not found, or the episode has no pending queue row
  • message (string)
  • episodeId (string)
  • slug (string)
  • priority (integer): The priority now stored, after clamping.

POST /feeds/{slug}/episodes/{episode_id}/cancel

Section titled “POST /feeds/{slug}/episodes/{episode_id}/cancel”

Cancel episode processing

Cancel a running or queued episode. If the episode is processing, the worker thread is signalled to stop and the row is reset to pending. If the episode is queued (waiting on the processing lock), it is dropped from the display queue and its auto_process_queue row is closed so the background worker will not pick it up. Returns 400 only when the episode is neither processing nor queued.

  • slug (path, string, required): Podcast feed slug identifier
  • episode_id (path, string, required): Episode identifier: a 12-character MD5-hex string for a subscribed feed’s episode, or an sNNeNN id (e.g. s01e05) for a local feed’s.
Status Description Body
200 Episode canceled (running) or removed from queue (queued) object
400 Episode is neither processing nor queued Error
404 Resource not found Error
  • message (string): “Episode canceled and reset to pending” (running) or “Episode removed from queue” (queued).
  • episodeId (string)
  • slug (string)

List processing and queued episodes

Returns active jobs, then waiting jobs in dequeue order. offset and limit page the waiting list. Queued rows include queuePosition and admission. queueTotal is the full waiting count and excludes active jobs.

  • offset (query, integer): Waiting-list rows to skip (0-based). Defaults to 0.
  • limit (query, integer): Maximum waiting-list rows to return. Defaults to 200, capped at 1000.
Status Description Body
200 List of processing episodes array of ProcessingEpisode