API reference
REST API for managing podcast feeds with automatic ad detection and removal.
This API allows you to:
- Manage podcast feed subscriptions
- View and manage processed episodes
- Configure ad detection settings including AI model selection
- Monitor system status and trigger cleanup operations
- Manage cross-episode ad patterns with network and podcast scope
- Submit corrections to improve ad detection accuracy
All paths below are relative to /api/v1 on your MinusPod host. Every endpoint needs the session unless it says otherwise.
Flask session cookie issued by POST /auth/login. Every mutating
endpoint normally requires a matching X-CSRF-Token header
(double-submit). /auth/password instead verifies the current
password, or the remote setup token during first setup. Auth routes,
health probes, and public feed-artwork reads declare security: [];
logout still enforces CSRF when its session is authenticated.
The machine-readable spec is openapi.yaml or openapi.json, version 2.101.27. API and webhooks covers authentication, CSRF and webhooks.
| Group | Endpoints | Description |
|---|---|---|
| Auth | 4 | Authentication management. Direct source runs may be passwordless; shipped Compose deployments require first-password setup. |
| Feeds | 25 | Podcast feed management |
| Episodes | 30 | Episode data and transcripts |
| Processing | 5 | Processing queue management |
| Patterns | 35 | Cross-episode ad pattern management |
| Sponsors | 10 | Sponsor name normalization |
| Settings | 68 | Application settings and configuration |
| Status | 4 | Real-time processing status |
| History | 4 | Processing history and statistics |
| System | 24 | System status and maintenance |
| Search | 3 | Full-text search across all content |
| Audio Cue Templates | 21 | Per-podcast learned audio-cue (ding/stinger) templates (#350) |
| Local Feeds | 11 | Local (archive-import) feeds: no upstream RSS, episode upload and edits, and bulk directory/upload import (#625) |
| YouTube | 6 | YouTube playlist and channel feeds: source preview, Data API key test, cookies, and yt-dlp updates. Global settings live under Settings. |
| Failover | 4 | Provider failover (#806): state of the LLM A/B and transcriber failover targets, manual trigger/cancel, and on-demand health probes. |
| Stats | 13 | |
| Podcast Discovery | 1 | |
| Community Patterns | 3 |