{"schemaVersion":"llms-index.v1","service":"platphorm-podcasts","version":"1.1.1","baseUrl":"https://podcasts.platphormnews.com","canonical":"https://podcasts.platphormnews.com","purpose":"Public Media Library and Source-Attributed Player: Ask once or paste one public URL. Find, resolve, play, save, and share podcasts, radio, recordings, music, and playlists with attribution.","links":[{"url":"https://podcasts.platphormnews.com/llms.txt","type":"text/plain","purpose":"concise agent guidance and safe public entry points"},{"url":"https://podcasts.platphormnews.com/llms-full.txt","type":"text/plain","purpose":"expanded route, MCP, and protocol reference"},{"url":"https://podcasts.platphormnews.com/agents.md","type":"text/markdown","purpose":"operational when-to-use, authentication, and safety instructions"},{"url":"https://podcasts.platphormnews.com/openapi.json","type":"application/json","purpose":"typed REST API contract"},{"url":"https://podcasts.platphormnews.com/.well-known/agents.json","type":"application/json","purpose":"public and protected agent policy"}],"files":[{"url":"https://podcasts.platphormnews.com/llms.txt","type":"text/plain","purpose":"concise agent guidance and safe public entry points"},{"url":"https://podcasts.platphormnews.com/llms-full.txt","type":"text/plain","purpose":"expanded route, MCP, and protocol reference"},{"url":"https://podcasts.platphormnews.com/agents.md","type":"text/markdown","purpose":"operational when-to-use, authentication, and safety instructions"},{"url":"https://podcasts.platphormnews.com/openapi.json","type":"application/json","purpose":"typed REST API contract"},{"url":"https://podcasts.platphormnews.com/.well-known/agents.json","type":"application/json","purpose":"public and protected agent policy"}],"documents":[{"url":"https://podcasts.platphormnews.com/llms.txt","type":"text/plain","purpose":"concise agent guidance and safe public entry points","href":"https://podcasts.platphormnews.com/llms.txt","rel":"llms"},{"url":"https://podcasts.platphormnews.com/llms-full.txt","type":"text/plain","purpose":"expanded route, MCP, and protocol reference","href":"https://podcasts.platphormnews.com/llms-full.txt","rel":"llms-full"},{"url":"https://podcasts.platphormnews.com/agents.md","type":"text/markdown","purpose":"operational when-to-use, authentication, and safety instructions","href":"https://podcasts.platphormnews.com/agents.md","rel":"agent-instructions"},{"url":"https://podcasts.platphormnews.com/openapi.json","type":"application/json","purpose":"typed REST API contract","href":"https://podcasts.platphormnews.com/openapi.json","rel":"service-desc"},{"url":"https://podcasts.platphormnews.com/.well-known/agents.json","type":"application/json","purpose":"public and protected agent policy","href":"https://podcasts.platphormnews.com/.well-known/agents.json","rel":"agent-manifest"}],"api":{"specification":"https://podcasts.platphormnews.com/openapi.json","documentation":"https://podcasts.platphormnews.com/api/docs"},"webStatus":{"url":"https://podcasts.platphormnews.com/web/status","schemaVersion":"web.status.v1","observationMode":"cached_backend_status","providerProbeMode":"no_request_fanout","systems":["vercelFrontend","cloudflareWorker","d1","kv","r2","queues","workflows","search","ranking","ai","localeLocality","relay","providerHealth","rss","openapi","mcp","pwa"]},"auth":{"publicReadOnly":true,"publicIndexing":true,"protectionEnv":"PLATPHORM_PROTECTED","operatorModeEnabled":false,"backendKeyPolicy":"server-side PLATPHORM_API_KEY when operator controls are enabled"},"feeds":{"count":0,"source":"persistent archive registry","sample":[],"formats":["RSS 2.0","Atom","JSON Feed","Media RSS"],"redirectPolicy":"bounded HTTP and RSS Advisory Board XML redirects with persisted source lineage","rssCloud":{"declarationsObserved":true,"registration":"protected_opt_in","callback":"token_scoped","renewal":"scheduled_23h"}},"entries":{"count":0,"archiveBehavior":"Cloudflare D1 archive is available for durable feed and entry reads."},"shows":{"count":0},"episodes":{"count":0},"aiPrompt":{"route":"https://podcasts.platphormnews.com/api/ai/chat","provider":"vercel-ai-gateway","model":"openai/gpt-5.4","status":"degraded","retrievalFirst":true,"noFakeAnswers":true},"archiveStats":{"persistence":"persistent","persistenceAvailable":true,"persistenceMessage":"Cloudflare D1 archive is available for durable feed and entry reads.","feedCount":0,"entryCount":0,"episodeCount":0,"categories":null,"tags":null,"taxonomyCountSource":"unavailable","lastSuccessfulFetchAt":null},"tools":["get_podcasts_info","get_podcasts_status","get_storage_status","resolve_podcast_url","inspect_media_reference","discover_radio_stations","discover_live_channels","validate_feed_dry_run","validate_xml_feed","validate_json_feed","list_feeds","get_feed","list_episodes","get_episode","search_podcasts","search_media","get_media","get_collection","resolve_source","validate_source","list_live_media","list_nearby_stations","get_playback_capability","get_attribution","get_ranking","get_discovery_graph","compose_playlist","create_playlist","list_playlists","get_playlist","list_tags","list_categories","get_playback_info","create_share_packet","get_share_page","list_podcast_examples","get_integrations_status","get_web_status","get_maintenance_workflow_status","get_web_manifest","list_podcasts_fingerprints","lookup_podcasts_provenance","verify_podcasts_provenance","ingest_feed","refresh_feed","ingest_episode","archive_episode_media","create_clip","persist_playlist","generate_tags","score_episode_emoji","publish_show_to_opencontent","publish_summary_to_docs","export_episodes_to_sheets","validate_feed_with_spec","register_feed_with_monitor","launch_browserops_journey","create_evals_suite","create_agentui_workflow","create_claws_toolchain","register_catalog_capability","send_trace_update","rebuild_podcasts_fingerprints","create_podcasts_provenance"],"publicMcpTools":["get_podcasts_info","get_podcasts_status","get_storage_status","resolve_podcast_url","inspect_media_reference","discover_radio_stations","discover_live_channels","validate_feed_dry_run","validate_xml_feed","validate_json_feed","list_feeds","get_feed","list_episodes","get_episode","search_podcasts","search_media","get_media","get_collection","resolve_source","validate_source","list_live_media","list_nearby_stations","get_playback_capability","get_attribution","get_ranking","get_discovery_graph","compose_playlist","create_playlist","list_playlists","get_playlist","list_tags","list_categories","get_playback_info","create_share_packet","get_share_page","list_podcast_examples","get_integrations_status","get_web_status","get_maintenance_workflow_status","get_web_manifest","list_podcasts_fingerprints","lookup_podcasts_provenance","verify_podcasts_provenance"],"operatorMcpTools":["ingest_feed","refresh_feed","ingest_episode","archive_episode_media","create_clip","persist_playlist","generate_tags","score_episode_emoji","publish_show_to_opencontent","publish_summary_to_docs","export_episodes_to_sheets","validate_feed_with_spec","register_feed_with_monitor","launch_browserops_journey","create_evals_suite","create_agentui_workflow","create_claws_toolchain","register_catalog_capability","send_trace_update","rebuild_podcasts_fingerprints","create_podcasts_provenance"],"resources":["podcasts://feeds","podcasts://feed/{id}","podcasts://episodes","podcasts://media-inspection","podcasts://live-channels","podcasts://episode/{id}","podcasts://playlists","podcasts://shares","podcasts://clips","podcasts://integrations","podcasts://archive-status","podcasts://metrics","podcasts://examples","podcasts://llms","podcasts://openapi","podcasts://web-status"],"prompts":["import_podcast_feed","resolve_podcast_link","create_cross_platform_playlist","create_podcast_playlist","create_podcast_clip","publish_podcast_to_opencontent","create_podcast_docs_summary","export_podcast_sheet_matrix","validate_podcast_feed","create_podcast_browserops_journey","create_podcast_evals_suite"],"trustedDomains":["platphormnews.com","*.platphormnews.com","innovativefuturesolutions.com","*.innovativefuturesolutions.com"],"routeStandard":["/","/listen","/library","/live","/search","/submit","/add-feed","/resolve","/feeds","/episodes","/queue","/playlists","/clips","/archive","/archive/status","/integrations","/docs","/faq","/privacy","/terms","/security","/data","/agents","/trust","/web","/web/status","/web/fingerprints","/web/provenance","/api/health","/api/v1/health","/api/v1/status","/api/v1/storage/status","/api/v1/discovery","/api/v1/metrics","/api/v1/resolve","/api/v1/imports/[id]","/api/v1/ingest/dry-run","/api/v1/feeds","/api/v1/feeds/[id]","/api/v1/feeds/[id]/episodes","/api/v1/episodes","/api/v1/shares/[id]","/api/v1/validate/feed","/api/v1/validate/xml","/api/v1/validate/json","/api/v1/search","/api/v1/media/search","/api/v1/media/recent","/api/v1/media/[id]","/api/v1/radio/stations","/api/v1/live/channels","/api/v1/playback/resolve","/api/v1/analysis","/api/ai/chat","/api/ai/analyze","/api/ai/recommend","/api/v1/integrations/status","/api/web/status","/api/web/manifest","/api/web/scorecard","/api/web/fingerprints","/api/docs","/openapi.yaml","/openapi.json","/asyncapi.yaml","/llms.txt","/llms-full.txt","/llms-index.json","/agents.md","/rss.xml","/feed.xml","/atom.xml","/feed.json","/sitemap.xml","/sitemap-main.xml","/sitemap-index.xml","/sitemap-network.xml","/sitemap-full.xml","/robots.txt","/manifest.webmanifest","/graph.json","/podcasts.graph.json","/api/graph","/api/network/graph","/api/mcp","/.well-known/web.json","/.well-known/web4.json","/.well-known/mcp.json","/.well-known/agents.json","/.well-known/api-catalog","/.well-known/agent-policy.json","/.well-known/ai-policy.json","/.well-known/security.txt","/.well-known/trust.json","/.well-known/provenance.json"],"integrations":{"trace":"trace-linked ingestion headers supported; export is degraded unless PLATPHORM_TRACE_EXPORT_ENABLED=true","mcp":"https://podcasts.platphormnews.com/api/mcp","xml":"XML validation adapter exists; external validation is not claimed without a real XML service response","json":"JSON validation adapter exists; external validation is not claimed without a real JSON service response","emoji":"Emoji scoring adapter exists; scores are unavailable unless the Emoji service returns a real score","opencontent":"OpenContent publish is only reported after upstream confirmation","apiAnalytics":"API analytics delivery is not claimed unless api.platphormnews.com confirms the event","docs":"report creation is degraded until docs integration credentials are configured","sheets":"report creation is degraded until sheets integration credentials are configured","decks":"summary creation is degraded until decks integration credentials are configured","browserops":"public navigation can be tested by BrowserOps; triggers follow PLATPHORM_PROTECTED runtime policy"},"categories":{"count":0,"sample":[],"route":"https://podcasts.platphormnews.com/api/v1/categories"},"tags":{"count":0,"sample":[],"route":"https://podcasts.platphormnews.com/api/v1/tags"},"apiWebStatus":"https://podcasts.platphormnews.com/api/web/status","asyncApiEvents":["podcast.url.resolved","podcast.feed.submitted","podcast.feed.fetched","podcast.feed.parsed","podcast.feed.validated","podcast.episode.discovered","podcast.audio.download.started","podcast.audio.download.completed","podcast.audio.media.upload.started","podcast.audio.media.upload.completed","podcast.audio.media.upload.failed","podcast.playback.started","podcast.playback.paused","podcast.playback.completed","podcast.clip.created","podcast.playlist.updated","podcast.share.created","podcast.tags.generated","podcast.emoji.scored","podcast.handoff.created","podcast.handoff.completed","podcast.ingestion.failed","podcast.archive.degraded"],"trustPolicy":{"schema_version":"1.0","service":"platphorm-podcasts","baseUrl":"https://podcasts.platphormnews.com","domainAllowlist":["platphormnews.com","*.platphormnews.com","innovativefuturesolutions.com","*.innovativefuturesolutions.com"],"auth":{"protectionEnv":"PLATPHORM_PROTECTED","operatorModeEnabled":false,"backendKey":"PLATPHORM_API_KEY","acceptedHeaders":["Authorization: Bearer $PLATPHORM_API_KEY","X-PlatPhorm-API-Key: $PLATPHORM_API_KEY"],"note":"The backend key is a server-side Vercel environment value and is not shown in public UI."},"publicReadOnlyAccess":["homepage paste-link resolver","public D1-backed playlist builder","browser-local draft queue","local clip preview","public share packet pages","search","library","feed and episode pages","audio playback for public feeds and public platform episode pages","public feed validation dry-run","public OPML export","categories and tags","RSS/Atom/feed outputs","discovery files","graph files","Web Status","health summaries","read-only MCP introspection"],"operatorActions":["Operator-controlled persistent ingest when PLATPHORM_PROTECTED=1","Operator-controlled feed refresh and network sync when PLATPHORM_PROTECTED=1","Operator-controlled RSSCloud registration and renewal when PLATPHORM_PROTECTED=1","Operator-controlled saved media and clip artifacts when PLATPHORM_PROTECTED=1","Operator-controlled publishing, report export, eval, browser journey, workflow, trace, catalog, and private report actions when PLATPHORM_PROTECTED=1","MCP operator tool calls when PLATPHORM_PROTECTED=1"],"permanentArchivePolicy":"Public flow resolves metadata and streams original audio remotely. Persistent server-side ingest, saved media, publishing, exports, evals, browser journeys, workflows, trace, catalog, and private reports follow PLATPHORM_PROTECTED runtime policy. Without configured persistence the UI reports local queue and remote_streaming_only mode.","localPreferencePersistencePolicy":"Browser storage may hold only non-sensitive UI preferences, public feed favorites, selected station, queue, and playback settings. Keys, private feeds, cookies, and session tokens are not stored in browser storage.","trustedDomainPolicy":"PlatPhorm network discovery trusts *.platphormnews.com and *.innovativefuturesolutions.com. External public feed URLs pass HTTPS, DNS, redirect, timeout, and response-size checks before fetch.","routeStandard":["/","/listen","/library","/live","/search","/submit","/add-feed","/resolve","/feeds","/episodes","/queue","/playlists","/clips","/archive","/archive/status","/integrations","/docs","/faq","/privacy","/terms","/security","/data","/agents","/trust","/web","/web/status","/web/fingerprints","/web/provenance","/api/health","/api/v1/health","/api/v1/status","/api/v1/storage/status","/api/v1/discovery","/api/v1/metrics","/api/v1/resolve","/api/v1/imports/[id]","/api/v1/ingest/dry-run","/api/v1/feeds","/api/v1/feeds/[id]","/api/v1/feeds/[id]/episodes","/api/v1/episodes","/api/v1/shares/[id]","/api/v1/validate/feed","/api/v1/validate/xml","/api/v1/validate/json","/api/v1/search","/api/v1/media/search","/api/v1/media/recent","/api/v1/media/[id]","/api/v1/radio/stations","/api/v1/live/channels","/api/v1/playback/resolve","/api/v1/analysis","/api/ai/chat","/api/ai/analyze","/api/ai/recommend","/api/v1/integrations/status","/api/web/status","/api/web/manifest","/api/web/scorecard","/api/web/fingerprints","/api/docs","/openapi.yaml","/openapi.json","/asyncapi.yaml","/llms.txt","/llms-full.txt","/llms-index.json","/agents.md","/rss.xml","/feed.xml","/atom.xml","/feed.json","/sitemap.xml","/sitemap-main.xml","/sitemap-index.xml","/sitemap-network.xml","/sitemap-full.xml","/robots.txt","/manifest.webmanifest","/graph.json","/podcasts.graph.json","/api/graph","/api/network/graph","/api/mcp","/.well-known/web.json","/.well-known/web4.json","/.well-known/mcp.json","/.well-known/agents.json","/.well-known/api-catalog","/.well-known/agent-policy.json","/.well-known/ai-policy.json","/.well-known/security.txt","/.well-known/trust.json","/.well-known/provenance.json"],"vercelMetadataPolicy":"Safe Vercel request metadata may be captured with IP values hashed or rounded. Operator keys, cookies, tokens, and raw bodies are not stored.","tracePropagationPolicy":"W3C traceparent/tracestate and safe X-PlatPhorm trace headers are accepted and propagated on outbound platform calls.","dataExposurePolicy":"Public views expose only public feed metadata, public entries, public enclosures, public health, and public compliance summaries.","securityContact":"security@platphormnews.com","requiredTrustLine":"Web dashboard, public-safe discovery, browser-based operations, trusted-domain discovery, standard route compliance, Vercel metadata capture, trace inspection, and agentic workflow discovery are intentionally supported for public read-only debugging and operator workflows. Mutating, administrative, ingestion, replay, fork, remediation, deployment, sync, test-triggering, reporting, and write actions require PLATPHORM_API_KEY. For this public media library, ingestion in that baseline means bulk or administrative ingestion: one-at-a-time public URL submission, grounded analysis, recommendations, discovery, and playback metadata remain public without a user key. Deletion, bulk insertion/import, publishing, replay, and raw backend writes require PLATPHORM_API_KEY.","operatorControlPolicy":"PLATPHORM_PROTECTED controls operator mode; enabled write paths enforce server-side PLATPHORM_API_KEY."},"generatedAt":"2026-09-27T18:20:37.926Z","updatedAt":"2026-09-27T18:20:37.926Z"}