/api/health
get · Public service health.
/api/v1/health
get · Versioned public service health.
/api/docs
get · Read the public human API documentation page.
/api/v1/feeds
get · List public feed sources.post · Submit one public feed URL for durable indexing; bulk ingestion and destructive operations remain protected.
/api/v1/media/{id}
get · Retrieve one canonical persisted public media item and bounded playback candidates.
/api/v1/media/search
get · Search persisted public submissions and the provider-neutral media index; explicit Archive.org searches asynchronously index normalized remote variants.
/api/v1/media/recent
get · List recently published or indexed records from the public provider-neutral media index.
/api/v1/activity/recent
get · List a unified, source-attributed timeline of newly added feeds, playlists, and media records.
/api/v1/activity/played
post · Persist one source-attributed play observation and related metadata for the public recent activity stream.
/api/v1/library
get · Page through the deduplicated public media library across feeds, entries, media, playlists, and playlist items.
/api/v1/library/lookup
get · Find the durable feed, playlist, or media route for one canonical public source URL before resolving it again.
/api/v1/archive/discovery/status
get · Read scheduled Archive.org discovery runs, continuation acceptance history, and aggregate remote-variant verification state.
/api/v1/radio/stations
get · Discover healthy public internet-radio stations through Radio Browser and persist returned station metadata to the public Cloudflare D1 index.
/api/v1/live/channels
get · Discover public live channels through bounded IPTV-org category, country, language, or region playlists and persist returned source metadata to Cloudflare D1.
/api/v1/live/gamestream
get · List bounded, source-attributed GameStream content with an honest RSS fallback when its JSON API is degraded.
/api/v1/media/space
get · Search trusted PlatPhorm Space articles and public YouTube media with bounded API and RSS fallback behavior.
/api/v1/media/relay
get · Stream one resolved public media URL through a short-lived signed Cloudflare relay.head · Inspect a signed on-demand media relay response without transferring its body.
/api/v1/playback/resolve
get · Describe the in-app playback verification contract.post · Verify a relay, browser-capable direct source, or allowlisted provider embed before any Play control is enabled.
/api/v1/media/variants/verify
post · Persist verification state for already-indexed media variants in Cloudflare D1.
/api/v1/operations/dead-letters
get · List bounded durable dead-letter records from the Cloudflare Queue consumer.
/api/v1/operations/duplicates
get · Inspect recent protected duplicate cleanup runs and duplicate-to-canonical ledger entries.post · Preview or apply recoverable duplicate cleanup without deleting source records.
/api/v1/operations/ranking-materialization
get · Inspect persisted ranking-signal rollups and recent materialization runs.post · Queue a fresh ranking-signal materialization run.
/api/v1/operations/maintenance-workflows
get · Inspect durable Cloudflare maintenance Workflow lifecycle state.post · Start one durable Cloudflare maintenance Workflow instance.
/api/v1/rsscloud/registrations
get · Inspect protected RSSCloud registration, renewal, challenge, and notification evidence.post · Opt one persisted RSSCloud-declaring feed into callback registration.
/api/v1/operations/playlist-continuation-fixture
get · Inspect the internal 125-item production continuation fixture and its D1 refresh ledger.post · Assert, seed, or advance the internal production continuation fixture.
/api/v1/operations/dead-letters/{id}
get · Inspect one durable dead-letter record and its safe replay metadata.
/api/v1/operations/dead-letters/{id}/replay
post · Replay one pending, replay-safe dead-letter job through the primary Cloudflare Queue.
/api/v1/operations/dead-letters/{id}/dismiss
post · Dismiss one pending dead-letter record without deleting its evidence.
/api/v1/community/actions
get · Read persisted public curation actions for one indexed target.post · Record one anonymous daily community curation action with a scoped fingerprint.
/api/v1/community/remediation
post · Queue one authenticated community report for durable Cloudflare remediation processing.
/api/v1/source-follows
get · Read the public follow state for one canonical source.post · Persist an idempotent follow for one canonical public source.
/api/v1/feed-catalog
get · List verified live podcast feeds and their dynamic playlist targets.
/api/v1/ingest
get · Describe public single-source podcast indexing ingest.post · Ingest one public URL, feed, provider collection, direct media source, or iframe/embed snippet through the canonical resolver; bulk insertion and destructive operations remain protected.
/api/v1/ingest/dry-run
post · Public dry-run URL resolution and feed parser evidence without server-side persistence.
/api/v1/resolve
get · Describe the URL resolver.post · Resolve and persist RSS, Atom, JSON Feed, JSON:API compound catalogs, platform, playlist, episode, host, and direct media URLs with typed source observations, aliases, feed refresh state, and playable or honestly degraded capability evidence.
/api/v1/imports/{id}
get · Read durable source-import progress by job id or playlist id.
/api/v1/storage/status
get · Runtime storage mode and archive configuration status.
/api/v1/archive/remote-status
get · Read-only status of the configured Cloudflare archive Worker connection.
/api/v1/analysis
post · Publicly persist one bounded, source-grounded analysis result or evidence record in the Cloudflare archive.
/api/v1/providers/archive-org/items/{identifier}
get · Normalize one Archive.org item and its playable remote variants on demand without mirroring media bytes.post · Persist normalized Archive.org metadata, attribution, rights, and remote URI variants in D1.
/api/v1/discovery
get · Public discovery manifest for Podcasts routes, capabilities, MCP, LLMS, graph, and Web Status.
/api/v1/metrics
get · Public-safe runtime metrics from real archive, share, category, tag, and storage state.
/api/v1/feeds/{id}
get · Get a feed source.put · Non-destructive feed source update status with runtime operator controls.delete · Non-destructive archive request with runtime operator controls.
/api/v1/feeds/{id}/sync
post · Resync an indexed public feed source with operator controls.
/api/v1/feeds/{id}/refresh
post · Scheduled or persistent feed refresh with runtime operator controls.
/api/v1/feeds/{id}/entries
get · List entries for one feed.
/api/v1/feeds/{id}/episodes
get · List playable episodes for one feed with pagination.
/api/v1/feeds/{id}/status
get · Get feed sync and archive status.
/api/v1/entries
get · List archived entries.
/api/v1/entries/search
get · Search archived entries.
/api/v1/entries/recent
get · List recent archived entries.
/api/v1/entries/archive
get · List archive entries and policy.
/api/v1/entries/{id}
get · Read one archived entry.
/api/v1/shows
get · List podcast shows/feed sources.
/api/v1/shows/{id}
get · Read one show.
/api/v1/shows/{id}/episodes
get · List show episodes.
/api/v1/episodes
get · List audio episodes.post · Resolve and record one public episode URL; bulk insertion and destructive operations remain protected.
/api/v1/episodes/{id}
get · Read one audio episode.
/api/v1/episodes/{id}/playback-url
get · Resolve a public remote or saved media playback URL for an episode.
/api/v1/episodes/{id}/archive
post · Saved media archive of a public remote audio enclosure with runtime operator controls.
/api/v1/episodes/{id}/score-emoji
post · Emoji scoring adapter with runtime operator controls. No score is claimed without an upstream Emoji response.
/api/v1/playlists
get · List public or local-compatible playlist records when persistence exists.post · Create a durable playlist record through the protected Cloudflare D1 application-record boundary.
/api/v1/playlists/{id}
get · Read one playlist record.put · Durable playlist persistence update with runtime operator controls.
/api/v1/playlists/{id}/items
post · Compatibility route for adding an item through the canonical durable playlist persistence and discovery workflow.
/api/v1/share
post · Create a public-safe share packet for an episode, clip, or playlist.
/api/v1/shares/{id}
get · Read a packet share page payload when encoded in the share id.
/api/v1/clip/dry-run
post · Create a local clip preview without saving an artifact.
/api/v1/clip
post · Saved clip generation with runtime operator controls and honest degraded state.
/api/v1/clips
get · List saved clips when configured.
/api/v1/clips/{id}
get · Read one saved clip manifest.
/api/v1/search
get · Search feed sources, episodes, and entries from real archive state.
/api/ai/chat
get · Describe the single universal grounded media prompt and its configured model provider.post · Search real indexed/provider records or classify one public URL for resolution; optional response generation uses Vercel AI Gateway and never invents records.
/api/ai/analyze
get · Describe the grounded entry-analysis provider architecture and durable persistence status.post · Publicly analyze one real archived entry with the shared Gateway-primary/Workers AI-fallback policy; raw durable writes remain server-protected.
/api/ai/recommend
get · Describe the grounded recommendation provider architecture and status.post · Publicly recommend real indexed sources or return an unsaved playable playlist draft from publisher enclosures; persistence remains an explicit canonical playlist action.
/api/v1/categories
get · List categories from real feed and entry state.
/api/v1/tags
get · List tags from real feed and entry state.
/api/v1/sources
get · List public L0-L3 content sources from the durable Cloudflare registry, with provenance and health metadata.post · Publicly submit one inspected content source to the durable registry; bulk and administrative insertion remain protected.
/api/v1/community/remediations/{id}
get · Read a public-safe remediation case or request the protected operator projection.post · Record a protected remediation transition or dispatch a bounded Jules pull-request session.
/api/v1/discover
post · Inspect and normalize one public feed, playlist, stream, or publisher surface without durable persistence.
/api/v1/validate/feed
post · Public feed validation dry-run with parser evidence.
/api/v1/validate/xml
post · XML validation adapter with local preflight; no external validation is claimed without service evidence.
/api/v1/validate/json
post · JSON validation adapter with local preflight; no external validation is claimed without service evidence.
/api/v1/integrations/status
get · Public-safe integration status for XML, JSON, Emoji, OpenContent, API analytics, and media storage.
/api/v1/status
get · Podcast product and Web Status summary.
/api/v1/opml/export
get · Export public feed sources as OPML.
/api/v1/opml/import
post · Bulk OPML feed import for public feed indexing.
/api/web/status
get · Web Status payload using schema web.status.v1.
/api/web/manifest
get · Public Web manifest for Podcasts.
/api/web/scorecard
get · Public Web scorecard.
/api/web/fingerprints
get · Public-safe fingerprints for routes, LLMS, OpenAPI, AsyncAPI, MCP, and policies.
/api/provenance/lookup
get · Public provenance lookup.
/api/provenance/verify
get · Public provenance verification.
/api/graph
get · Podcast graph nodes and edges.
/api/network/graph
get · Podcast graph exposed at network graph route.
/api/mcp
get · MCP metadata.post · JSON-RPC 2.0 MCP endpoint.
/sitemap.xml
get · Local product sitemap.
/sitemap-index.xml
get · Sitemap index for local, network, and full discovery.
/sitemap-network.xml
get · Bounded dual-source PlatPhorm network sitemap.
/sitemap-full.xml
get · Combined podcast product and PlatPhorm network sitemap.