{"openapi":"3.1.0","info":{"title":"PodAnchor API","description":"Convert any URL into a podcast episode. PodAnchor is for humans and AI agents. See https://podanchor.com/api for full documentation.","contact":{"name":"PodAnchor support","url":"https://podanchor.com/api","email":"api@podanchor.com"},"license":{"name":"MIT"},"version":"1.0.0"},"paths":{"/auth/api-key":{"post":{"tags":["Auth"],"summary":"Regenerate API key","description":"Regenerates your API key and invalidates all previous keys.","operationId":"regenerate_api_key_auth_api_key_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIKey"}}}}},"security":[{"APIKeyHeader":[]}]}},"/v1/account":{"get":{"tags":["Auth"],"summary":"Get account info, quota usage, and plan details","operationId":"get_account_v1_account_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountResponse"}}}}},"security":[{"APIKeyHeader":[]}]},"patch":{"tags":["Auth"],"summary":"Update account settings","operationId":"patch_account_v1_account_patch","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Patch Account V1 Account Patch"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]}]}},"/v1/billing/checkout":{"post":{"tags":["Billing"],"summary":"Create Checkout Session","operationId":"create_checkout_session_v1_billing_checkout_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckoutRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckoutResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]}]}},"/v1/billing/portal":{"post":{"tags":["Billing"],"summary":"Create Portal Session","operationId":"create_portal_session_v1_billing_portal_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PortalResponse"}}}}},"security":[{"APIKeyHeader":[]}]}},"/v1/billing/status":{"get":{"tags":["Billing"],"summary":"Billing Status","operationId":"billing_status_v1_billing_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingStatusResponse"}}}}},"security":[{"APIKeyHeader":[]}]}},"/v1/billing/reactivate":{"post":{"tags":["Billing"],"summary":"Reactivate a cancelled subscription","description":"Remove cancel_at_period_end from the user's active Stripe subscription.","operationId":"reactivate_subscription_v1_billing_reactivate_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Reactivate Subscription V1 Billing Reactivate Post"}}}}},"security":[{"APIKeyHeader":[]}]}},"/v1/account/credits/history":{"get":{"tags":["Credits"],"summary":"Get credit transaction history","operationId":"get_credit_transaction_history_v1_account_credits_history_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}},{"name":"before","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Before"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Credit Transaction History V1 Account Credits History Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/tts/history":{"get":{"tags":["Credits"],"summary":"Get TTS request history","operationId":"get_tts_request_history_v1_tts_history_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}},{"name":"before","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Before"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Tts Request History V1 Tts History Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/tts/{request_id}":{"get":{"tags":["Credits"],"summary":"Get a TTS request","operationId":"get_tts_request_detail_v1_tts__request_id__get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","title":"Request Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Tts Request Detail V1 Tts  Request Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Credits"],"summary":"Delete a TTS request","operationId":"delete_tts_request_v1_tts__request_id__delete","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","title":"Request Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/users/{user_id}/credits/history":{"get":{"tags":["Credits"],"summary":"Get a user's credit transaction history","operationId":"get_admin_credit_transaction_history_v1_admin_users__user_id__credits_history_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}},{"name":"before","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Before"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Admin Credit Transaction History V1 Admin Users  User Id  Credits History Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/episodes":{"post":{"tags":["Episodes"],"summary":"Create a new podcast episode from a URL","description":"Submits a URL for audio conversion. Returns 202 immediately — processing happens in the background (typically 1–3 minutes). Poll the `poll_url` or provide a `webhook_url` to get notified.","operationId":"create_episode_v1_episodes_post","security":[{"APIKeyHeader":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EpisodeCreate"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EpisodeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Episodes"],"summary":"List episodes (cursor-paginated)","operationId":"list_episodes_v1_episodes_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"feed_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by feed ID","title":"Feed Id"},"description":"Filter by feed ID"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Episodes per page","default":20,"title":"Limit"},"description":"Episodes per page"},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Pagination cursor (episode_id)","title":"Cursor"},"description":"Pagination cursor (episode_id)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EpisodeListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/episodes/digest":{"post":{"tags":["Episodes"],"summary":"Create a digest episode from multiple URLs","description":"Submits 1-20 URLs for a combined audio digest. Returns 202 immediately. Processing happens in the background. Poll the `poll_url` to check status.","operationId":"create_digest_v1_episodes_digest_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DigestRequest"}}},"required":true},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EpisodeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]}]}},"/v1/episodes/{episode_id}":{"get":{"tags":["Episodes"],"summary":"Get episode status and metadata","description":"Poll this endpoint until `status` is `ready` or `failed`. Recommended interval: 15s.","operationId":"get_episode_v1_episodes__episode_id__get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"episode_id","in":"path","required":true,"schema":{"type":"string","title":"Episode Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EpisodeDetailResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Episodes"],"summary":"Delete an episode and its audio file","operationId":"delete_episode_v1_episodes__episode_id__delete","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"episode_id","in":"path","required":true,"schema":{"type":"string","title":"Episode Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/episodes/text":{"post":{"tags":["Episodes"],"summary":"Create a podcast episode from raw text (no URL scraping)","operationId":"create_episode_from_text_v1_episodes_text_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EpisodeFromTextCreate"}}},"required":true},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EpisodeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]}]}},"/v1/episodes/{episode_id}/audio":{"get":{"tags":["Episodes"],"summary":"Stream episode audio (302 redirect with download logging)","description":"Validates ownership via Clerk JWT or feed token, logs the download, and redirects to the CDN URL.","operationId":"get_episode_audio_v1_episodes__episode_id__audio_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"episode_id","in":"path","required":true,"schema":{"type":"string","title":"Episode Id"}},{"name":"token","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/episodes/{episode_id}/rating":{"post":{"tags":["Episodes"],"summary":"Rate an episode (thumbs up/down, optional comment)","operationId":"rate_episode_v1_episodes__episode_id__rating_post","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"episode_id","in":"path","required":true,"schema":{"type":"string","title":"Episode Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EpisodeRatingCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EpisodeRatingResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/episode-budget":{"get":{"tags":["Episodes"],"summary":"Get weekly episode budget","operationId":"get_episode_budget_route_v1_episode_budget_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Get Episode Budget Route V1 Episode Budget Get"}}}}},"security":[{"APIKeyHeader":[]}]}},"/v1/briefings":{"get":{"tags":["Briefings"],"summary":"List scheduled briefings","operationId":"list_briefings_v1_briefings_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BriefingListResponse"}}}}},"security":[{"APIKeyHeader":[]}]},"post":{"tags":["Briefings"],"summary":"Create a scheduled briefing","operationId":"create_briefing_v1_briefings_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BriefingCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BriefingResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]}]}},"/v1/briefings/{briefing_id}":{"get":{"tags":["Briefings"],"summary":"Get a briefing configuration","operationId":"get_briefing_v1_briefings__briefing_id__get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"briefing_id","in":"path","required":true,"schema":{"type":"string","title":"Briefing Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BriefingResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Briefings"],"summary":"Update a briefing configuration","operationId":"update_briefing_route_v1_briefings__briefing_id__patch","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"briefing_id","in":"path","required":true,"schema":{"type":"string","title":"Briefing Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BriefingUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BriefingResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Briefings"],"summary":"Delete a briefing","operationId":"delete_briefing_v1_briefings__briefing_id__delete","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"briefing_id","in":"path","required":true,"schema":{"type":"string","title":"Briefing Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/briefings/{briefing_id}/run":{"post":{"tags":["Briefings"],"summary":"Trigger an immediate briefing run","operationId":"run_briefing_v1_briefings__briefing_id__run_post","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"briefing_id","in":"path","required":true,"schema":{"type":"string","title":"Briefing Id"}}],"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BriefingRunResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/tts":{"post":{"tags":["TTS"],"summary":"Synthesize text to MP3","description":"Converts raw text into narrated MP3 audio and streams the result directly.","operationId":"create_tts_audio_v1_tts_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TTSRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"audio/mpeg":{}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]}]}},"/v1/voices":{"get":{"tags":["Voices"],"summary":"List available voices","description":"Returns active voices without exposing internal Gemini IDs.","operationId":"list_voices_v1_voices_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/VoiceResponse"},"type":"array","title":"Response List Voices V1 Voices Get"}}}}}}},"/v1/feeds":{"get":{"tags":["Feeds"],"summary":"List all feeds on the account","operationId":"list_feeds_v1_feeds_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedListResponse"}}}}},"security":[{"APIKeyHeader":[]}]},"post":{"tags":["Feeds"],"summary":"Create a new RSS podcast feed","description":"Create an isolated private RSS feed. Obsessed supports up to 7 feeds. Agent/API and Team plans can create unlimited feeds — one per end-user. The `rss_url` is what users subscribe to in their podcast app.","operationId":"create_feed_v1_feeds_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]}]}},"/v1/feeds/briefing-sizes":{"get":{"tags":["Feeds"],"summary":"List available briefing length sizes","description":"Return available briefing length sizes with display names for the UI dropdown.\n\nInternal slugs (short/standard/long/deep_dive) are stored on shows.episode_length.\nDisplay names are derived from BRIEFING_SIZES constants in briefing_runner.","operationId":"list_briefing_sizes_v1_feeds_briefing_sizes_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response List Briefing Sizes V1 Feeds Briefing Sizes Get"}}}}},"security":[{"APIKeyHeader":[]}]}},"/v1/feeds/{feed_id}":{"get":{"tags":["Feeds"],"summary":"Get feed details","operationId":"get_feed_v1_feeds__feed_id__get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"feed_id","in":"path","required":true,"schema":{"type":"string","title":"Feed Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Feeds"],"summary":"Update a feed","operationId":"update_feed_v1_feeds__feed_id__patch","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"feed_id","in":"path","required":true,"schema":{"type":"string","title":"Feed Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Feeds"],"summary":"Delete a feed and all its episodes","operationId":"delete_feed_v1_feeds__feed_id__delete","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"feed_id","in":"path","required":true,"schema":{"type":"string","title":"Feed Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/feeds/{feed_id}/sources":{"get":{"tags":["Feeds"],"summary":"List configured feed sources","operationId":"list_feed_sources_v1_feeds__feed_id__sources_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"feed_id","in":"path","required":true,"schema":{"type":"string","title":"Feed Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Feed Sources V1 Feeds  Feed Id  Sources Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Feeds"],"summary":"Add a source to a feed","operationId":"add_feed_source_v1_feeds__feed_id__sources_post","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"feed_id","in":"path","required":true,"schema":{"type":"string","title":"Feed Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddSourceRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Add Feed Source V1 Feeds  Feed Id  Sources Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/feeds/{feed_id}/sources/{source_name}":{"delete":{"tags":["Feeds"],"summary":"Remove a source from a feed","operationId":"remove_feed_source_v1_feeds__feed_id__sources__source_name__delete","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"feed_id","in":"path","required":true,"schema":{"type":"string","title":"Feed Id"}},{"name":"source_name","in":"path","required":true,"schema":{"type":"string","title":"Source Name"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Remove Feed Source V1 Feeds  Feed Id  Sources  Source Name  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/feeds/{feed_id}/token":{"post":{"tags":["Feeds"],"summary":"Regenerate feed access token","operationId":"regenerate_feed_token_v1_feeds__feed_id__token_post","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"feed_id","in":"path","required":true,"schema":{"type":"string","title":"Feed Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/feed-groups":{"get":{"tags":["Feed Groups"],"summary":"List feed groups","operationId":"list_feed_groups_v1_feed_groups_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedGroupListResponse"}}}}},"security":[{"APIKeyHeader":[]}]},"post":{"tags":["Feed Groups"],"summary":"Create a feed group","operationId":"create_feed_group_v1_feed_groups_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedGroupCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedGroupResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]}]}},"/v1/feed-groups/{group_id}":{"get":{"tags":["Feed Groups"],"summary":"Get a feed group","operationId":"get_feed_group_v1_feed_groups__group_id__get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"group_id","in":"path","required":true,"schema":{"type":"string","title":"Group Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedGroupResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Feed Groups"],"summary":"Rename a feed group","operationId":"update_feed_group_v1_feed_groups__group_id__patch","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"group_id","in":"path","required":true,"schema":{"type":"string","title":"Group Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedGroupCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedGroupResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Feed Groups"],"summary":"Delete a feed group","operationId":"delete_feed_group_v1_feed_groups__group_id__delete","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"group_id","in":"path","required":true,"schema":{"type":"string","title":"Group Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/listener-profiles":{"get":{"tags":["profiles"],"summary":"List Listener Profiles","operationId":"list_listener_profiles_v1_listener_profiles_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"APIKeyHeader":[]}]},"post":{"tags":["profiles"],"summary":"Create Listener Profile","operationId":"create_listener_profile_v1_listener_profiles_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListenerProfileCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]}]}},"/v1/listener-profiles/{profile_id}":{"get":{"tags":["profiles"],"summary":"Get Listener Profile","operationId":"get_listener_profile_v1_listener_profiles__profile_id__get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"profile_id","in":"path","required":true,"schema":{"type":"string","title":"Profile Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["profiles"],"summary":"Update Listener Profile","operationId":"update_listener_profile_v1_listener_profiles__profile_id__patch","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"profile_id","in":"path","required":true,"schema":{"type":"string","title":"Profile Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListenerProfileUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["profiles"],"summary":"Delete Listener Profile","operationId":"delete_listener_profile_v1_listener_profiles__profile_id__delete","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"profile_id","in":"path","required":true,"schema":{"type":"string","title":"Profile Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/host-profiles":{"get":{"tags":["profiles"],"summary":"List Host Profiles","operationId":"list_host_profiles_v1_host_profiles_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"APIKeyHeader":[]}]},"post":{"tags":["profiles"],"summary":"Create Host Profile","operationId":"create_host_profile_v1_host_profiles_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HostProfileCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]}]}},"/v1/host-profiles/{profile_id}":{"get":{"tags":["profiles"],"summary":"Get Host Profile","operationId":"get_host_profile_v1_host_profiles__profile_id__get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"profile_id","in":"path","required":true,"schema":{"type":"string","title":"Profile Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["profiles"],"summary":"Update Host Profile","operationId":"update_host_profile_v1_host_profiles__profile_id__patch","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"profile_id","in":"path","required":true,"schema":{"type":"string","title":"Profile Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HostProfileUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["profiles"],"summary":"Delete Host Profile","operationId":"delete_host_profile_v1_host_profiles__profile_id__delete","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"profile_id","in":"path","required":true,"schema":{"type":"string","title":"Profile Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/starter-packs":{"get":{"tags":["Starter Packs"],"summary":"List Starter Packs","operationId":"list_starter_packs_v1_starter_packs_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StarterPackListResponse"}}}}}}},"/v1/feeds/{feed_id}/apply-starter-pack":{"post":{"tags":["Starter Packs"],"summary":"Apply Starter Pack","operationId":"apply_starter_pack_v1_feeds__feed_id__apply_starter_pack_post","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"feed_id","in":"path","required":true,"schema":{"type":"string","title":"Feed Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplyStarterPackRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Apply Starter Pack V1 Feeds  Feed Id  Apply Starter Pack Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/subscribe":{"post":{"tags":["subscribe"],"summary":"Subscribe","description":"Subscribe an email address to the PodAnchor waitlist via Kit.","operationId":"subscribe_v1_subscribe_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscribeRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Subscribe V1 Subscribe Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/feeds/group/{rss_token}.xml":{"get":{"tags":["RSS & Audio"],"summary":"Serve grouped RSS feed (token-gated)","operationId":"serve_feed_group_rss_feeds_group__rss_token__xml_get","parameters":[{"name":"rss_token","in":"path","required":true,"schema":{"type":"string","title":"Rss Token"}}],"responses":{"200":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/feeds/{feed_id}/{token}.xml":{"get":{"tags":["RSS & Audio"],"summary":"Serve RSS feed (token-gated)","operationId":"serve_rss_feed_feeds__feed_id___token__xml_get","parameters":[{"name":"feed_id","in":"path","required":true,"schema":{"type":"string","title":"Feed Id"}},{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"Page"}}],"responses":{"200":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/audio/{episode_id}.mp3":{"get":{"tags":["RSS & Audio"],"summary":"Serve episode audio file by episode ID (public, no auth required)","description":"Resolves episode ownership via global index and streams the MP3 file.","operationId":"serve_audio_by_episode_audio__episode_id__mp3_get","parameters":[{"name":"episode_id","in":"path","required":true,"schema":{"type":"string","title":"Episode Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"APIKey":{"properties":{"api_key":{"type":"string","title":"Api Key"},"key_prefix":{"type":"string","title":"Key Prefix"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"plan_id":{"type":"integer","title":"Plan Id"},"plan":{"type":"string","title":"Plan"}},"type":"object","required":["api_key","key_prefix","created_at","plan_id","plan"],"title":"APIKey","description":"Returned once at creation — prefix only is shown subsequently."},"AccountResponse":{"properties":{"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"plan_id":{"type":"integer","title":"Plan Id"},"plan":{"type":"string","title":"Plan"},"is_admin":{"type":"boolean","title":"Is Admin","default":false},"suspended":{"type":"boolean","title":"Suspended","default":false},"api_key_activated":{"type":"boolean","title":"Api Key Activated","default":false},"credits_used_this_month":{"type":"integer","title":"Credits Used This Month"},"credits_included":{"type":"integer","title":"Credits Included"},"credits_remaining":{"type":"integer","title":"Credits Remaining"},"feeds_count":{"type":"integer","title":"Feeds Count"},"reset_date":{"type":"string","format":"date-time","title":"Reset Date"},"api_key_prefix":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Api Key Prefix"},"api_key_expires_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Api Key Expires At"},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url"},"cancel_at_period_end":{"type":"boolean","title":"Cancel At Period End","default":false},"cancel_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cancel At"}},"type":"object","required":["plan_id","plan","credits_used_this_month","credits_included","credits_remaining","feeds_count","reset_date"],"title":"AccountResponse"},"AccountUpdate":{"properties":{"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url"}},"type":"object","title":"AccountUpdate"},"AddSourceRequest":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"}},"type":"object","title":"AddSourceRequest"},"ApplyStarterPackRequest":{"properties":{"pack_id":{"type":"string","title":"Pack Id"},"mode":{"type":"string","title":"Mode","default":"merge"}},"type":"object","required":["pack_id"],"title":"ApplyStarterPackRequest"},"BillingStatusResponse":{"properties":{"plan_id":{"type":"integer","title":"Plan Id"},"plan":{"type":"string","title":"Plan"},"credits_remaining":{"type":"integer","title":"Credits Remaining"},"subscription_expires_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Subscription Expires At"}},"type":"object","required":["plan_id","plan","credits_remaining"],"title":"BillingStatusResponse"},"BriefingCreate":{"properties":{"topics":{"items":{"type":"string"},"type":"array","title":"Topics"},"sources":{"items":{"type":"string"},"type":"array","title":"Sources"},"schedule":{"$ref":"#/components/schemas/ScheduleOption","default":"daily"},"schedule_days":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Schedule Days"},"voice":{"$ref":"#/components/schemas/VoiceOption","default":"marcus"},"feed_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Feed Id"},"listener_profile_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Listener Profile Id"},"host_profile_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Host Profile Id"},"tts_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tts Model"},"episode_length":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Episode Length","default":"standard"},"title_template":{"type":"string","title":"Title Template","default":"Daily Briefing - {date}"},"run_time":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Run Time"},"timezone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timezone"}},"type":"object","title":"BriefingCreate"},"BriefingListResponse":{"properties":{"briefings":{"items":{"$ref":"#/components/schemas/BriefingResponse"},"type":"array","title":"Briefings"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["briefings","total"],"title":"BriefingListResponse"},"BriefingResponse":{"properties":{"briefing_id":{"type":"string","title":"Briefing Id"},"topics":{"items":{"type":"string"},"type":"array","title":"Topics"},"sources":{"items":{"type":"string"},"type":"array","title":"Sources"},"schedule":{"type":"string","title":"Schedule"},"schedule_days":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Schedule Days"},"voice":{"type":"string","title":"Voice"},"feed_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Feed Id"},"listener_profile_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Listener Profile Id"},"host_profile_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Host Profile Id"},"tts_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tts Model"},"episode_length":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Episode Length","default":"standard"},"title_template":{"type":"string","title":"Title Template"},"run_time":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Run Time"},"timezone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timezone"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"last_run_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Run At"},"next_run_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Next Run At"},"status":{"$ref":"#/components/schemas/BriefingStatus"},"last_episode_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Episode Id"},"last_error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Error"}},"type":"object","required":["briefing_id","topics","schedule","voice","title_template","created_at","status"],"title":"BriefingResponse"},"BriefingRunResponse":{"properties":{"briefing_id":{"type":"string","title":"Briefing Id"},"episode_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Episode Id"},"status":{"type":"string","title":"Status"}},"type":"object","required":["briefing_id","status"],"title":"BriefingRunResponse"},"BriefingStatus":{"type":"string","enum":["active","paused"],"title":"BriefingStatus"},"BriefingUpdate":{"properties":{"voice":{"anyOf":[{"$ref":"#/components/schemas/VoiceOption"},{"type":"null"}]},"schedule":{"anyOf":[{"$ref":"#/components/schemas/ScheduleOption"},{"type":"null"}]},"schedule_days":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Schedule Days"},"listener_profile_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Listener Profile Id"},"host_profile_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Host Profile Id"},"tts_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tts Model"},"episode_length":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Episode Length"},"title_template":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title Template"},"run_time":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Run Time"},"timezone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timezone"}},"type":"object","title":"BriefingUpdate"},"CheckoutRequest":{"properties":{"price_id":{"type":"string","title":"Price Id"},"success_url":{"type":"string","title":"Success Url"},"cancel_url":{"type":"string","title":"Cancel Url"},"promo_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Promo Code"}},"type":"object","required":["price_id","success_url","cancel_url"],"title":"CheckoutRequest"},"CheckoutResponse":{"properties":{"checkout_url":{"type":"string","title":"Checkout Url"}},"type":"object","required":["checkout_url"],"title":"CheckoutResponse"},"DigestRequest":{"properties":{"urls":{"items":{"type":"string"},"type":"array","title":"Urls"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"voice":{"$ref":"#/components/schemas/VoiceOption","default":"marcus"},"feed_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Feed Id"},"listener_profile_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Listener Profile Id"},"host_profile_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Host Profile Id"}},"type":"object","required":["urls"],"title":"DigestRequest"},"EpisodeCreate":{"properties":{"url":{"anyOf":[{"type":"string","maxLength":2083,"minLength":1,"format":"uri"},{"type":"null"}],"title":"Url"},"text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Text"},"feed_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Feed Id"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"voice":{"$ref":"#/components/schemas/VoiceOption","default":"marcus"},"quality":{"$ref":"#/components/schemas/QualityOption","default":"standard"},"webhook_url":{"anyOf":[{"type":"string","maxLength":2083,"minLength":1,"format":"uri"},{"type":"null"}],"title":"Webhook Url"}},"type":"object","title":"EpisodeCreate"},"EpisodeDetailResponse":{"properties":{"episode_id":{"type":"string","title":"Episode Id"},"status":{"$ref":"#/components/schemas/EpisodeStatus"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"url":{"type":"string","title":"Url"},"audio_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Audio Url"},"audio_duration_seconds":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Audio Duration Seconds"},"audio_size_bytes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Audio Size Bytes"},"extraction_warning":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Extraction Warning"},"extraction_confidence":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Extraction Confidence"},"feed_id":{"type":"string","title":"Feed Id"},"voice":{"type":"string","title":"Voice"},"quality":{"$ref":"#/components/schemas/QualityOption"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"ready_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Ready At"},"poll_url":{"type":"string","title":"Poll Url"},"estimated_ready_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Estimated Ready At"},"rating_thumbs":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Rating Thumbs"},"rating_comment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Rating Comment"},"rated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Rated At"},"sources":{"items":{"$ref":"#/components/schemas/EpisodeSource"},"type":"array","title":"Sources"},"script":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Script"}},"type":"object","required":["episode_id","status","url","feed_id","voice","quality","created_at","poll_url"],"title":"EpisodeDetailResponse"},"EpisodeFromTextCreate":{"properties":{"text":{"type":"string","title":"Text"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"voice":{"$ref":"#/components/schemas/VoiceOption","default":"marcus"},"feed_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Feed Id"}},"type":"object","required":["text"],"title":"EpisodeFromTextCreate"},"EpisodeListResponse":{"properties":{"episodes":{"items":{"$ref":"#/components/schemas/EpisodeResponse"},"type":"array","title":"Episodes"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor"},"has_more":{"type":"boolean","title":"Has More"}},"type":"object","required":["episodes","has_more"],"title":"EpisodeListResponse"},"EpisodeRatingCreate":{"properties":{"thumbs":{"type":"boolean","title":"Thumbs"},"comment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Comment"}},"type":"object","required":["thumbs"],"title":"EpisodeRatingCreate"},"EpisodeRatingResponse":{"properties":{"episode_id":{"type":"string","title":"Episode Id"},"rating_thumbs":{"type":"boolean","title":"Rating Thumbs"},"rating_comment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Rating Comment"},"rated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Rated At"}},"type":"object","required":["episode_id","rating_thumbs","rating_comment","rated_at"],"title":"EpisodeRatingResponse"},"EpisodeResponse":{"properties":{"episode_id":{"type":"string","title":"Episode Id"},"status":{"$ref":"#/components/schemas/EpisodeStatus"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"url":{"type":"string","title":"Url"},"audio_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Audio Url"},"audio_duration_seconds":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Audio Duration Seconds"},"audio_size_bytes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Audio Size Bytes"},"extraction_warning":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Extraction Warning"},"extraction_confidence":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Extraction Confidence"},"feed_id":{"type":"string","title":"Feed Id"},"voice":{"type":"string","title":"Voice"},"quality":{"$ref":"#/components/schemas/QualityOption"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"ready_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Ready At"},"poll_url":{"type":"string","title":"Poll Url"},"estimated_ready_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Estimated Ready At"},"rating_thumbs":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Rating Thumbs"},"rating_comment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Rating Comment"},"rated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Rated At"}},"type":"object","required":["episode_id","status","url","feed_id","voice","quality","created_at","poll_url"],"title":"EpisodeResponse"},"EpisodeSource":{"properties":{"url":{"type":"string","title":"Url"},"title":{"type":"string","title":"Title","default":""}},"type":"object","required":["url"],"title":"EpisodeSource"},"EpisodeStatus":{"type":"string","enum":["processing","ready","failed"],"title":"EpisodeStatus"},"FeedCreate":{"properties":{"title":{"type":"string","title":"Title"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"user_ref":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Ref"},"language":{"type":"string","title":"Language","default":"en"}},"type":"object","required":["title"],"title":"FeedCreate"},"FeedGroupCreate":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"}},"type":"object","title":"FeedGroupCreate"},"FeedGroupListResponse":{"properties":{"groups":{"items":{"$ref":"#/components/schemas/FeedGroupResponse"},"type":"array","title":"Groups"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["groups","total"],"title":"FeedGroupListResponse"},"FeedGroupResponse":{"properties":{"group_id":{"type":"string","title":"Group Id"},"user_id":{"type":"string","title":"User Id"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"rss_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Rss Token"},"feed_ids":{"items":{"type":"string"},"type":"array","title":"Feed Ids"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["group_id","user_id","created_at"],"title":"FeedGroupResponse"},"FeedListResponse":{"properties":{"feeds":{"items":{"$ref":"#/components/schemas/FeedResponse"},"type":"array","title":"Feeds"},"total":{"type":"integer","title":"Total"},"podcast_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Podcast Url"}},"type":"object","required":["feeds","total"],"title":"FeedListResponse"},"FeedResponse":{"properties":{"feed_id":{"type":"string","title":"Feed Id"},"rss_url":{"type":"string","title":"Rss Url"},"title":{"type":"string","title":"Title"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"user_ref":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Ref"},"language":{"type":"string","title":"Language"},"active_pack_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Active Pack Id"},"group_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Group Id"},"episode_count":{"type":"integer","title":"Episode Count"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"feed_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Feed Token"},"token_created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Token Created At"},"schedule":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Schedule"},"briefing_length":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Briefing Length"},"schedule_days":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Schedule Days"},"listener_profile_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Listener Profile Id"},"host_profile_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Host Profile Id"}},"type":"object","required":["feed_id","rss_url","title","language","episode_count","created_at"],"title":"FeedResponse"},"FeedUpdateRequest":{"properties":{"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"language":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Language"},"group_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Group Id"},"schedule":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Schedule"},"briefing_length":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Briefing Length"},"schedule_days":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Schedule Days"},"host_profile_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Host Profile Id"},"listener_profile_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Listener Profile Id"}},"type":"object","title":"FeedUpdateRequest"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HostProfileCreate":{"properties":{"host_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Host Name"},"host_personality":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Host Personality"}},"additionalProperties":false,"type":"object","title":"HostProfileCreate"},"HostProfileUpdate":{"properties":{"host_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Host Name"},"host_personality":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Host Personality"}},"additionalProperties":false,"type":"object","title":"HostProfileUpdate"},"ListenerPrefs":{"properties":{"more":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"More"},"less":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Less"}},"type":"object","title":"ListenerPrefs"},"ListenerProfileCreate":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"name_pronunciation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name Pronunciation"},"bio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bio"},"prefs":{"anyOf":[{"$ref":"#/components/schemas/ListenerPrefs"},{"type":"null"}]}},"type":"object","title":"ListenerProfileCreate"},"ListenerProfileUpdate":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"name_pronunciation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name Pronunciation"},"bio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bio"},"prefs":{"anyOf":[{"$ref":"#/components/schemas/ListenerPrefs"},{"type":"null"}]},"onboarding_skipped":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Onboarding Skipped"}},"type":"object","title":"ListenerProfileUpdate"},"PortalResponse":{"properties":{"portal_url":{"type":"string","title":"Portal Url"}},"type":"object","required":["portal_url"],"title":"PortalResponse"},"QualityOption":{"type":"string","enum":["standard","hd"],"title":"QualityOption"},"ScheduleOption":{"type":"string","enum":["daily","weekly"],"title":"ScheduleOption"},"StarterPackListResponse":{"properties":{"packs":{"items":{"$ref":"#/components/schemas/StarterPackResponse"},"type":"array","title":"Packs"}},"type":"object","required":["packs"],"title":"StarterPackListResponse"},"StarterPackResponse":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"source_count":{"type":"integer","title":"Source Count"},"sources":{"items":{"type":"string"},"type":"array","title":"Sources","default":[]},"sample_topics":{"items":{"type":"string"},"type":"array","title":"Sample Topics","default":[]},"briefing_voice":{"type":"string","title":"Briefing Voice"}},"type":"object","required":["id","name","description","source_count","briefing_voice"],"title":"StarterPackResponse"},"SubscribeRequest":{"properties":{"email":{"type":"string","title":"Email"}},"type":"object","required":["email"],"title":"SubscribeRequest"},"TTSRequest":{"properties":{"text":{"type":"string","maxLength":30000,"title":"Text"},"voice":{"type":"string","title":"Voice","default":"marcus"}},"type":"object","required":["text"],"title":"TTSRequest"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"VoiceOption":{"type":"string","enum":["marcus","zoe","maren","grant","finn"],"title":"VoiceOption"},"VoiceResponse":{"properties":{"name":{"type":"string","title":"Name"},"display_name":{"type":"string","title":"Display Name"},"headline":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Headline"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"gender":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gender"},"provider":{"type":"string","title":"Provider","default":"gemini"},"provider_voice_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider Voice Id"}},"type":"object","required":["name","display_name"],"title":"VoiceResponse"}},"securitySchemes":{"APIKeyHeader":{"type":"apiKey","in":"header","name":"Authorization"}}}}