📡 Spooler Conduit

Feed Management & Distribution API ● LIVE

What is this?

Conduit handles RSS feed ingestion, recurring feed polling, and publishing to third-party platforms (Megaphone, Acast, etc.). It passes audio files to the Media Library for processing.

🔐 Authentication Required

All API endpoints require a bearer token. Include the token in the Authorization header:

Authorization: Bearer YOUR_TOKEN_HERE

📥 One-Time Feed Import

POST /api/v1/feeds

Import all episodes from an RSS/Atom feed into Media Library

GET /api/v1/feeds

List all feeds with status and import progress

GET /api/v1/feeds/:id

Get details for a specific feed

POST /api/v1/feeds/:id/deactivate

Deactivate a feed

DELETE /api/v1/feeds/:id

Delete a feed record

🔄 Recurring Poll Feeds

POST /api/v1/poll_feeds

Create a poll feed (checked every 5 minutes for new/updated items tagged with spooler)

GET /api/v1/poll_feeds

List all poll feeds

PATCH /api/v1/poll_feeds/:id

Update poll feed settings

POST /api/v1/poll_feeds/:id/pause

Pause polling

POST /api/v1/poll_feeds/:id/resume

Resume polling

DELETE /api/v1/poll_feeds/:id

Delete a poll feed

🪝 Webhooks

Subscribe to events and receive HTTP POST notifications. Payloads are signed with HMAC-SHA256 via the X-Conduit-Signature header.

GET /api/v1/webhooks/events

List all available event types

POST /api/v1/webhooks

Create a webhook subscription (url, events[], optional secret)

GET /api/v1/webhooks/:id/deliveries

View recent delivery history and response codes

Quick Links

Example Usage

# Import a feed (one-time)
curl -X POST https://conduit.spooler.fm/api/v1/feeds \
  -H "Authorization: Bearer YOUR_TOKEN_HERE" \
  -H "Content-Type: application/json" \
  -d '{"feed": {"url": "https://example.com/podcast.xml", "auto_transcribe": true}}'

# Create a recurring poll feed
curl -X POST https://conduit.spooler.fm/api/v1/poll_feeds \
  -H "Authorization: Bearer YOUR_TOKEN_HERE" \
  -H "Content-Type: application/json" \
  -d '{"poll_feed": {"url": "https://example.com/feed.rss", "name": "My Show", "auto_transcribe": true}}'

# List poll feeds
curl https://conduit.spooler.fm/api/v1/poll_feeds \
  -H "Authorization: Bearer YOUR_TOKEN_HERE"