{"openapi":"3.1.0","info":{"title":"Synthesis Engine","description":"A user-directed intelligence briefing system","version":"0.1.0"},"paths":{"/api/v2/sources/":{"get":{"tags":["API v2","v2 Sources"],"summary":"List Sources","description":"List all sources visible to the current user.","operationId":"list_sources_api_v2_sources__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SourceListResponse"}}}}}},"post":{"tags":["API v2","v2 Sources"],"summary":"Create Source","description":"Create a new source.","operationId":"create_source_api_v2_sources__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SourceCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SourceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/sources/{source_id}":{"get":{"tags":["API v2","v2 Sources"],"summary":"Get Source","description":"Get a single source by ID.","operationId":"get_source_api_v2_sources__source_id__get","parameters":[{"name":"source_id","in":"path","required":true,"schema":{"type":"string","title":"Source Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SourceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["API v2","v2 Sources"],"summary":"Update Source","description":"Update a source (owner only).","operationId":"update_source_api_v2_sources__source_id__put","parameters":[{"name":"source_id","in":"path","required":true,"schema":{"type":"string","title":"Source Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SourceUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SourceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["API v2","v2 Sources"],"summary":"Delete Source","description":"Delete a source (owner only).","operationId":"delete_source_api_v2_sources__source_id__delete","parameters":[{"name":"source_id","in":"path","required":true,"schema":{"type":"string","title":"Source Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/sources/{source_id}/entries":{"get":{"tags":["API v2","v2 Sources"],"summary":"Get Source Entries","description":"Get raw content cache entries for a source.","operationId":"get_source_entries_api_v2_sources__source_id__entries_get","parameters":[{"name":"source_id","in":"path","required":true,"schema":{"type":"string","title":"Source Id"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","default":20,"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SourceEntriesResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/sources/{source_id}/refresh":{"post":{"tags":["API v2","v2 Sources"],"summary":"Refresh Source","description":"Trigger content re-ingestion for a source.","operationId":"refresh_source_api_v2_sources__source_id__refresh_post","parameters":[{"name":"source_id","in":"path","required":true,"schema":{"type":"string","title":"Source Id"}}],"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SourceRefreshResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/sources/{source_id}/validate":{"post":{"tags":["API v2","v2 Sources"],"summary":"Validate Source","description":"Validate that a source's URL is reachable and parseable.","operationId":"validate_source_api_v2_sources__source_id__validate_post","parameters":[{"name":"source_id","in":"path","required":true,"schema":{"type":"string","title":"Source Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SourceValidateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/sources/preview":{"post":{"tags":["API v2","v2 Sources"],"summary":"Preview Source","description":"Detect source type and fetch name for a URL before creating it.","operationId":"preview_source_api_v2_sources_preview_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SourcePreviewRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SourcePreviewResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/sources/batch":{"post":{"tags":["API v2","v2 Sources"],"summary":"Batch Create Sources","description":"Create multiple sources and optionally add them to a source group.","operationId":"batch_create_sources_api_v2_sources_batch_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SourceBatchCreateRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SourceBatchCreateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/source-groups/":{"get":{"tags":["API v2","v2 Source Groups"],"summary":"List Source Groups","description":"List public source groups + user's own groups.","operationId":"list_source_groups_api_v2_source_groups__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SourceGroupListResponse"}}}}}},"post":{"tags":["API v2","v2 Source Groups"],"summary":"Create Source Group","description":"Create a new source group.","operationId":"create_source_group_api_v2_source_groups__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SourceGroupCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SourceGroupResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/source-groups/{group_id}":{"get":{"tags":["API v2","v2 Source Groups"],"summary":"Get Source Group","description":"Get a source group with its member source IDs.","operationId":"get_source_group_api_v2_source_groups__group_id__get","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/SourceGroupResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["API v2","v2 Source Groups"],"summary":"Update Source Group","description":"Update a source group.","operationId":"update_source_group_api_v2_source_groups__group_id__put","parameters":[{"name":"group_id","in":"path","required":true,"schema":{"type":"string","title":"Group Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SourceGroupUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SourceGroupResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["API v2","v2 Source Groups"],"summary":"Delete Source Group","description":"Delete a source group.","operationId":"delete_source_group_api_v2_source_groups__group_id__delete","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"}}}}}}},"/api/v2/source-groups/{group_id}/clone":{"post":{"tags":["API v2","v2 Source Groups"],"summary":"Clone Source Group","description":"Clone a public/cloneable source group.","operationId":"clone_source_group_api_v2_source_groups__group_id__clone_post","parameters":[{"name":"group_id","in":"path","required":true,"schema":{"type":"string","title":"Group Id"}}],"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SourceGroupResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/source-groups/{group_id}/members":{"post":{"tags":["API v2","v2 Source Groups"],"summary":"Add Member To Group","description":"Add a source or group as a member of this group.","operationId":"add_member_to_group_api_v2_source_groups__group_id__members_post","parameters":[{"name":"group_id","in":"path","required":true,"schema":{"type":"string","title":"Group Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddMemberRequest"}}}},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["API v2","v2 Source Groups"],"summary":"Get Group Members","description":"Get typed member list with expanded source count.","operationId":"get_group_members_api_v2_source_groups__group_id__members_get","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/MembersListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/source-groups/{group_id}/members/bulk":{"post":{"tags":["API v2","v2 Source Groups"],"summary":"Add Members Bulk","description":"Add multiple sources/groups as members in a single transaction.","operationId":"add_members_bulk_api_v2_source_groups__group_id__members_bulk_post","parameters":[{"name":"group_id","in":"path","required":true,"schema":{"type":"string","title":"Group Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkMemberRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkAddResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/source-groups/{group_id}/members/bulk-remove":{"post":{"tags":["API v2","v2 Source Groups"],"summary":"Remove Members Bulk","description":"Remove multiple members from a group in a single transaction.","operationId":"remove_members_bulk_api_v2_source_groups__group_id__members_bulk_remove_post","parameters":[{"name":"group_id","in":"path","required":true,"schema":{"type":"string","title":"Group Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkMemberRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkRemoveResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/source-groups/{group_id}/entries":{"get":{"tags":["API v2","v2 Source Groups"],"summary":"Get Group Entries","description":"Get raw content cache entries for all sources in a group (recursive).","operationId":"get_group_entries_api_v2_source_groups__group_id__entries_get","parameters":[{"name":"group_id","in":"path","required":true,"schema":{"type":"string","title":"Group Id"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","default":20,"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupEntriesResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/source-groups/{group_id}/members/{member_id}":{"delete":{"tags":["API v2","v2 Source Groups"],"summary":"Remove Member From Group","description":"Remove a member from a group.","operationId":"remove_member_from_group_api_v2_source_groups__group_id__members__member_id__delete","parameters":[{"name":"group_id","in":"path","required":true,"schema":{"type":"string","title":"Group Id"}},{"name":"member_id","in":"path","required":true,"schema":{"type":"string","title":"Member Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/goals/":{"get":{"tags":["API v2","v2 Goals"],"summary":"List Goals","description":"List the authenticated user's goals.","operationId":"list_goals_api_v2_goals__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GoalListResponse"}}}}}}},"/api/v2/goals/{goal_id}":{"get":{"tags":["API v2","v2 Goals"],"summary":"Get Goal","description":"Get a single goal.","operationId":"get_goal_api_v2_goals__goal_id__get","parameters":[{"name":"goal_id","in":"path","required":true,"schema":{"type":"string","title":"Goal Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GoalResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["API v2","v2 Goals"],"summary":"Update Goal","description":"Update a goal.","operationId":"update_goal_api_v2_goals__goal_id__put","parameters":[{"name":"goal_id","in":"path","required":true,"schema":{"type":"string","title":"Goal Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GoalUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GoalResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["API v2","v2 Goals"],"summary":"Delete Goal","description":"Delete a goal. If this was the last goal in a topic, delete the topic too.","operationId":"delete_goal_api_v2_goals__goal_id__delete","parameters":[{"name":"goal_id","in":"path","required":true,"schema":{"type":"string","title":"Goal Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/goals/{goal_id}/source-groups":{"post":{"tags":["API v2","v2 Goals"],"summary":"Add Source Group To Goal","description":"Link a source group to a goal.","operationId":"add_source_group_to_goal_api_v2_goals__goal_id__source_groups_post","parameters":[{"name":"goal_id","in":"path","required":true,"schema":{"type":"string","title":"Goal Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddSourceGroupRequest"}}}},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/goals/{goal_id}/source-groups/{source_group_id}":{"delete":{"tags":["API v2","v2 Goals"],"summary":"Remove Source Group From Goal","description":"Unlink a source group from a goal.","operationId":"remove_source_group_from_goal_api_v2_goals__goal_id__source_groups__source_group_id__delete","parameters":[{"name":"goal_id","in":"path","required":true,"schema":{"type":"string","title":"Goal Id"}},{"name":"source_group_id","in":"path","required":true,"schema":{"type":"string","title":"Source Group Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/goals/{goal_id}/feed":{"get":{"tags":["API v2","v2 Goals"],"summary":"Get Goal Feed","description":"Get preprocessed feed entries for a goal.","operationId":"get_goal_feed_api_v2_goals__goal_id__feed_get","parameters":[{"name":"goal_id","in":"path","required":true,"schema":{"type":"string","title":"Goal Id"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","default":20,"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedEntriesResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/goals/evaluate":{"post":{"tags":["API v2","v2 Goals"],"summary":"Evaluate Goal","description":"Evaluate a goal description using LLM analysis.\n\nReturns quality assessment, feedback, and suggested refinement.\nIf goal_description is empty, generates suggestions from topic_name.","operationId":"evaluate_goal_api_v2_goals_evaluate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GoalEvaluateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GoalEvaluateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/goals/{goal_id}/briefings":{"get":{"tags":["API v2","v2 Briefings"],"summary":"List Briefings","description":"List briefings for a goal.","operationId":"list_briefings_api_v2_goals__goal_id__briefings_get","parameters":[{"name":"goal_id","in":"path","required":true,"schema":{"type":"string","title":"Goal Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BriefingListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["API v2","v2 Briefings"],"summary":"Create Briefing","description":"Trigger briefing generation for a goal.\n\nCreates a briefing record in IN_PROGRESS state and kicks off\ngeneration as a background task. Returns immediately.","operationId":"create_briefing_api_v2_goals__goal_id__briefings_post","parameters":[{"name":"goal_id","in":"path","required":true,"schema":{"type":"string","title":"Goal Id"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BriefingCreateRequest"}}}},"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"}}}}}}},"/api/v2/briefings/{briefing_id}":{"get":{"tags":["API v2","v2 Briefings"],"summary":"Get Briefing","description":"Get a single briefing.","operationId":"get_briefing_api_v2_briefings__briefing_id__get","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"}}}}}},"delete":{"tags":["API v2","v2 Briefings"],"summary":"Delete Briefing","description":"Delete a briefing (owner only).","operationId":"delete_briefing_api_v2_briefings__briefing_id__delete","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"}}}}}}},"/api/v2/briefings/{briefing_id}/sharing":{"put":{"tags":["API v2","v2 Briefings"],"summary":"Update Briefing Sharing","description":"Toggle briefing public/private sharing.","operationId":"update_briefing_sharing_api_v2_briefings__briefing_id__sharing_put","parameters":[{"name":"briefing_id","in":"path","required":true,"schema":{"type":"string","title":"Briefing Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BriefingSharingUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BriefingSharingResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/public/briefings/{briefing_id}":{"get":{"tags":["API v2","v2 Briefings"],"summary":"Get Public Briefing","description":"Get a public briefing (no auth required).","operationId":"get_public_briefing_api_v2_public_briefings__briefing_id__get","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"}}}}}}},"/api/v2/briefings/{briefing_id}/transparency":{"get":{"tags":["API v2","v2 Briefings"],"summary":"Get Briefing Transparency","description":"Get transparency data for a briefing (owner only).\n\nShows how the briefing was made: model, sources, articles,\nphase 1 analysis, and processing stats.","operationId":"get_briefing_transparency_api_v2_briefings__briefing_id__transparency_get","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/BriefingTransparencyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/preferences/":{"get":{"tags":["API v2","v2 Preferences"],"summary":"Get Preferences","description":"Get the authenticated user's preferences.","operationId":"get_preferences_api_v2_preferences__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreferencesResponse"}}}}}},"put":{"tags":["API v2","v2 Preferences"],"summary":"Update Preferences","description":"Update the authenticated user's preferences.","operationId":"update_preferences_api_v2_preferences__put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreferencesUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreferencesResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/imports/opml":{"post":{"tags":["API v2","v2 Imports"],"summary":"Import Opml","description":"Import sources from an OPML file.\n\nParses the OPML file and creates v2 sources in PostgreSQL.\nOptionally adds all imported sources to a source group (existing or new).","operationId":"import_opml_api_v2_imports_opml_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_import_opml_api_v2_imports_opml_post"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpmlImportResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/imports/freshrss/validate":{"post":{"tags":["API v2","v2 Imports"],"summary":"Validate Freshrss","description":"Validate connection to a FreshRSS instance.","operationId":"validate_freshrss_api_v2_imports_freshrss_validate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FreshRssValidateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FreshRssValidateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/imports/freshrss":{"post":{"tags":["API v2","v2 Imports"],"summary":"Import Freshrss","description":"Import sources from a FreshRSS instance.\n\nAuthenticates to FreshRSS, fetches subscriptions, and creates v2 sources.","operationId":"import_freshrss_api_v2_imports_freshrss_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FreshRssImportRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FreshRssImportResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/goals/{goal_id}/subscribe":{"post":{"tags":["API v2","v2 Subscriptions"],"summary":"Subscribe To Goal","description":"Subscribe to a public goal's briefing notifications.","operationId":"subscribe_to_goal_api_v2_goals__goal_id__subscribe_post","parameters":[{"name":"goal_id","in":"path","required":true,"schema":{"type":"string","title":"Goal Id"}}],"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["API v2","v2 Subscriptions"],"summary":"Unsubscribe From Goal","description":"Unsubscribe from a goal's briefing notifications.","operationId":"unsubscribe_from_goal_api_v2_goals__goal_id__subscribe_delete","parameters":[{"name":"goal_id","in":"path","required":true,"schema":{"type":"string","title":"Goal Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/goals/{goal_id}/subscription":{"get":{"tags":["API v2","v2 Subscriptions"],"summary":"Get Subscription Status","description":"Get subscription status and subscriber count for a goal.","operationId":"get_subscription_status_api_v2_goals__goal_id__subscription_get","parameters":[{"name":"goal_id","in":"path","required":true,"schema":{"type":"string","title":"Goal Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/synthesis_engine__api__v2__schemas__subscriptions__SubscriptionStatusResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/subscriptions":{"get":{"tags":["API v2","v2 Subscriptions"],"summary":"List User Subscriptions","description":"List all goals the current user is subscribed to.","operationId":"list_user_subscriptions_api_v2_subscriptions_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSubscriptionsResponse"}}}}}}},"/api/v2/billing/create-checkout":{"post":{"tags":["API v2","v2 Billing","v2 Billing"],"summary":"Create Checkout","description":"Create a Polar checkout session for Pro subscription.","operationId":"create_checkout_api_v2_billing_create_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"}}}}}}},"/api/v2/billing/portal":{"post":{"tags":["API v2","v2 Billing","v2 Billing"],"summary":"Create Portal Session","description":"Create a customer portal session for subscription management.","operationId":"create_portal_session_api_v2_billing_portal_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PortalResponse"}}}}}}},"/api/v2/billing/subscription":{"get":{"tags":["API v2","v2 Billing","v2 Billing"],"summary":"Get Subscription Status","description":"Get the current user's subscription status.","operationId":"get_subscription_status_api_v2_billing_subscription_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/synthesis_engine__api__schemas__billing__SubscriptionStatusResponse"}}}}}}},"/api/v2/billing/webhook":{"post":{"tags":["API v2","v2 Billing","v2 Billing"],"summary":"Polar Webhook","description":"Handle Polar webhook events.\n\nVerifies webhook signature and processes subscription events.","operationId":"polar_webhook_api_v2_billing_webhook_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/synthesis_engine__api__schemas__billing__WebhookResponse"}}}}}}},"/api/v2/topics/dashboard":{"get":{"tags":["API v2","v2 Topics"],"summary":"Get Dashboard","description":"Get dashboard data: custom topics + subscribed topics.","operationId":"get_dashboard_api_v2_topics_dashboard_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardResponse"}}}}}}},"/api/v2/topics/catalog":{"get":{"tags":["API v2","v2 Topics"],"summary":"Get Topic Catalog","description":"Browse curated public topics for onboarding.","operationId":"get_topic_catalog_api_v2_topics_catalog_get","parameters":[{"name":"exclude_subscribed","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Exclude Subscribed"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicTopicListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/topics/":{"post":{"tags":["API v2","v2 Topics"],"summary":"Create Topic","description":"Create a custom topic with a default goal and linked source groups.\n\nAutomatically triggers the first briefing generation as a background task.","operationId":"create_topic_api_v2_topics__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTopicRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTopicResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/topics/{topic_id}":{"get":{"tags":["API v2","v2 Topics"],"summary":"Get Topic","description":"Get a single topic's details.","operationId":"get_topic_api_v2_topics__topic_id__get","parameters":[{"name":"topic_id","in":"path","required":true,"schema":{"type":"string","title":"Topic Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TopicResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["API v2","v2 Topics"],"summary":"Update Topic","description":"Update a topic and/or its default goal (owner only).","operationId":"update_topic_api_v2_topics__topic_id__put","parameters":[{"name":"topic_id","in":"path","required":true,"schema":{"type":"string","title":"Topic Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateTopicRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TopicResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["API v2","v2 Topics"],"summary":"Delete Topic","description":"Delete a topic and its associated goals (owner only).","operationId":"delete_topic_api_v2_topics__topic_id__delete","parameters":[{"name":"topic_id","in":"path","required":true,"schema":{"type":"string","title":"Topic Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/topics/{topic_id}/feed":{"get":{"tags":["API v2","v2 Topics"],"summary":"Get Topic Feed","description":"Get filtered feed entries for a topic's default goal.","operationId":"get_topic_feed_api_v2_topics__topic_id__feed_get","parameters":[{"name":"topic_id","in":"path","required":true,"schema":{"type":"string","title":"Topic Id"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","default":20,"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedEntriesResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/topics/{topic_id}/fork":{"post":{"tags":["API v2","v2 Topics"],"summary":"Fork Topic","description":"Fork a public topic with a custom goal.","operationId":"fork_topic_api_v2_topics__topic_id__fork_post","parameters":[{"name":"topic_id","in":"path","required":true,"schema":{"type":"string","title":"Topic Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForkTopicRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TopicResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/topics/{topic_id}/subscribe":{"post":{"tags":["API v2","v2 Topics"],"summary":"Subscribe To Topic","description":"Subscribe to a public topic (via its default goal).","operationId":"subscribe_to_topic_api_v2_topics__topic_id__subscribe_post","parameters":[{"name":"topic_id","in":"path","required":true,"schema":{"type":"string","title":"Topic Id"}}],"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["API v2","v2 Topics"],"summary":"Unsubscribe From Topic","description":"Unsubscribe from a topic (via its default goal).","operationId":"unsubscribe_from_topic_api_v2_topics__topic_id__subscribe_delete","parameters":[{"name":"topic_id","in":"path","required":true,"schema":{"type":"string","title":"Topic Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/topics/public/catalog":{"get":{"tags":["API v2","v2 Topics"],"summary":"Get Public Catalog","description":"Public catalog page. Marks subscription state when authenticated.","operationId":"get_public_catalog_api_v2_topics_public_catalog_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicTopicListResponse"}}}}}}},"/api/v2/topics/public/{topic_id}":{"get":{"tags":["API v2","v2 Topics"],"summary":"Get Public Topic","description":"Get a public topic's details (no auth required).","operationId":"get_public_topic_api_v2_topics_public__topic_id__get","parameters":[{"name":"topic_id","in":"path","required":true,"schema":{"type":"string","title":"Topic Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TopicResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/api-keys":{"get":{"tags":["API v2","v2 API Keys"],"summary":"List Api Keys","description":"List all API keys for the authenticated user.","operationId":"list_api_keys_api_v2_api_keys_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListApiKeysResponse"}}}}}},"post":{"tags":["API v2","v2 API Keys"],"summary":"Create Api Key","description":"Create a new API key for the authenticated user.","operationId":"create_api_key_api_v2_api_keys_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateApiKeyRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateApiKeyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/api-keys/{key_id}":{"delete":{"tags":["API v2","v2 API Keys"],"summary":"Revoke Api Key","description":"Revoke an API key.","operationId":"revoke_api_key_api_v2_api_keys__key_id__delete","parameters":[{"name":"key_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Key Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/webhooks/resend-email":{"post":{"tags":["API v2","v2 Webhooks","v2 Webhooks"],"summary":"Process Resend Email Webhook","description":"Process incoming email webhook from Resend (v2).\n\nSame signature verification as v1. Background processing uses\nPostgreSQL source lookups and GCS-backed cache.","operationId":"process_resend_email_webhook_api_v2_webhooks_resend_email_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/synthesis_engine__api__v2__schemas__webhooks__WebhookResponse"}}}}}}},"/api/v2/webhooks/resend-health":{"get":{"tags":["API v2","v2 Webhooks","v2 Webhooks"],"summary":"Resend Webhook Health","description":"Health check for v2 Resend webhook service.","operationId":"resend_webhook_health_api_v2_webhooks_resend_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Resend Webhook Health Api V2 Webhooks Resend Health Get"}}}}}}},"/api/v2/webhooks/clerk":{"post":{"tags":["API v2","v2 Webhooks","v2 Webhooks"],"summary":"Clerk Webhook","description":"Handle Clerk webhook events for user sync.\n\nVerifies Svix signature, then processes user.created/updated/deleted\nevents in the background.","operationId":"clerk_webhook_api_v2_webhooks_clerk_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v2/unsubscribe":{"get":{"tags":["API v2","Unsubscribe","Unsubscribe"],"summary":"Unsubscribe Get","description":"One-click unsubscribe via GET (email link).","operationId":"unsubscribe_get_api_v2_unsubscribe_get","parameters":[{"name":"token","in":"query","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["API v2","Unsubscribe","Unsubscribe"],"summary":"Unsubscribe Post","description":"One-click unsubscribe via POST (RFC 8058 List-Unsubscribe-Post).","operationId":"unsubscribe_post_api_v2_unsubscribe_post","parameters":[{"name":"token","in":"query","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/health":{"get":{"tags":["API v2","v2 Health"],"summary":"Health Check","description":"Health check: verifies the API is up and Neon DB is reachable.","operationId":"health_check_api_v2_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/":{"get":{"summary":"Landing Page","description":"Main landing page.","operationId":"landing_page__get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/about":{"get":{"summary":"About Page","description":"About page with personal letter format.","operationId":"about_page_about_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/docs":{"get":{"summary":"Docs Page","description":"Public documentation page.","operationId":"docs_page_docs_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/test-sentry-error":{"get":{"summary":"Test Sentry Error","description":"Test endpoint to verify Sentry error tracking.","operationId":"test_sentry_error_test_sentry_error_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/signup":{"get":{"summary":"Signup Page","description":"Sign up page.","operationId":"signup_page_signup_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/login":{"get":{"summary":"Login Page","description":"Login page.","operationId":"login_page_login_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/privacy-policy":{"get":{"summary":"Privacy Policy Page","description":"Privacy policy page.","operationId":"privacy_policy_page_privacy_policy_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/terms-of-service":{"get":{"summary":"Terms Of Service Page","description":"Terms of service page.","operationId":"terms_of_service_page_terms_of_service_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/favicon.png":{"get":{"summary":"Favicon","description":"Serve favicon.","operationId":"favicon_favicon_png_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/logo_synt.png":{"get":{"summary":"Logo Synt","description":"Serve logo_synt.","operationId":"logo_synt_logo_synt_png_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/founders.png":{"get":{"summary":"Founders Photo","description":"Serve founders photo.","operationId":"founders_photo_founders_png_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/topics_screenshot.png":{"get":{"summary":"Topics Screenshot","description":"Serve topics screenshot.","operationId":"topics_screenshot_topics_screenshot_png_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/briefings/{briefing_id}/bside":{"get":{"summary":"Bside Briefing","description":"Render B-side variant briefing (debug tool for A/B prompt testing).","operationId":"bside_briefing_briefings__briefing_id__bside_get","parameters":[{"name":"briefing_id","in":"path","required":true,"schema":{"type":"string","title":"Briefing Id"}}],"responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"ABVariantSummary":{"properties":{"stage":{"type":"string","title":"Stage"},"variant":{"type":"string","title":"Variant"},"prompt_filename":{"type":"string","title":"Prompt Filename"},"output":{"type":"string","title":"Output"},"stats":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Stats"},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"}},"type":"object","required":["stage","variant","prompt_filename","output"],"title":"ABVariantSummary"},"AddMemberRequest":{"properties":{"member_id":{"type":"string","title":"Member Id"}},"type":"object","required":["member_id"],"title":"AddMemberRequest"},"AddSourceGroupRequest":{"properties":{"source_group_id":{"type":"string","title":"Source Group Id"}},"type":"object","required":["source_group_id"],"title":"AddSourceGroupRequest"},"ApiKeyInfo":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"scope":{"type":"string","title":"Scope"},"key_prefix":{"type":"string","title":"Key Prefix"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"last_used_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Used At"},"revoked_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Revoked At"}},"type":"object","required":["id","name","scope","key_prefix","created_at"],"title":"ApiKeyInfo"},"Body_import_opml_api_v2_imports_opml_post":{"properties":{"file":{"type":"string","format":"binary","title":"File"},"source_group_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Group Id"},"new_group_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"New Group Name"}},"type":"object","required":["file"],"title":"Body_import_opml_api_v2_imports_opml_post"},"BriefingCreateRequest":{"properties":{"model_provider":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model Provider"},"max_entries":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Entries"},"max_age_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Age Days"}},"type":"object","title":"BriefingCreateRequest"},"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":{"id":{"type":"string","title":"Id"},"goal_id":{"type":"string","title":"Goal Id"},"user_id":{"type":"string","title":"User Id"},"status":{"type":"string","title":"Status"},"summary":{"type":"string","title":"Summary","default":""},"key_developments":{"type":"string","title":"Key Developments","default":"[]"},"source_articles":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Source Articles","default":[]},"stats":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Stats"},"is_public":{"type":"boolean","title":"Is Public","default":false},"error_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Message"},"generated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Generated At"}},"type":"object","required":["id","goal_id","user_id","status"],"title":"BriefingResponse"},"BriefingSharingResponse":{"properties":{"briefing_id":{"type":"string","title":"Briefing Id"},"is_public":{"type":"boolean","title":"Is Public"},"share_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Share Url"}},"type":"object","required":["briefing_id","is_public"],"title":"BriefingSharingResponse"},"BriefingSharingUpdate":{"properties":{"is_public":{"type":"boolean","title":"Is Public"}},"type":"object","required":["is_public"],"title":"BriefingSharingUpdate"},"BriefingSummary":{"properties":{"id":{"type":"string","title":"Id"},"status":{"type":"string","title":"Status"},"summary":{"type":"string","title":"Summary","default":""},"generated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Generated At"},"relevant_source_count":{"type":"integer","title":"Relevant Source Count","default":0}},"type":"object","required":["id","status"],"title":"BriefingSummary"},"BriefingTransparencyResponse":{"properties":{"briefing_id":{"type":"string","title":"Briefing Id"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"},"provider":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider"},"generated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Generated At"},"source_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Source Count"},"article_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Article Count"},"content_from":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content From"},"content_to":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content To"},"max_age_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Age Days"},"sources":{"items":{"$ref":"#/components/schemas/TransparencySource"},"type":"array","title":"Sources","default":[]},"articles":{"items":{"$ref":"#/components/schemas/TransparencyArticle"},"type":"array","title":"Articles","default":[]},"preprocessing":{"anyOf":[{"$ref":"#/components/schemas/TransparencyPreprocessing"},{"type":"null"}]},"phase1":{"anyOf":[{"$ref":"#/components/schemas/TransparencyPhase"},{"type":"null"}]},"phase2":{"anyOf":[{"$ref":"#/components/schemas/TransparencyPhase"},{"type":"null"}]},"processing":{"anyOf":[{"$ref":"#/components/schemas/TransparencyProcessing"},{"type":"null"}]},"usage":{"anyOf":[{"$ref":"#/components/schemas/TransparencyUsage"},{"type":"null"}]},"debug_mode":{"type":"boolean","title":"Debug Mode","default":false},"ab_variants":{"items":{"$ref":"#/components/schemas/ABVariantSummary"},"type":"array","title":"Ab Variants","default":[]}},"type":"object","required":["briefing_id"],"title":"BriefingTransparencyResponse"},"BulkAddResponse":{"properties":{"added_count":{"type":"integer","title":"Added Count"},"already_members":{"type":"integer","title":"Already Members"},"added_ids":{"items":{"type":"string"},"type":"array","title":"Added Ids"},"skipped_cycles":{"items":{"type":"string"},"type":"array","title":"Skipped Cycles","default":[]}},"type":"object","required":["added_count","already_members","added_ids"],"title":"BulkAddResponse"},"BulkMemberRequest":{"properties":{"member_ids":{"items":{"type":"string"},"type":"array","minItems":1,"title":"Member Ids"}},"type":"object","required":["member_ids"],"title":"BulkMemberRequest"},"BulkRemoveResponse":{"properties":{"removed_count":{"type":"integer","title":"Removed Count"}},"type":"object","required":["removed_count"],"title":"BulkRemoveResponse"},"CheckoutRequest":{"properties":{"email":{"type":"string","title":"Email","description":"User's email address"}},"type":"object","required":["email"],"title":"CheckoutRequest","description":"Request to create a checkout session."},"CheckoutResponse":{"properties":{"url":{"type":"string","title":"Url","description":"Checkout URL to redirect user to"},"checkout_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Checkout Id","description":"Checkout session ID"}},"type":"object","required":["url"],"title":"CheckoutResponse","description":"Response with checkout session URL."},"CreateApiKeyRequest":{"properties":{"name":{"type":"string","maxLength":64,"minLength":1,"title":"Name"},"scope":{"type":"string","enum":["read","full"],"title":"Scope","default":"read"}},"type":"object","required":["name"],"title":"CreateApiKeyRequest"},"CreateApiKeyResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"scope":{"type":"string","title":"Scope"},"key_prefix":{"type":"string","title":"Key Prefix"},"secret":{"type":"string","title":"Secret"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","name","scope","key_prefix","secret","created_at"],"title":"CreateApiKeyResponse"},"CreateTopicRequest":{"properties":{"name":{"type":"string","maxLength":255,"minLength":1,"title":"Name"},"description":{"type":"string","title":"Description","default":""},"source_group_ids":{"items":{"type":"string"},"type":"array","minItems":1,"title":"Source Group Ids"},"goal_description":{"type":"string","minLength":1,"title":"Goal Description"},"keywords":{"items":{"type":"string"},"type":"array","title":"Keywords","default":[]}},"type":"object","required":["name","source_group_ids","goal_description"],"title":"CreateTopicRequest"},"CreateTopicResponse":{"properties":{"topic":{"$ref":"#/components/schemas/TopicResponse"},"first_briefing_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Briefing Id"}},"type":"object","required":["topic"],"title":"CreateTopicResponse"},"DashboardResponse":{"properties":{"custom_topics":{"items":{"$ref":"#/components/schemas/TopicResponse"},"type":"array","title":"Custom Topics"},"subscribed_topics":{"items":{"$ref":"#/components/schemas/TopicResponse"},"type":"array","title":"Subscribed Topics"},"has_onboarded":{"type":"boolean","title":"Has Onboarded"}},"type":"object","required":["custom_topics","subscribed_topics","has_onboarded"],"title":"DashboardResponse"},"FeedEntriesResponse":{"properties":{"entries":{"items":{"$ref":"#/components/schemas/FeedEntry"},"type":"array","title":"Entries"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"page_size":{"type":"integer","title":"Page Size"},"has_next":{"type":"boolean","title":"Has Next"}},"type":"object","required":["entries","total","page","page_size","has_next"],"title":"FeedEntriesResponse"},"FeedEntry":{"properties":{"url":{"type":"string","title":"Url"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Summary"},"published_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Published At"},"source_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Name"},"thumbnail_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Thumbnail Url"},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata"}},"type":"object","required":["url"],"title":"FeedEntry"},"ForkTopicRequest":{"properties":{"goal_name":{"type":"string","maxLength":255,"minLength":1,"title":"Goal Name"},"goal_description":{"type":"string","minLength":1,"title":"Goal Description"},"keywords":{"items":{"type":"string"},"type":"array","title":"Keywords","default":[]}},"type":"object","required":["goal_name","goal_description"],"title":"ForkTopicRequest"},"FreshRssImportRequest":{"properties":{"url":{"type":"string","minLength":1,"title":"Url"},"username":{"type":"string","minLength":1,"title":"Username"},"api_password":{"type":"string","minLength":1,"title":"Api Password"},"source_group_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Group Id"},"category_mode":{"type":"string","pattern":"^(single_group|per_category)$","title":"Category Mode","default":"single_group"},"group_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Group Name"}},"type":"object","required":["url","username","api_password"],"title":"FreshRssImportRequest"},"FreshRssImportResponse":{"properties":{"imported_count":{"type":"integer","title":"Imported Count"},"already_existed_count":{"type":"integer","title":"Already Existed Count","default":0},"failed_count":{"type":"integer","title":"Failed Count"},"total_subscriptions":{"type":"integer","title":"Total Subscriptions"},"source_ids":{"items":{"type":"string"},"type":"array","title":"Source Ids"},"failures":{"items":{"$ref":"#/components/schemas/ImportFailure"},"type":"array","title":"Failures"},"groups_created":{"items":{"type":"string"},"type":"array","title":"Groups Created","default":[]},"group_ids":{"items":{"type":"string"},"type":"array","title":"Group Ids","default":[]}},"type":"object","required":["imported_count","failed_count","total_subscriptions","source_ids","failures"],"title":"FreshRssImportResponse"},"FreshRssValidateRequest":{"properties":{"url":{"type":"string","minLength":1,"title":"Url"},"username":{"type":"string","minLength":1,"title":"Username"},"api_password":{"type":"string","minLength":1,"title":"Api Password"}},"type":"object","required":["url","username","api_password"],"title":"FreshRssValidateRequest"},"FreshRssValidateResponse":{"properties":{"valid":{"type":"boolean","title":"Valid"},"subscription_count":{"type":"integer","title":"Subscription Count","default":0},"categories":{"items":{"type":"string"},"type":"array","title":"Categories","default":[]},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"}},"type":"object","required":["valid"],"title":"FreshRssValidateResponse"},"GoalEvaluateRequest":{"properties":{"goal_description":{"type":"string","maxLength":10000,"title":"Goal Description","default":""},"topic_name":{"type":"string","maxLength":255,"title":"Topic Name","default":""},"mode":{"type":"string","title":"Mode","default":"draft"},"briefing_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Briefing Id"}},"type":"object","title":"GoalEvaluateRequest"},"GoalEvaluateResponse":{"properties":{"quality":{"type":"string","title":"Quality"},"quality_score":{"type":"number","title":"Quality Score"},"feedback":{"type":"string","title":"Feedback"},"suggested_refinement":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Suggested Refinement"},"examples":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Examples"}},"type":"object","required":["quality","quality_score","feedback"],"title":"GoalEvaluateResponse"},"GoalListResponse":{"properties":{"goals":{"items":{"$ref":"#/components/schemas/GoalResponse"},"type":"array","title":"Goals"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["goals","total"],"title":"GoalListResponse"},"GoalResponse":{"properties":{"id":{"type":"string","title":"Id"},"user_id":{"type":"string","title":"User Id"},"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"keywords":{"items":{"type":"string"},"type":"array","title":"Keywords","default":[]},"relevance_questions":{"items":{"type":"string"},"type":"array","title":"Relevance Questions","default":[]},"context":{"additionalProperties":true,"type":"object","title":"Context","default":{}},"goal_version":{"type":"integer","title":"Goal Version","default":1},"briefing_length":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Briefing Length"},"is_public":{"type":"boolean","title":"Is Public","default":true},"schedule_enabled":{"type":"boolean","title":"Schedule Enabled","default":false},"schedule_frequency_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Schedule Frequency Days"},"schedule_hour":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Schedule Hour"},"next_scheduled_generation":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Next Scheduled Generation"},"last_briefing_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Briefing At"},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"},"subscriber_count":{"type":"integer","title":"Subscriber Count","default":0},"source_group_ids":{"items":{"type":"string"},"type":"array","title":"Source Group Ids","default":[]}},"type":"object","required":["id","user_id","name","description"],"title":"GoalResponse"},"GoalUpdate":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":255,"minLength":1},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":"Description"},"keywords":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Keywords"},"relevance_questions":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Relevance Questions"},"context":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Context"},"briefing_length":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Briefing Length"},"is_public":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Public"},"schedule_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Schedule Enabled"},"schedule_frequency_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Schedule Frequency Days"},"schedule_hour":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Schedule Hour"},"source_group_ids":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Source Group Ids"}},"type":"object","title":"GoalUpdate"},"GroupEntriesResponse":{"properties":{"entries":{"items":{"$ref":"#/components/schemas/GroupEntryResponse"},"type":"array","title":"Entries"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"page_size":{"type":"integer","title":"Page Size"},"has_next":{"type":"boolean","title":"Has Next","default":false}},"type":"object","required":["entries","total","page","page_size"],"title":"GroupEntriesResponse"},"GroupEntryResponse":{"properties":{"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"published_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Published At"},"content_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content Type"},"size_bytes":{"type":"integer","title":"Size Bytes","default":0},"source_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Id"},"source_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Name"},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Summary"},"thumbnail_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Thumbnail Url"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata","default":{}}},"type":"object","title":"GroupEntryResponse"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ImportFailure":{"properties":{"title":{"type":"string","title":"Title"},"url":{"type":"string","title":"Url","default":""},"error":{"type":"string","title":"Error"}},"type":"object","required":["title","error"],"title":"ImportFailure"},"ListApiKeysResponse":{"properties":{"keys":{"items":{"$ref":"#/components/schemas/ApiKeyInfo"},"type":"array","title":"Keys"}},"type":"object","required":["keys"],"title":"ListApiKeysResponse"},"MemberResponse":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"type":{"type":"string","title":"Type"}},"type":"object","required":["id","name","type"],"title":"MemberResponse"},"MembersListResponse":{"properties":{"members":{"items":{"$ref":"#/components/schemas/MemberResponse"},"type":"array","title":"Members"},"total":{"type":"integer","title":"Total"},"expanded_source_count":{"type":"integer","title":"Expanded Source Count"}},"type":"object","required":["members","total","expanded_source_count"],"title":"MembersListResponse"},"OpmlImportResponse":{"properties":{"imported_count":{"type":"integer","title":"Imported Count"},"failed_count":{"type":"integer","title":"Failed Count"},"total_feeds":{"type":"integer","title":"Total Feeds"},"source_ids":{"items":{"type":"string"},"type":"array","title":"Source Ids"},"failures":{"items":{"$ref":"#/components/schemas/ImportFailure"},"type":"array","title":"Failures"},"source_group_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Group Id"}},"type":"object","required":["imported_count","failed_count","total_feeds","source_ids","failures"],"title":"OpmlImportResponse"},"PortalResponse":{"properties":{"url":{"type":"string","title":"Url","description":"Portal URL to redirect user to"}},"type":"object","required":["url"],"title":"PortalResponse","description":"Response with customer portal URL."},"PreferencesResponse":{"properties":{"user_id":{"type":"string","title":"User Id"},"briefing_length":{"type":"string","title":"Briefing Length","default":"standard"},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"}},"type":"object","required":["user_id"],"title":"PreferencesResponse"},"PreferencesUpdate":{"properties":{"briefing_length":{"type":"string","pattern":"^(standard|long)$","title":"Briefing Length"}},"type":"object","required":["briefing_length"],"title":"PreferencesUpdate"},"PublicTopicListResponse":{"properties":{"topics":{"items":{"$ref":"#/components/schemas/TopicCatalogItem"},"type":"array","title":"Topics"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["topics","total"],"title":"PublicTopicListResponse"},"SourceBatchCreateRequest":{"properties":{"sources":{"items":{"$ref":"#/components/schemas/SourceBatchItem"},"type":"array","title":"Sources"},"source_group_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Group Id"}},"type":"object","required":["sources"],"title":"SourceBatchCreateRequest"},"SourceBatchCreateResponse":{"properties":{"results":{"items":{"$ref":"#/components/schemas/SourceBatchResultItem"},"type":"array","title":"Results"}},"type":"object","required":["results"],"title":"SourceBatchCreateResponse"},"SourceBatchItem":{"properties":{"url":{"type":"string","title":"Url"},"type":{"type":"string","title":"Type"},"name":{"type":"string","title":"Name"}},"type":"object","required":["url","type","name"],"title":"SourceBatchItem"},"SourceBatchResultItem":{"properties":{"url":{"type":"string","title":"Url"},"source_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Id"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"}},"type":"object","required":["url"],"title":"SourceBatchResultItem"},"SourceCreate":{"properties":{"name":{"type":"string","maxLength":255,"minLength":1,"title":"Name"},"type":{"type":"string","pattern":"^(rss|youtube|newsletter|reddit|web|api|forge)$","title":"Type"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata","default":{}}},"type":"object","required":["name","type"],"title":"SourceCreate"},"SourceEntriesResponse":{"properties":{"entries":{"items":{"$ref":"#/components/schemas/SourceEntryResponse"},"type":"array","title":"Entries"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"page_size":{"type":"integer","title":"Page Size"}},"type":"object","required":["entries","total","page","page_size"],"title":"SourceEntriesResponse"},"SourceEntryResponse":{"properties":{"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"published_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Published At"},"content_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content Type"},"size_bytes":{"type":"integer","title":"Size Bytes","default":0},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata","default":{}}},"type":"object","title":"SourceEntryResponse"},"SourceGroupCreate":{"properties":{"name":{"type":"string","maxLength":255,"minLength":1,"title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"is_public":{"type":"boolean","title":"Is Public","default":false},"is_cloneable":{"type":"boolean","title":"Is Cloneable","default":true}},"type":"object","required":["name"],"title":"SourceGroupCreate"},"SourceGroupListResponse":{"properties":{"source_groups":{"items":{"$ref":"#/components/schemas/SourceGroupResponse"},"type":"array","title":"Source Groups"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["source_groups","total"],"title":"SourceGroupListResponse"},"SourceGroupResponse":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"type":{"type":"string","title":"Type","default":"source_group"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"owner_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Owner Id"},"is_public":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Public"},"is_cloneable":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Cloneable"},"cloned_from_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cloned From Id"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata","default":{}},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"},"member_source_ids":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Member Source Ids"},"expanded_source_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Expanded Source Count"}},"type":"object","required":["id","name"],"title":"SourceGroupResponse"},"SourceGroupUpdate":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":255,"minLength":1},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"is_public":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Public"},"is_cloneable":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Cloneable"}},"type":"object","title":"SourceGroupUpdate"},"SourceListResponse":{"properties":{"sources":{"items":{"$ref":"#/components/schemas/SourceResponse"},"type":"array","title":"Sources"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["sources","total"],"title":"SourceListResponse"},"SourcePreviewRequest":{"properties":{"url":{"type":"string","minLength":1,"title":"Url"}},"type":"object","required":["url"],"title":"SourcePreviewRequest"},"SourcePreviewResponse":{"properties":{"url":{"type":"string","title":"Url"},"name":{"type":"string","title":"Name"},"type":{"type":"string","title":"Type"}},"type":"object","required":["url","name","type"],"title":"SourcePreviewResponse"},"SourceRefreshResponse":{"properties":{"source_id":{"type":"string","title":"Source Id"},"status":{"type":"string","title":"Status"},"message":{"type":"string","title":"Message"}},"type":"object","required":["source_id","status","message"],"title":"SourceRefreshResponse"},"SourceResponse":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"type":{"type":"string","title":"Type"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata","default":{}},"is_active":{"type":"boolean","title":"Is Active","default":true},"owner_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Owner Id"},"is_public":{"type":"boolean","title":"Is Public","default":false},"last_ingested":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Ingested"},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"}},"type":"object","required":["id","name","type"],"title":"SourceResponse"},"SourceUpdate":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":255,"minLength":1},{"type":"null"}],"title":"Name"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"is_public":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Public"}},"type":"object","title":"SourceUpdate"},"SourceValidateResponse":{"properties":{"is_valid":{"type":"boolean","title":"Is Valid"},"error_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Message"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata","default":{}}},"type":"object","required":["is_valid"],"title":"SourceValidateResponse"},"TopicCatalogItem":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"owner_id":{"type":"string","title":"Owner Id"},"source_count":{"type":"integer","title":"Source Count","default":0},"total_source_count":{"type":"integer","title":"Total Source Count","default":0},"subscriber_count":{"type":"integer","title":"Subscriber Count","default":0},"sample_sources":{"items":{"type":"string"},"type":"array","title":"Sample Sources","default":[]},"is_subscribed":{"type":"boolean","title":"Is Subscribed","default":false}},"type":"object","required":["id","name","description","owner_id"],"title":"TopicCatalogItem"},"TopicResponse":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"owner_id":{"type":"string","title":"Owner Id"},"is_public":{"type":"boolean","title":"Is Public"},"is_curated":{"type":"boolean","title":"Is Curated"},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"},"source_group_ids":{"items":{"type":"string"},"type":"array","title":"Source Group Ids","default":[]},"default_goal_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Default Goal Id"},"default_goal_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Default Goal Description"},"keywords":{"items":{"type":"string"},"type":"array","title":"Keywords","default":[]},"briefing_length":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Briefing Length"},"source_count":{"type":"integer","title":"Source Count","default":0},"total_source_count":{"type":"integer","title":"Total Source Count","default":0},"latest_briefing":{"anyOf":[{"$ref":"#/components/schemas/BriefingSummary"},{"type":"null"}]},"subscriber_count":{"type":"integer","title":"Subscriber Count","default":0},"is_subscribed":{"type":"boolean","title":"Is Subscribed","default":false}},"type":"object","required":["id","name","description","owner_id","is_public","is_curated"],"title":"TopicResponse"},"TransparencyArticle":{"properties":{"title":{"type":"string","title":"Title"},"url":{"type":"string","title":"Url"},"source_name":{"type":"string","title":"Source Name"},"published_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Published At"}},"type":"object","required":["title","url","source_name"],"title":"TransparencyArticle"},"TransparencyPhase":{"properties":{"duration":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Duration"},"output":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Output"}},"type":"object","title":"TransparencyPhase"},"TransparencyPreprocessing":{"properties":{"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"},"provider":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider"}},"type":"object","title":"TransparencyPreprocessing"},"TransparencyProcessing":{"properties":{"ingestion_duration":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ingestion Duration"},"phase1_duration":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Phase1 Duration"},"phase2_duration":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Phase2 Duration"},"total_duration":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Total Duration"}},"type":"object","title":"TransparencyProcessing"},"TransparencySource":{"properties":{"source_id":{"type":"string","title":"Source Id"},"source_name":{"type":"string","title":"Source Name"},"article_count":{"type":"integer","title":"Article Count"}},"type":"object","required":["source_id","source_name","article_count"],"title":"TransparencySource"},"TransparencyUsage":{"properties":{"phase1_usage":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Phase1 Usage"},"phase2_usage":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Phase2 Usage"}},"type":"object","title":"TransparencyUsage"},"UpdateTopicRequest":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":255,"minLength":1},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"goal_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Goal Description"},"keywords":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Keywords"},"briefing_length":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Briefing Length"}},"type":"object","title":"UpdateTopicRequest"},"UserSubscriptionsResponse":{"properties":{"goal_ids":{"items":{"type":"string"},"type":"array","title":"Goal Ids"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["goal_ids","total"],"title":"UserSubscriptionsResponse"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"synthesis_engine__api__schemas__billing__SubscriptionStatusResponse":{"properties":{"status":{"type":"string","title":"Status","description":"Subscription status: free, active, past_due, canceled"},"tier":{"type":"string","title":"Tier","description":"User tier: free, paid, poweruser"},"polar_customer_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Polar Customer Id","description":"Polar customer ID (if exists)"},"polar_subscription_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Polar Subscription Id","description":"Polar subscription ID (if active)"},"current_period_end":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Current Period End","description":"End of current billing period"},"cancel_at_period_end":{"type":"boolean","title":"Cancel At Period End","description":"Whether subscription will cancel at period end","default":false},"can_upgrade":{"type":"boolean","title":"Can Upgrade","description":"Whether user can upgrade to Pro","default":true},"can_manage":{"type":"boolean","title":"Can Manage","description":"Whether user can access customer portal","default":false}},"type":"object","required":["status","tier"],"title":"SubscriptionStatusResponse","description":"Response with user's subscription status."},"synthesis_engine__api__schemas__billing__WebhookResponse":{"properties":{"status":{"type":"string","title":"Status","description":"Processing status: success, ignored, error"},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message","description":"Additional details"},"event_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Event Type","description":"Webhook event type processed"}},"type":"object","required":["status"],"title":"WebhookResponse","description":"Response for webhook processing."},"synthesis_engine__api__v2__schemas__subscriptions__SubscriptionStatusResponse":{"properties":{"goal_id":{"type":"string","title":"Goal Id"},"is_subscribed":{"type":"boolean","title":"Is Subscribed"},"subscriber_count":{"type":"integer","title":"Subscriber Count"}},"type":"object","required":["goal_id","is_subscribed","subscriber_count"],"title":"SubscriptionStatusResponse"},"synthesis_engine__api__v2__schemas__webhooks__WebhookResponse":{"properties":{"status":{"type":"string","title":"Status","description":"Response status (success/error)"},"message":{"type":"string","title":"Message","description":"Response message"},"email_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email Id","description":"Parsed email identifier"},"timestamp":{"type":"string","format":"date-time","title":"Timestamp","description":"Response timestamp"}},"type":"object","required":["status","message"],"title":"WebhookResponse","description":"Standard webhook response."}}}}