{"openapi":"3.1.0","info":{"title":"CrowdListen Agent API","description":"Configure sources, collect and retain originals, run durable analysis, and read or revise cited insights. Humans and agents share authorized entity/project records, research jobs and evidence history.","version":"1.0.0"},"paths":{"/agent/v1/health":{"get":{"tags":["Health"],"summary":"Get Health","description":"Check the health of the Api","operationId":"get_health_agent_v1_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/agent/v1/connection":{"get":{"tags":["agent-connection"],"summary":"Check Connection","operationId":"check_connection_agent_v1_connection_get","parameters":[{"name":"entity_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Entity Id"}},{"name":"project_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Project Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/v1/analysis/run":{"post":{"tags":["analysis"],"summary":"Run Analysis","description":"Queue a durable research input, then observe its saved state over NDJSON.","operationId":"run_analysis_agent_v1_analysis_run_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalysisRunRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/v1/analysis/{analysis_id}/continue":{"post":{"tags":["analysis"],"summary":"Continue Analysis","description":"Queue one continuation against the same analysis and immutable prior input.","operationId":"continue_analysis_agent_v1_analysis__analysis_id__continue_post","parameters":[{"name":"analysis_id","in":"path","required":true,"schema":{"type":"string","title":"Analysis Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalysisContinueRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/v1/analysis/{analysis_id}/stream":{"get":{"tags":["analysis"],"summary":"Stream Analysis Progress","description":"Reconnect to a saved state snapshot; disconnecting never cancels research.","operationId":"stream_analysis_progress_agent_v1_analysis__analysis_id__stream_get","parameters":[{"name":"analysis_id","in":"path","required":true,"schema":{"type":"string","title":"Analysis Id"}},{"name":"session_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Id"}},{"name":"job_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Job Id"}},{"name":"Last-Event-ID","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last-Event-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/v1/analysis/inbox":{"get":{"tags":["analysis"],"summary":"List Inbox Early","description":"List inbox items for the current user. Registered before /{analysis_id} catch-all.","operationId":"list_inbox_early_agent_v1_analysis_inbox_get","parameters":[{"name":"status_filter","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status Filter"}},{"name":"entity_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["analysis"],"summary":"Submit To Inbox","description":"Submit content to the processing inbox.\n\nItems are queued as 'pending' and processed by the background cron\nthrough the full enhancement pipeline (extract → enhance → classify →\ndedup → store to content_store).\n\nAuth: JWT or API key.\nBody: { items: [{ url, raw_text, source_platform, entity_id, metadata }] }\nReturns: { queued: N, inbox_ids: [...] }","operationId":"submit_to_inbox_agent_v1_analysis_inbox_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboxRequest"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/v1/analysis/{analysis_id}":{"get":{"tags":["analysis"],"summary":"Get Analysis","description":"Fetch analysis by ID.\n\nReturns complete analysis data including sentiment, themes, opinions, sources, and related topics.\n\n**Authentication:**\n- Optional (public analyses accessible to all)\n\n**Access Control:**\n- Current project/entity scope, legacy ownership, or explicit public access\n\n**Path Parameters:**\n- analysis_id: UUID of the analysis\n\n**Response:**\n- Complete analysis object with all fields","operationId":"get_analysis_agent_v1_analysis__analysis_id__get","parameters":[{"name":"analysis_id","in":"path","required":true,"schema":{"type":"string","title":"Analysis Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalysisResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/v1/analysis/{analysis_id}/generate-cards":{"post":{"tags":["analysis"],"summary":"Generate Analysis Cards","description":"Generate an LLM-orchestrated card layout for an analysis.\n\nThe LLM selects which reusable card components to display,\nfills their data from the analysis, and optionally generates\ndynamic HTML cards for novel insights.\n\nReturns: { \"cards\": [{ \"type\": \"...\", \"data\": {...} }, ...] }","operationId":"generate_analysis_cards_agent_v1_analysis__analysis_id__generate_cards_post","parameters":[{"name":"analysis_id","in":"path","required":true,"schema":{"type":"string","title":"Analysis Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/v1/analysis/synthesize":{"post":{"tags":["analysis"],"summary":"Synthesize Content","description":"Synthesize supplied originals through the shared durable record pipeline.","operationId":"synthesize_content_agent_v1_analysis_synthesize_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SynthesizeRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/v1/analysis/batch-import":{"post":{"tags":["analysis"],"summary":"Batch Import Urls","description":"Import URL originals through the shared capture, job and finding contract.","operationId":"batch_import_urls_agent_v1_analysis_batch_import_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchImportRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/v1/analysis/curate/analyze":{"post":{"tags":["analysis"],"summary":"Analyze Curated Content","operationId":"analyze_curated_content_agent_v1_analysis_curate_analyze_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CurateAnalyzeRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/v1/analysis/curate":{"post":{"tags":["analysis"],"summary":"Submit Curated Content","operationId":"submit_curated_content_agent_v1_analysis_curate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CurateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/v1/analysis/curate/{entity_id}":{"get":{"tags":["analysis"],"summary":"List Curated Content","description":"List all curated content for an entity.","operationId":"list_curated_content_agent_v1_analysis_curate__entity_id__get","parameters":[{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","title":"Entity Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/v1/research/workflows":{"post":{"tags":["research"],"summary":"Create Workflow","operationId":"create_workflow_agent_v1_research_workflows_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResearchWorkflowCreate"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["research"],"summary":"List Workflows","operationId":"list_workflows_agent_v1_research_workflows_get","parameters":[{"name":"entity_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"Entity Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/v1/research/workflows/{workflow_id}":{"get":{"tags":["research"],"summary":"Get Workflow","operationId":"get_workflow_agent_v1_research_workflows__workflow_id__get","parameters":[{"name":"workflow_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workflow Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/v1/research/workflows/{workflow_id}/resume":{"post":{"tags":["research"],"summary":"Resume Workflow","operationId":"resume_workflow_agent_v1_research_workflows__workflow_id__resume_post","parameters":[{"name":"workflow_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workflow Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/v1/projects/{project_id}/analyses":{"get":{"tags":["analysis"],"summary":"List Project Analyses","description":"List all analyses for a specific project with pagination and filtering.\n\n**Access Control:**\n- Returns analyses if user owns the project OR project is public\n- Returns only user's analyses OR public analyses\n\n**Pagination:**\n- page: Page number (1-indexed, default: 1)\n- limit: Results per page (default: 20, max: 100)\n\n**Sorting:**\n- sort: Field and direction (e.g., \"created_at:desc\")\n- Allowed fields: created_at, updated_at, question, status, total_comments\n- Default: created_at:desc (newest first)\n\n**Filtering:**\n- status: Filter by analysis status (pending, running, completed, failed)\n- public: Filter by public visibility (true/false)\n\n**Response:**\n- List of analysis summaries (lightweight, no full content)\n- Pagination metadata (page, limit, total, pages)","operationId":"list_project_analyses_agent_v1_projects__project_id__analyses_get","parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","title":"Project Id"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page number (1-indexed)","default":1,"title":"Page"},"description":"Page number (1-indexed)"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Results per page (max 100)","default":20,"title":"Limit"},"description":"Results per page (max 100)"},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Sort field:direction","default":"created_at:desc","title":"Sort"},"description":"Sort field:direction"},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by status","title":"Status"},"description":"Filter by status"},{"name":"public","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Filter by public flag","title":"Public"},"description":"Filter by public flag"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalysesListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/v1/hosted/chat":{"post":{"tags":["hosted"],"summary":"Hosted Chat","description":"Stream a chat response from the hosted agent via SSE.\n\nThe agent uses direct Python tools after explicit project/entity authorization.","operationId":"hosted_chat_agent_v1_hosted_chat_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HostedChatRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/v1/hosted/health":{"get":{"tags":["hosted"],"summary":"Hosted Health","description":"Check if the hosted agent is available.","operationId":"hosted_health_agent_v1_hosted_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/agent/v1/context/recall":{"get":{"tags":["context"],"summary":"Recall Context","description":"Semantic search over the knowledge base with keyword fallback.","operationId":"recall_context_agent_v1_context_recall_get","parameters":[{"name":"query","in":"query","required":true,"schema":{"type":"string","minLength":1,"maxLength":1000,"title":"Query"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":20,"minimum":1,"default":5,"title":"Limit"}},{"name":"project_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Project Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/v1/context/save":{"post":{"tags":["context"],"summary":"Save Context","description":"Save a context page through the acknowledged caller/project-scoped writer.","operationId":"save_context_agent_v1_context_save_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SaveRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/v1/context/upload":{"post":{"tags":["context"],"summary":"Upload Context File","description":"Extract and save a document through the canonical pages boundary.","operationId":"upload_context_file_agent_v1_context_upload_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_context_file_agent_v1_context_upload_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/v1/context/extract":{"post":{"tags":["context"],"summary":"Extract Context File","description":"Extract bounded document text for an authenticated one-off analysis.","operationId":"extract_context_file_agent_v1_context_extract_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_extract_context_file_agent_v1_context_extract_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/v1/context/query":{"post":{"tags":["context"],"summary":"Query Research","description":"Query synthesized research documentation for an entity or topic.\n\nReturns structured findings with source counts, platform coverage,\nsentiment, and freshness metadata. Use this to answer questions about\nwhat the crowd is saying about a brand, product, or topic.","operationId":"query_research_agent_v1_context_query_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueryResearchRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/v1/search":{"post":{"tags":["search"],"summary":"Search Content","description":"Discover source-backed evidence without synthesis.","operationId":"search_content_agent_v1_search_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/v1/ingest/collection-plan":{"get":{"tags":["ingest"],"summary":"Get Collection Plan","description":"Read saved product/competitor scope without starting providers or granting access.","operationId":"get_collection_plan_agent_v1_ingest_collection_plan_get","parameters":[{"name":"entity_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"Entity Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/v1/ingest/content":{"post":{"tags":["ingest"],"summary":"Capture complete sources and comments with acknowledged IDs","description":"Capture all originals and parent links atomically; analysis is a separate step.","operationId":"ingest_content_agent_v1_ingest_content_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IngestContentRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IngestContentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/v1/ingest/coverage":{"post":{"tags":["ingest"],"summary":"Record collector coverage for an entity/platform scope","description":"Record what a collector attempted and whether coverage is proven.\n\nThis is intentionally separate from row insertion: a collector can prove a\ntarget is blocked or fully exhausted even when zero new rows were stored\nbecause all posts were already deduplicated.","operationId":"record_collection_coverage_agent_v1_ingest_coverage_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CoverageRecordRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CoverageRecordResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/v1/ingest/trigger-pipeline":{"post":{"tags":["ingest"],"summary":"Trigger the content processing pipeline for an entity","description":"Acknowledge a durable job; its status/result reader owns completion.","operationId":"trigger_pipeline_agent_v1_ingest_trigger_pipeline_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TriggerPipelineRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/v1/ingest/filter":{"post":{"tags":["ingest"],"summary":"Filter discovered content for relevance before deep extraction","description":"Filter discovered content for relevance before deep extraction.\n\nRuns the LLM relevance classifier on a list of lightweight source\nitems and returns per-item verdicts plus a recommended-for-extraction\nURL list.  Designed to be called between discovery (search) and\nexpensive extraction (transcript / full-text fetch) so that only\nrelevant or marginal sources are extracted.","operationId":"ingest_filter_agent_v1_ingest_filter_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FilterRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FilterResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/v1/ingest/deep-extract":{"post":{"tags":["ingest"],"summary":"Extract and capture complete comments with their source references","description":"Preserve all retrieved originals; each item has its own atomic capture receipt.","operationId":"ingest_deep_extract_agent_v1_ingest_deep_extract_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeepExtractRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeepExtractResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/v1/ingest/research/jobs":{"post":{"tags":["ingest"],"summary":"Create Research Job","description":"Queue entity research on the shared capture/findings ledger.","operationId":"create_research_job_agent_v1_ingest_research_jobs_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResearchJobRequest"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResearchJobAccepted"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["ingest"],"summary":"List Research Jobs","description":"Read bounded saved job history for a currently accessible entity.","operationId":"list_research_jobs_agent_v1_ingest_research_jobs_get","parameters":[{"name":"entity_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"Entity Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/v1/ingest/collection/jobs":{"post":{"tags":["ingest"],"summary":"Create Collection Job","description":"A distinct route fails closed on older servers instead of starting synthesis.","operationId":"create_collection_job_agent_v1_ingest_collection_jobs_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResearchJobRequest"}}},"required":true},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResearchJobAccepted"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/v1/ingest/research/jobs/{job_id}":{"get":{"tags":["ingest"],"summary":"Get Research Job","description":"Return a research job only when the caller can view its analysis or entity.","operationId":"get_research_job_agent_v1_ingest_research_jobs__job_id__get","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/v1/ingest/research":{"post":{"tags":["ingest"],"summary":"Research Entity","description":"Run all entity questions through durable capture and cited findings.","operationId":"research_entity_agent_v1_ingest_research_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResearchRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResearchResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/v1/export/manifest":{"get":{"tags":["export"],"summary":"List exportable datasets and entities","operationId":"export_manifest_agent_v1_export_manifest_get","parameters":[{"name":"workspace_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/v1/export/completeness":{"get":{"tags":["export"],"summary":"Audit raw export coverage and completeness","description":"Return conservative coverage metrics for agent triage.\n\nThis endpoint distinguishes export completeness from collection completeness:\nevery table export is pageable, but source collection is only exhaustive when\nthe stored rows carry explicit coverage metadata from a platform/account crawl.","operationId":"export_completeness_agent_v1_export_completeness_get","parameters":[{"name":"workspace_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Workspace Id"}},{"name":"entity_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Id"}},{"name":"platform","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Platform"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/v1/export/table/{table_name}":{"get":{"tags":["export"],"summary":"Export raw rows from an allowed table","operationId":"export_table_agent_v1_export_table__table_name__get","parameters":[{"name":"table_name","in":"path","required":true,"schema":{"type":"string","title":"Table Name"}},{"name":"workspace_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Workspace Id"}},{"name":"entity_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Id"}},{"name":"platform","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Platform"}},{"name":"project_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Project Id"}},{"name":"path_prefix","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Path Prefix"}},{"name":"parent_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parent Id"}},{"name":"parents_only","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Parents Only"}},{"name":"since","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"ISO timestamp lower bound on created_at","title":"Since"},"description":"ISO timestamp lower bound on created_at"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":5000,"minimum":1,"default":1000,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"include_embeddings","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Embeddings"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/v1/content/embed":{"post":{"tags":["embed"],"summary":"Embed Text","description":"Generate an embedding vector for the given text.","operationId":"embed_text_agent_v1_content_embed_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmbedRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/v1/intelligence/summary":{"get":{"tags":["intelligence"],"summary":"Get Intelligence Summary","description":"Return an evidence-backed cross-channel intelligence readout.","operationId":"get_intelligence_summary_agent_v1_intelligence_summary_get","parameters":[{"name":"entity_id","in":"query","required":true,"schema":{"type":"string","minLength":1,"maxLength":100,"title":"Entity Id"}},{"name":"window_days","in":"query","required":false,"schema":{"type":"integer","maximum":365,"minimum":7,"default":30,"title":"Window Days"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/v1/intelligence/refresh":{"post":{"tags":["intelligence"],"summary":"Refresh Intelligence","description":"Accept durable per-entity research; inspect returned jobs for actual results.","operationId":"refresh_intelligence_agent_v1_intelligence_refresh_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntelligenceRefreshRequest"}}},"required":true},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/v1/knowledge/insights/{insight_id}/curation":{"post":{"tags":["agent-knowledge"],"summary":"Curate Knowledge Insight","operationId":"curate_knowledge_insight_agent_v1_knowledge_insights__insight_id__curation_post","parameters":[{"name":"insight_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Insight Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InsightCuration"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/v1/knowledge/insights":{"post":{"tags":["agent-knowledge"],"summary":"Create Knowledge Insight","description":"Save a grounded synthesis under the caller's explicit entity/project scope.","operationId":"create_knowledge_insight_agent_v1_knowledge_insights_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InsightWrite"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["agent-knowledge"],"summary":"List Knowledge Insights","operationId":"list_knowledge_insights_agent_v1_knowledge_insights_get","parameters":[{"name":"entity_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Entity Id"}},{"name":"project_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Project Id"}},{"name":"query","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":300},{"type":"null"}],"title":"Query"}},{"name":"tag","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":80},{"type":"null"}],"title":"Tag"}},{"name":"include_archived","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Archived"}},{"name":"sort","in":"query","required":false,"schema":{"enum":["updated_at","title","created_at"],"type":"string","default":"updated_at","title":"Sort"}},{"name":"order","in":"query","required":false,"schema":{"enum":["asc","desc"],"type":"string","default":"desc","title":"Order"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","maximum":2147483547,"minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/v1/knowledge/insights/{insight_id}":{"put":{"tags":["agent-knowledge"],"summary":"Update Knowledge Insight","description":"Replace a synthesis at its expected revision; _save authorizes the actor.","operationId":"update_knowledge_insight_agent_v1_knowledge_insights__insight_id__put","parameters":[{"name":"insight_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Insight Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InsightWrite"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["agent-knowledge"],"summary":"Edit Knowledge Insight Text","description":"Version a text correction without replacing any stored evidence references.","operationId":"edit_knowledge_insight_text_agent_v1_knowledge_insights__insight_id__patch","parameters":[{"name":"insight_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Insight Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InsightTextEdit"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["agent-knowledge"],"summary":"Get Knowledge Insight","operationId":"get_knowledge_insight_agent_v1_knowledge_insights__insight_id__get","parameters":[{"name":"insight_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Insight Id"}},{"name":"entity_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Entity Id"}},{"name":"project_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Project Id"}},{"name":"revision","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":1},{"type":"null"}],"title":"Revision"}},{"name":"include_evidence","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Include Evidence"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/v1/knowledge/context":{"get":{"tags":["agent-knowledge"],"summary":"Get Knowledge Context","description":"A bounded view of current canonical records; never a second generated store.","operationId":"get_knowledge_context_agent_v1_knowledge_context_get","parameters":[{"name":"entity_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Entity Id"}},{"name":"project_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Project Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","maximum":2147483547,"minimum":0,"default":0,"title":"Offset"}},{"name":"max_chars","in":"query","required":false,"schema":{"type":"integer","maximum":50000,"minimum":500,"default":16000,"title":"Max Chars"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/v1/knowledge/content":{"get":{"tags":["agent-knowledge"],"summary":"List Knowledge Content","description":"Discover source IDs across an authorized entity, including shared entities.","operationId":"list_knowledge_content_agent_v1_knowledge_content_get","parameters":[{"name":"entity_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Entity Id"}},{"name":"project_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Project Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","maximum":2147483547,"minimum":0,"default":0,"title":"Offset"}},{"name":"platform","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":1,"maxLength":60},{"type":"null"}],"title":"Platform"}},{"name":"personal","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Personal"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/v1/knowledge/content/{content_id}":{"get":{"tags":["agent-knowledge"],"summary":"Get Knowledge Content","description":"Read original uncited source text so agents can form exact citations.","operationId":"get_knowledge_content_agent_v1_knowledge_content__content_id__get","parameters":[{"name":"content_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Content Id"}},{"name":"entity_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Entity Id"}},{"name":"project_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Project Id"}},{"name":"personal","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Personal"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/v1/knowledge/content/{content_id}/acquisitions":{"get":{"tags":["agent-knowledge"],"summary":"Get Content Acquisitions","description":"Read provider history in stable ID order, under the current source scope.","operationId":"get_content_acquisitions_agent_v1_knowledge_content__content_id__acquisitions_get","parameters":[{"name":"content_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Content Id"}},{"name":"entity_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Entity Id"}},{"name":"project_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Project Id"}},{"name":"after","in":"query","required":false,"schema":{"type":"integer","maximum":9223372036854775807,"minimum":0,"default":0,"title":"After"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Limit"}},{"name":"personal","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Personal"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/v1/knowledge/sources/{source_revision_id}":{"get":{"tags":["agent-knowledge"],"summary":"Get Knowledge Source","operationId":"get_knowledge_source_agent_v1_knowledge_sources__source_revision_id__get","parameters":[{"name":"source_revision_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Source Revision Id"}},{"name":"entity_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Entity Id"}},{"name":"project_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Project Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/v1/knowledge/changes":{"get":{"tags":["agent-knowledge"],"summary":"Get Knowledge Changes","operationId":"get_knowledge_changes_agent_v1_knowledge_changes_get","parameters":[{"name":"entity_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Entity Id"}},{"name":"project_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Project Id"}},{"name":"after","in":"query","required":false,"schema":{"type":"integer","maximum":9223372036854775807,"minimum":0,"default":0,"title":"After"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/v1/metrics/provider-usage":{"get":{"tags":["metrics"],"summary":"Get Provider Usage","description":"Get LLM provider usage statistics.\n\nReturns provider usage counts, percentages, costs, and overall metrics.\n\nReturns:\n    dict: Provider usage statistics including:\n        - total_requests: Total number of LLM requests\n        - providers: Dictionary of provider stats (uses, percentage, cost)\n        - timestamp: When stats were generated","operationId":"get_provider_usage_agent_v1_metrics_provider_usage_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/agent/v1/metrics/health":{"get":{"tags":["metrics"],"summary":"Get Metrics Health","description":"Get metrics system health status.\n\nReturns:\n    dict: Health status including available providers","operationId":"get_metrics_health_agent_v1_metrics_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/discord/resolve-invite":{"post":{"tags":["source-management"],"summary":"Resolve Discord Invite","description":"Resolve a Discord invite link to get server information.\nReturns guild info, whether our bot is in the server, and available channels.","operationId":"resolve_discord_invite_api_discord_resolve_invite_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResolveInviteRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResolveInviteResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/channels/reddit-collect":{"post":{"tags":["source-management"],"summary":"Collect Reddit For Ingestion","description":"Collect citation-backed Reddit sources for the private ingestion worker.","operationId":"collect_reddit_for_ingestion_api_channels_reddit_collect_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CollectRedditRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/reddit/validate-subreddit":{"post":{"tags":["source-management"],"summary":"Validate Subreddit","description":"Validate that a subreddit exists and is accessible.","operationId":"validate_subreddit_api_reddit_validate_subreddit_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidateSubredditRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidateSubredditResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/slack/oauth/start":{"get":{"tags":["source-management"],"summary":"Slack Oauth Start","description":"Return an authorize URL bound to the verified user with signed state.","operationId":"slack_oauth_start_api_slack_oauth_start_get","parameters":[{"name":"return_to","in":"query","required":false,"schema":{"type":"string","default":"","title":"Return To"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/slack/oauth/callback":{"get":{"tags":["source-management"],"summary":"Slack Oauth Callback","description":"Handle Slack OAuth callback — exchange code for token, store installation.","operationId":"slack_oauth_callback_api_slack_oauth_callback_get","parameters":[{"name":"code","in":"query","required":false,"schema":{"type":"string","default":"","title":"Code"}},{"name":"state","in":"query","required":false,"schema":{"type":"string","default":"","title":"State"}},{"name":"error","in":"query","required":false,"schema":{"type":"string","default":"","title":"Error"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/slack/channels":{"get":{"tags":["source-management"],"summary":"List Slack Channels","description":"List Slack channels for a user's connected workspace.","operationId":"list_slack_channels_api_slack_channels_get","parameters":[{"name":"team_id","in":"query","required":true,"schema":{"type":"string","title":"Team Id"}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","default":"","title":"Cursor"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/slack/installations":{"get":{"tags":["source-management"],"summary":"Get Slack Installations","description":"Get all Slack workspaces connected by a user.","operationId":"get_slack_installations_api_slack_installations_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/slack/sync":{"post":{"tags":["source-management"],"summary":"Sync Slack Channel","description":"Import one explicitly selected Slack channel page into entity evidence.","operationId":"sync_slack_channel_api_slack_sync_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SlackSyncRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/slack/messages":{"post":{"tags":["source-management"],"summary":"Send Slack Message","description":"Post one user-reviewed message through the customer's installation.","operationId":"send_slack_message_api_slack_messages_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SlackMessageRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/granola/validate-key":{"post":{"tags":["source-management"],"summary":"Validate Granola Key","description":"Validate a Granola API key against the official public Notes API.","operationId":"validate_granola_key_api_granola_validate_key_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GranolaKeyRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/granola/sync":{"post":{"tags":["source-management"],"summary":"Sync Granola Notes","description":"Import one bounded note page; summaries never become transcript quotations.","operationId":"sync_granola_notes_api_granola_sync_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GranolaSyncRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/user/keys":{"post":{"tags":["API Key Management"],"summary":"Create API key","description":"Create a new API key. The raw key is returned once and never stored.","operationId":"create_key_api_user_keys_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateKeyRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["API Key Management"],"summary":"List API keys","description":"List all API keys for the authenticated user. Keys are masked.","operationId":"list_keys_api_user_keys_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/user/keys/{key_id}":{"delete":{"tags":["API Key Management"],"summary":"Revoke API key","description":"Soft-delete an API key by setting is_active=false.","operationId":"revoke_key_api_user_keys__key_id__delete","parameters":[{"name":"key_id","in":"path","required":true,"schema":{"type":"string","title":"Key Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/user/keys/{key_id}/usage":{"get":{"tags":["API Key Management"],"summary":"Get key usage stats","description":"Get usage stats for a specific API key, grouped by scope and month.","operationId":"get_key_usage_api_user_keys__key_id__usage_get","parameters":[{"name":"key_id","in":"path","required":true,"schema":{"type":"string","title":"Key Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/observations/submit":{"post":{"tags":["observations"],"summary":"Submit Observations","description":"Submit 1-50 observations.\n\nAuth (two modes):\n1. Connector API key via X-Api-Key header or Authorization: Bearer cl_obs_* — scopes to connector's project.\n2. User JWT via Authorization: Bearer <jwt> — requires project_id in request body.\n\nAtomically accepts immutable source snapshots and acknowledges each stored ID.\nExact retries return the same IDs. Redis is an optional cron wakeup.","operationId":"submit_observations_api_observations_submit_post","parameters":[{"name":"X-Api-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubmitObservationsRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/observations/feed":{"get":{"tags":["observations"],"summary":"Get Observation Feed","description":"Get observation feed for a project.\n\nAuth: User JWT (via middleware setting request.state.user_id).\nReturns observations ordered by created_at DESC with optional filters.","operationId":"get_observation_feed_api_observations_feed_get","parameters":[{"name":"project_id","in":"query","required":true,"schema":{"type":"string","description":"Project ID to get observations for","title":"Project Id"},"description":"Project ID to get observations for"},{"name":"type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by observation_type","title":"Type"},"description":"Filter by observation_type"},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by processing_status","title":"Status"},"description":"Filter by processing_status"},{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":90,"minimum":1,"description":"Number of days to look back","default":7,"title":"Days"},"description":"Number of days to look back"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"description":"Maximum observations to return","default":50,"title":"Limit"},"description":"Maximum observations to return"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/observations/themes":{"get":{"tags":["observations"],"summary":"Get Observation Themes","description":"Get observation themes with stats for a project.\n\nAuth: User JWT.\nReturns themes ordered by observation_count DESC.","operationId":"get_observation_themes_api_observations_themes_get","parameters":[{"name":"project_id","in":"query","required":true,"schema":{"type":"string","description":"Project ID to get themes for","title":"Project Id"},"description":"Project ID to get themes for"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Maximum themes to return","default":20,"title":"Limit"},"description":"Maximum themes to return"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/observations/themes/{theme_id}":{"get":{"tags":["observations"],"summary":"Get Theme Detail","description":"Get a single theme with its linked observations.\n\nAuth: User JWT.\nReturns the theme record and all observations linked via observation_theme_links.","operationId":"get_theme_detail_api_observations_themes__theme_id__get","parameters":[{"name":"theme_id","in":"path","required":true,"schema":{"type":"string","title":"Theme Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/observations/process":{"post":{"tags":["observations"],"summary":"Trigger Observation Processing","description":"Trigger observation processing pipeline for a project.\n\nAuth: User JWT or cron key (via X-Cron-Key header matching CRON_SECRET env var).\nCalls the observation_processor.process_observations() function.","operationId":"trigger_observation_processing_api_observations_process_post","parameters":[{"name":"X-Cron-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Cron-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/observations/resolved":{"get":{"tags":["observations"],"summary":"Get Resolved Observations Endpoint","description":"Get recently resolved observations for a project.\n\nAuth: User JWT.\nReturns observations that have been resolved (via kanban card status changes)\nwithin the specified time window.","operationId":"get_resolved_observations_endpoint_api_observations_resolved_get","parameters":[{"name":"project_id","in":"query","required":true,"schema":{"type":"string","description":"Project ID","title":"Project Id"},"description":"Project ID"},{"name":"since_days","in":"query","required":false,"schema":{"type":"integer","maximum":90,"minimum":1,"description":"Days to look back","default":7,"title":"Since Days"},"description":"Days to look back"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/observations/{observation_id}/resolve":{"post":{"tags":["observations"],"summary":"Resolve Observation Endpoint","description":"Manually resolve a single observation.\n\nAuth: User JWT.\nSets the resolution status and optional note on an observation.","operationId":"resolve_observation_endpoint_api_observations__observation_id__resolve_post","parameters":[{"name":"observation_id","in":"path","required":true,"schema":{"type":"string","title":"Observation Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResolveObservationRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/connectors":{"post":{"tags":["connectors"],"summary":"Create connector","description":"Create a new agent connector with a unique observation API key.\nReturns the full API key (shown once only on creation).","operationId":"create_connector_api_connectors_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateConnectorRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["connectors"],"summary":"List connectors","description":"List all connectors for the authenticated user.\nOptionally filter by project_id. API keys are masked in the response.","operationId":"list_connectors_api_connectors_get","parameters":[{"name":"project_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Project Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/connectors/{connector_id}":{"delete":{"tags":["connectors"],"summary":"Deactivate connector","description":"Soft-deactivate a connector by setting is_active=False.","operationId":"deactivate_connector_api_connectors__connector_id__delete","parameters":[{"name":"connector_id","in":"path","required":true,"schema":{"type":"string","title":"Connector Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/entities/discovery/x-affiliates":{"get":{"tags":["entities"],"summary":"X Organization Affiliates","operationId":"x_organization_affiliates_api_entities_discovery_x_affiliates_get","parameters":[{"name":"organization","in":"query","required":true,"schema":{"type":"string","minLength":1,"maxLength":500,"title":"Organization"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Cursor"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/entities":{"post":{"tags":["entities"],"summary":"Create Entity","description":"Create a new entity (named thing to track).","operationId":"create_entity_api_entities_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateEntityRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["entities"],"summary":"List Entities","description":"List current personal/shared entities and their saved source configuration.","operationId":"list_entities_api_entities_get","parameters":[{"name":"workspace_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/entities/onboarding":{"post":{"tags":["entities"],"summary":"Complete Onboarding","description":"Create the complete onboarding workspace in one database transaction.","operationId":"complete_onboarding_api_entities_onboarding_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompleteOnboardingRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/entities/workspace-context":{"get":{"tags":["entities"],"summary":"Get Workspace Context","description":"Returns structured overview of all tracked entities with key findings.\n\nProvides a single-call snapshot of every entity the user tracks, including\nrecent KB pages, observation counts, and active theme counts. Designed\nfor agents that need cross-entity awareness without N+1 queries.","operationId":"get_workspace_context_api_entities_workspace_context_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/entities/{entity_id}":{"get":{"tags":["entities"],"summary":"Get Entity","description":"Get entity with its child products.","operationId":"get_entity_api_entities__entity_id__get","parameters":[{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","title":"Entity Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["entities"],"summary":"Update Entity","description":"Update an entity's properties.","operationId":"update_entity_api_entities__entity_id__put","parameters":[{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","title":"Entity Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateEntityRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["entities"],"summary":"Delete Entity","description":"Delete an entity and its child products (CASCADE).","operationId":"delete_entity_api_entities__entity_id__delete","parameters":[{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","title":"Entity Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/entities/{entity_id}/content":{"get":{"tags":["entities"],"summary":"Get Entity Content","description":"List stored content for an entity or all user content.\n\nReturns paginated content_store items: posts, videos with engagement\nand comment counts. The persistent content layer that analyses build on.\n\nPass entity_id=\"all\" to get all user content (not filtered by entity).\n\nQuery params:\n    platform: Filter by platform (tiktok, youtube, reddit, instagram)\n    limit: Max results (default 50)\n    offset: Pagination offset (default 0)","operationId":"get_entity_content_api_entities__entity_id__content_get","parameters":[{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","title":"Entity Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/entities/{entity_id}/analytics":{"get":{"tags":["entities"],"summary":"Get Entity Analytics","description":"Temporal + comparative analytics from existing content data.\n\nComputes mention timelines, sentiment trajectories, platform breakdowns,\nand per-insight velocity metrics via in-Python aggregation over content_store,\nopinion_units, entity_insights, and insight_evidence.","operationId":"get_entity_analytics_api_entities__entity_id__analytics_get","parameters":[{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","title":"Entity Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/entities/{entity_id}/pipeline-summary":{"get":{"tags":["entities"],"summary":"Get Pipeline Summary","description":"Return processing stage counts for an entity's content_store rows.","operationId":"get_pipeline_summary_api_entities__entity_id__pipeline_summary_get","parameters":[{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","title":"Entity Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/entities/{entity_id}/link":{"post":{"tags":["entities"],"summary":"Link Entity To Project","description":"Link an entity to a project.","operationId":"link_entity_to_project_api_entities__entity_id__link_post","parameters":[{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","title":"Entity Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LinkEntityRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/entities/{entity_id}/link/{project_id}":{"delete":{"tags":["entities"],"summary":"Unlink Entity From Project","description":"Unlink an entity from a project.","operationId":"unlink_entity_from_project_api_entities__entity_id__link__project_id__delete","parameters":[{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","title":"Entity Id"}},{"name":"project_id","in":"path","required":true,"schema":{"type":"string","title":"Project Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/entities/project/{project_id}":{"get":{"tags":["entities"],"summary":"List Project Entities","description":"List all entities linked to a project.","operationId":"list_project_entities_api_entities_project__project_id__get","parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","title":"Project Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/entities/public/{project_id}":{"get":{"tags":["entities"],"summary":"List Public Project Entities","description":"List entities for a public project (no auth required).","operationId":"list_public_project_entities_api_entities_public__project_id__get","parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","title":"Project Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/entities/{entity_id}/config/compare":{"patch":{"tags":["entities"],"summary":"Compare Entity Config","description":"Reject stale edits without replacing another writer's saved configuration.","operationId":"compare_entity_config_api_entities__entity_id__config_compare_patch","parameters":[{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Entity Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompareConfigRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/entities/{entity_id}/config":{"patch":{"tags":["entities"],"summary":"Patch Entity Config","description":"Merge top-level keys atomically; null deletes only that key.","operationId":"patch_entity_config_api_entities__entity_id__config_patch","parameters":[{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Entity Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PatchConfigRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/entities/trigger-research":{"post":{"tags":["entities"],"summary":"Trigger Entity Research","description":"Find entities due for research. Returns list of due entities for the calling agent to process.\n\nFiltering logic:\n- research_enabled is not explicitly false\n- no queued or running research job in the durable ledger\n- last_research_at older than research_interval_hours (default 24)\n- entity has at least one linked project\n- max 5 concurrent entity jobs in the workspace (or personal owner scope)","operationId":"trigger_entity_research_api_entities_trigger_research_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TriggerResearchRequest","default":{}}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/entities/{entity_id}/enrich":{"post":{"tags":["entities"],"summary":"Enrich Entity","description":"Manual fallback: trigger server-side enrichment via LLM + web search.\n\nPrimary enrichment is agent-driven via entity-research SKILL.md.\nThis endpoint exists for users without a connected agent.","operationId":"enrich_entity_api_entities__entity_id__enrich_post","parameters":[{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","title":"Entity Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/entities/{entity_id}/enrich-sync":{"post":{"tags":["entities"],"summary":"Enrich Entity Sync","description":"Synchronous enrichment: waits for result and returns extracted fields.\n\nUsed during onboarding verification step. Returns description, industry,\nkeywords, and suggested_tags for user to review before proceeding.","operationId":"enrich_entity_sync_api_entities__entity_id__enrich_sync_post","parameters":[{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","title":"Entity Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/entities/discover-competitors":{"post":{"tags":["entities"],"summary":"Discover Competitors","description":"Find competitors using the supported discovery service + LLM extraction.","operationId":"discover_competitors_api_entities_discover_competitors_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DiscoverCompetitorsRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/entities/scheduler/health":{"get":{"tags":["entities"],"summary":"Scheduler Health","description":"Scheduler status + per-entity team status for the authenticated user.","operationId":"scheduler_health_api_entities_scheduler_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/entities/{entity_id}/insights":{"get":{"tags":["entities"],"summary":"Get Entity Insights","description":"Get pre-computed insights for an entity.","operationId":"get_entity_insights_api_entities__entity_id__insights_get","parameters":[{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","title":"Entity Id"}},{"name":"category","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/entities/{entity_id}/skills":{"get":{"tags":["entities"],"summary":"Get Entity Skills","operationId":"get_entity_skills_api_entities__entity_id__skills_get","parameters":[{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Entity Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["entities"],"summary":"Save Entity Skills","operationId":"save_entity_skills_api_entities__entity_id__skills_put","parameters":[{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Entity Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SkillSettings"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/entities/{entity_id}/skill-routines":{"get":{"tags":["entities"],"summary":"Get Skill Routines","operationId":"get_skill_routines_api_entities__entity_id__skill_routines_get","parameters":[{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Entity Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/entities/{entity_id}/skills/{skill_id}/routine":{"put":{"tags":["entities"],"summary":"Configure Skill Routine","operationId":"configure_skill_routine_api_entities__entity_id__skills__skill_id__routine_put","parameters":[{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Entity Id"}},{"name":"skill_id","in":"path","required":true,"schema":{"type":"string","title":"Skill Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SkillRoutineSettings"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/entities/{entity_id}/skill-runs":{"get":{"tags":["entities"],"summary":"List Skill Runs","operationId":"list_skill_runs_api_entities__entity_id__skill_runs_get","parameters":[{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","title":"Entity Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/entities/{entity_id}/skills/{skill_id}/runs":{"post":{"tags":["entities"],"summary":"Run Saved Skill","operationId":"run_saved_skill_api_entities__entity_id__skills__skill_id__runs_post","parameters":[{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","title":"Entity Id"}},{"name":"skill_id","in":"path","required":true,"schema":{"type":"string","title":"Skill Id"}},{"name":"source_mode","in":"query","required":false,"schema":{"type":"string","default":"saved","title":"Source Mode"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/entities/{entity_id}/insights/generate":{"post":{"tags":["entities"],"summary":"Generate Entity Insights","description":"Queue the same stored-source job used by collectors and sweeps.","operationId":"generate_entity_insights_api_entities__entity_id__insights_generate_post","parameters":[{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","title":"Entity Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/entities/{entity_id}/insights/{insight_id}":{"patch":{"tags":["entities"],"summary":"Update Insight Status","description":"Update insight status (investigating, actioned, resolved) or urgency.","operationId":"update_insight_status_api_entities__entity_id__insights__insight_id__patch","parameters":[{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","title":"Entity Id"}},{"name":"insight_id","in":"path","required":true,"schema":{"type":"string","title":"Insight Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/entities/{entity_id}/insights/{insight_id}/generate-artifact":{"post":{"tags":["entities"],"summary":"Generate Insight Artifact","description":"Generate an artifact (PRD, battlecard, etc.) from an insight.","operationId":"generate_insight_artifact_api_entities__entity_id__insights__insight_id__generate_artifact_post","parameters":[{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","title":"Entity Id"}},{"name":"insight_id","in":"path","required":true,"schema":{"type":"string","title":"Insight Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/entities/{entity_id}/topic-glossary":{"get":{"tags":["entities"],"summary":"Get Topic Glossary","description":"Generate a topic glossary from the entity's knowledge base.\n\nParses the entity's compounding KB document (research/{slug}) and extracts\na structured topic tree for the left sidebar navigation.","operationId":"get_topic_glossary_api_entities__entity_id__topic_glossary_get","parameters":[{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","title":"Entity Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/entities/{entity_id}/generate-report":{"post":{"tags":["entities"],"summary":"Generate Research Report","description":"Generate a comprehensive research report from all crowd signals for an entity.","operationId":"generate_research_report_api_entities__entity_id__generate_report_post","parameters":[{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","title":"Entity Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/entities/{entity_id}/relationships":{"get":{"tags":["entities"],"summary":"Get Entity Relationships","description":"Returns related entities with relationship types and evidence counts.","operationId":"get_entity_relationships_api_entities__entity_id__relationships_get","parameters":[{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","title":"Entity Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/entities/{entity_id}/activity":{"get":{"tags":["entities"],"summary":"Get Entity Activity","description":"Returns recent agent activity log entries for an entity.","operationId":"get_entity_activity_api_entities__entity_id__activity_get","parameters":[{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","title":"Entity Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":20,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/entities/{entity_id}/aliases":{"get":{"tags":["entities"],"summary":"Get Entity Aliases","description":"List all aliases for an entity.","operationId":"get_entity_aliases_api_entities__entity_id__aliases_get","parameters":[{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","title":"Entity Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["entities"],"summary":"Add Entity Alias","description":"Add an alias for an entity. Body: { \"alias\": \"string\", \"source\": \"manual\"|\"enrichment\"|\"inferred\"|\"social_handle\" }","operationId":"add_entity_alias_api_entities__entity_id__aliases_post","parameters":[{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","title":"Entity Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/entities/{entity_id}/aliases/{alias_id}":{"delete":{"tags":["entities"],"summary":"Delete Entity Alias","description":"Delete an alias.","operationId":"delete_entity_alias_api_entities__entity_id__aliases__alias_id__delete","parameters":[{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","title":"Entity Id"}},{"name":"alias_id","in":"path","required":true,"schema":{"type":"string","title":"Alias Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/entities/{entity_id}/usage-account":{"post":{"tags":["AWB integration"],"summary":"Connect Workspace Usage","description":"Connect from the owner's CrowdListen session; no external personal key.","operationId":"connect_workspace_usage_api_entities__entity_id__usage_account_post","parameters":[{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Entity Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceUsageRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["AWB integration"],"summary":"Balance","operationId":"balance_api_entities__entity_id__usage_account_get","parameters":[{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Entity Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/integrations/awb/connection":{"get":{"tags":["AWB integration"],"summary":"Connection","operationId":"connection_api_v1_integrations_awb_connection_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/entities/{entity_id}/usage-account/switch-to-production":{"get":{"tags":["AWB integration"],"summary":"Production Billing Proposal","operationId":"production_billing_proposal_api_entities__entity_id__usage_account_switch_to_production_get","parameters":[{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Entity Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["AWB integration"],"summary":"Switch Production Billing","operationId":"switch_production_billing_api_entities__entity_id__usage_account_switch_to_production_post","parameters":[{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Entity Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingTransitionRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["AWB integration"],"summary":"Cancel Production Billing","operationId":"cancel_production_billing_api_entities__entity_id__usage_account_switch_to_production_delete","parameters":[{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Entity Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingTransitionCancel"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/entities/{entity_id}/integrations/awb":{"post":{"tags":["AWB integration"],"summary":"Connect","operationId":"connect_api_entities__entity_id__integrations_awb_post","parameters":[{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Entity Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["AWB integration"],"summary":"Balance","operationId":"balance_api_entities__entity_id__integrations_awb_get","parameters":[{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Entity Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/entities/{entity_id}/usage-account/checkout":{"post":{"tags":["AWB integration"],"summary":"Workspace Checkout","operationId":"workspace_checkout_api_entities__entity_id__usage_account_checkout_post","parameters":[{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Entity Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceCheckoutRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/entities/{entity_id}/usage-account/activate-credits":{"post":{"tags":["AWB integration"],"summary":"Activate Prepaid","description":"Owner-approved, retry-safe migration; no checkout or provider work.","operationId":"activate_prepaid_api_entities__entity_id__usage_account_activate_credits_post","parameters":[{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Entity Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PrepaidActivationRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/integrations/awb/analysis":{"post":{"tags":["AWB integration"],"summary":"Analyze","operationId":"analyze_api_v1_integrations_awb_analysis_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedbackRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/v1/models/router":{"get":{"tags":["Models"],"summary":"Model Router Status","operationId":"model_router_status_agent_v1_models_router_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/sweeps/focus":{"get":{"tags":["sweeps"],"summary":"Get Sweep Focus","description":"Read the shared Product/Marketing focus and scheduler settings.","operationId":"get_sweep_focus_api_sweeps_focus_get","parameters":[{"name":"entity_id","in":"query","required":true,"schema":{"type":"string","title":"Entity Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["sweeps"],"summary":"Update Sweep Focus","description":"Update shared focus as an editor/owner; viewers remain read-only.","operationId":"update_sweep_focus_api_sweeps_focus_patch","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FocusUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/sweeps/run":{"post":{"tags":["sweeps"],"summary":"Run Sweeps","description":"Run a bounded cron sweep or one editor-authorized manual sweep.","operationId":"run_sweeps_api_sweeps_run_post","parameters":[{"name":"X-Cron-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Cron-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SweepRunRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/sweeps/objects":{"post":{"tags":["sweeps"],"summary":"Create Workflow Object","description":"Create an open, user-authored workflow Action for an entity.","operationId":"create_workflow_object_api_sweeps_objects_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowObjectCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["sweeps"],"summary":"List Enrichment Objects","description":"Return general workflows and legacy generated Actions for an entity.","operationId":"list_enrichment_objects_api_sweeps_objects_get","parameters":[{"name":"entity_id","in":"query","required":true,"schema":{"type":"string","title":"Entity Id"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"enum":["open","acting","done","dismissed"],"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"object_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Object Type"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","maximum":2147483447,"minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/sweeps/objects/{object_id}":{"patch":{"tags":["sweeps"],"summary":"Update Enrichment Object","description":"Advance/dismiss an action object as a workspace editor or owner.","operationId":"update_enrichment_object_api_sweeps_objects__object_id__patch","parameters":[{"name":"object_id","in":"path","required":true,"schema":{"type":"string","title":"Object Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnrichmentObjectUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/sweeps/health":{"get":{"tags":["sweeps"],"summary":"Sweeps Health","description":"Return recent activity only for an entity the caller can read.","operationId":"sweeps_health_api_sweeps_health_get","parameters":[{"name":"entity_id","in":"query","required":true,"schema":{"type":"string","title":"Entity Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/sweeps/objects/{action_id}/executions":{"post":{"tags":["action-executions"],"summary":"Create Execution Run","description":"Create an explicitly approved handoff for a host agent to execute.","operationId":"create_execution_run_api_sweeps_objects__action_id__executions_post","parameters":[{"name":"action_id","in":"path","required":true,"schema":{"type":"string","title":"Action Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExecutionRunCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["action-executions"],"summary":"List Execution Runs","description":"List execution handoffs and reviewed outcomes for an Action.","operationId":"list_execution_runs_api_sweeps_objects__action_id__executions_get","parameters":[{"name":"action_id","in":"path","required":true,"schema":{"type":"string","title":"Action Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/sweeps/executions/{execution_id}":{"patch":{"tags":["action-executions"],"summary":"Update Execution Run","description":"Persist a host-agent outcome; owners alone approve portable training use.","operationId":"update_execution_run_api_sweeps_executions__execution_id__patch","parameters":[{"name":"execution_id","in":"path","required":true,"schema":{"type":"string","title":"Execution Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExecutionRunUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/highlights":{"post":{"tags":["highlights"],"summary":"Save Highlight","description":"Save a single highlight to the knowledge table.","operationId":"save_highlight_api_highlights_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HighlightRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["highlights"],"summary":"Get Highlights","description":"Get highlights for a URL or entity.","operationId":"get_highlights_api_highlights_get","parameters":[{"name":"url","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"}},{"name":"entity_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/highlights/batch":{"post":{"tags":["highlights"],"summary":"Save Highlights Batch","description":"Save multiple highlights at once.","operationId":"save_highlights_batch_api_highlights_batch_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchHighlightRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/highlights/{highlight_id}":{"delete":{"tags":["highlights"],"summary":"Delete Highlight","description":"Delete a highlight.","operationId":"delete_highlight_api_highlights__highlight_id__delete","parameters":[{"name":"highlight_id","in":"path","required":true,"schema":{"type":"string","title":"Highlight Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/tools/analyze-url":{"post":{"tags":["tools-public"],"summary":"Analyze Url","description":"Analyze a single video URL — transcript, comments, engagement-weighted themes.\n\nPublic endpoint, no auth required. Rate limited to 3 per day per IP.\nSupports: TikTok, YouTube, Instagram, Reddit, X/Twitter, Hacker News.\n\nUses unified source_processing layer:\n1. process_source() → extract metadata + transcript + comments, enhance source + comments\n2. _cluster_opinions() → cluster enhanced comments into themes (single-URL operation)","operationId":"analyze_url_api_tools_analyze_url_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalyzeUrlRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/tools/transcribe":{"post":{"tags":["tools-audio"],"summary":"Transcribe Audio","description":"Transcribe uploaded audio file.\n\nFree (no auth): raw transcript, rate-limited 3/day.\nAuthenticated (user_id): unlimited + stores in content_store.\nAuthenticated + entity_slug: also enhances with KB context.","operationId":"transcribe_audio_api_tools_transcribe_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_transcribe_audio_api_tools_transcribe_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/tools/transcribe/enhance":{"post":{"tags":["tools-audio"],"summary":"Enhance Existing Transcript","description":"Enhance an existing transcript with entity KB context. Requires auth.","operationId":"enhance_existing_transcript_api_tools_transcribe_enhance_post","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_enhance_existing_transcript_api_tools_transcribe_enhance_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"ActionPlanInput":{"properties":{"skill":{"type":"string","enum":["prd","crm","campaign_brief","sales_enablement","workflow"],"title":"Skill"},"objective":{"type":"string","maxLength":500,"minLength":3,"title":"Objective"},"steps":{"items":{"type":"string"},"type":"array","maxItems":8,"minItems":1,"title":"Steps"},"owner":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}],"title":"Owner"},"timeframe_days":{"type":"integer","maximum":365.0,"minimum":1.0,"title":"Timeframe Days","default":30},"addressable_audience":{"anyOf":[{"type":"integer","maximum":1000000000.0,"minimum":1.0},{"type":"null"}],"title":"Addressable Audience"},"adoption_rate_low":{"anyOf":[{"type":"number","maximum":100.0,"minimum":0.0},{"type":"null"}],"title":"Adoption Rate Low"},"adoption_rate_high":{"anyOf":[{"type":"number","maximum":100.0,"minimum":0.0},{"type":"null"}],"title":"Adoption Rate High"},"outcome_rate_low":{"anyOf":[{"type":"number","maximum":100.0,"minimum":0.0},{"type":"null"}],"title":"Outcome Rate Low"},"outcome_rate_high":{"anyOf":[{"type":"number","maximum":100.0,"minimum":0.0},{"type":"null"}],"title":"Outcome Rate High"},"outcome_unit":{"anyOf":[{"type":"string","maxLength":80,"minLength":1},{"type":"null"}],"title":"Outcome Unit"},"success_metric":{"anyOf":[{"type":"string","maxLength":240,"minLength":3},{"type":"null"}],"title":"Success Metric"},"confidence":{"anyOf":[{"type":"string","enum":["low","medium","high"]},{"type":"null"}],"title":"Confidence"},"assumptions":{"anyOf":[{"items":{"type":"string"},"type":"array","maxItems":8},{"type":"null"}],"title":"Assumptions"}},"type":"object","required":["skill","objective","steps"],"title":"ActionPlanInput"},"AnalysesListResponse":{"properties":{"analyses":{"items":{"$ref":"#/components/schemas/AnalysisSummary"},"type":"array","title":"Analyses"},"pagination":{"$ref":"#/components/schemas/PaginationMetadata"}},"type":"object","required":["analyses","pagination"],"title":"AnalysesListResponse","description":"Response for analyses list endpoint"},"AnalysisContinueRequest":{"properties":{"message":{"type":"string","maxLength":2000,"minLength":1,"title":"Message","description":"Follow-up message"},"request_id":{"anyOf":[{"type":"string","maxLength":128,"minLength":8},{"type":"null"}],"title":"Request Id"}},"type":"object","required":["message"],"title":"AnalysisContinueRequest","description":"Request body for continuing analysis conversation"},"AnalysisOptions":{"properties":{"tag":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Tag","description":"Category tag"},"public":{"type":"boolean","title":"Public","description":"Make analysis publicly visible","default":false},"num_sources":{"anyOf":[{"type":"integer","maximum":200.0,"minimum":1.0},{"type":"null"}],"title":"Num Sources","description":"Number of sources to analyze"}},"type":"object","title":"AnalysisOptions","description":"Optional analysis configuration"},"AnalysisResponse":{"properties":{"id":{"type":"string","title":"Id"},"user_id":{"type":"string","title":"User Id"},"project_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Project Id"},"question":{"type":"string","title":"Question"},"takeaway":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Takeaway"},"sentiment":{"anyOf":[{"$ref":"#/components/schemas/SentimentData"},{"type":"null"}]},"opinions":{"anyOf":[{"items":{"$ref":"#/components/schemas/OpinionData"},"type":"array"},{"type":"null"}],"title":"Opinions"},"themes":{"anyOf":[{"items":{"$ref":"#/components/schemas/ThemeData"},"type":"array"},{"type":"null"}],"title":"Themes"},"sources":{"anyOf":[{"items":{"$ref":"#/components/schemas/SourceData"},"type":"array"},{"type":"null"}],"title":"Sources"},"related_topics":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Related Topics"},"tool_calls":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Tool Calls"},"tag":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tag"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"research_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Research Status"},"entity_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Id"},"public":{"type":"boolean","title":"Public"},"total_comments":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Comments"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"}},"additionalProperties":true,"type":"object","required":["id","user_id","question","public","created_at"],"title":"AnalysisResponse","description":"Complete analysis data"},"AnalysisRunRequest":{"properties":{"question":{"type":"string","maxLength":1000,"minLength":1,"title":"Question","description":"Analysis question"},"request_id":{"anyOf":[{"type":"string","maxLength":128,"minLength":8},{"type":"null"}],"title":"Request Id","description":"Idempotency key; changed inputs conflict"},"project_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Project Id","description":"Project UUID"},"options":{"anyOf":[{"$ref":"#/components/schemas/AnalysisOptions"},{"type":"null"}],"description":"Analysis options"},"mode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mode","description":"Analysis mode: 'crowd' or 'auto'"},"search_mode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search Mode","description":"Search mode: 'knowledge' (search stored KB + content_store, default), 'multi_source' (live web search), 'hybrid' (legacy alias), 'web_only', 'user_only', 'user_first'","default":"knowledge"},"platforms":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Platforms","description":"Platforms to search: reddit, twitter (X), github, news"},"urls":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Urls","description":"URLs pasted by user for MCP content extraction"},"uploaded_content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Uploaded Content","description":"Content from user-uploaded file (text, transcribed audio, etc.)"},"uploaded_file_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Uploaded File Name","description":"Original filename of uploaded content"},"provided_sources":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array","maxItems":2000,"minItems":1},{"type":"null"}],"title":"Provided Sources","description":"Supplied originals or stored source IDs; stored bodies are reloaded under caller scope"},"entity_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Id","description":"Entity UUID for scoped analysis (from frontend entity picker)"},"workspace_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Workspace Id","description":"Workspace UUID for content isolation in shared workspaces"},"skill":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Skill","description":"Skill ID (e.g., 'crowd-research') to influence analysis methodology"},"depth":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Depth","description":"Analysis depth: 'brief' (bounded discovery) or 'deep' (bounded discovery plus original text/comment extraction)","default":"brief"}},"type":"object","required":["question"],"title":"AnalysisRunRequest","description":"Request body for starting new analysis"},"AnalysisSummary":{"properties":{"id":{"type":"string","title":"Id"},"question":{"type":"string","title":"Question"},"takeaway":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Takeaway"},"tag":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tag"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"public":{"type":"boolean","title":"Public"},"total_comments":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Comments"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"}},"type":"object","required":["id","question","public","created_at"],"title":"AnalysisSummary","description":"Summary of an analysis for list view"},"AnalyzeUrlRequest":{"properties":{"url":{"type":"string","maxLength":500,"minLength":5,"title":"Url"},"entity_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Id"},"persist":{"type":"boolean","title":"Persist","default":false}},"type":"object","required":["url"],"title":"AnalyzeUrlRequest"},"BatchHighlightRequest":{"properties":{"highlights":{"items":{"$ref":"#/components/schemas/HighlightRequest"},"type":"array","maxItems":50,"minItems":1,"title":"Highlights"}},"type":"object","required":["highlights"],"title":"BatchHighlightRequest"},"BatchImportRequest":{"properties":{"urls":{"items":{"type":"string"},"type":"array","maxItems":50,"minItems":1,"title":"Urls","description":"URLs to import and analyze"},"entity_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Id","description":"Entity UUID to scope content to"},"question":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Question","description":"Focus query for synthesis (auto-generated if empty)"},"depth":{"anyOf":[{"type":"string","enum":["brief","deep"]},{"type":"null"}],"title":"Depth","default":"brief"},"project_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Project Id"},"workspace_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Workspace Id"},"request_id":{"anyOf":[{"type":"string","maxLength":128,"minLength":8},{"type":"null"}],"title":"Request Id"}},"type":"object","required":["urls"],"title":"BatchImportRequest","description":"Request body for batch URL import with processing."},"BillingTransitionCancel":{"properties":{"request_id":{"type":"string","format":"uuid","title":"Request Id"}},"type":"object","required":["request_id"],"title":"BillingTransitionCancel"},"BillingTransitionRequest":{"properties":{"request_id":{"type":"string","format":"uuid","title":"Request Id"},"expected_binding":{"type":"string","pattern":"^[a-f0-9]{32}$","title":"Expected Binding"},"policy_version":{"type":"string","maxLength":100,"minLength":1,"title":"Policy Version"},"spend_limit_credits":{"type":"integer","maximum":10000.0,"minimum":1.0,"title":"Spend Limit Credits"}},"type":"object","required":["request_id","expected_binding","policy_version","spend_limit_credits"],"title":"BillingTransitionRequest"},"Body_enhance_existing_transcript_api_tools_transcribe_enhance_post":{"properties":{"transcript":{"type":"string","title":"Transcript"},"entity_slug":{"type":"string","title":"Entity Slug"}},"type":"object","required":["transcript","entity_slug"],"title":"Body_enhance_existing_transcript_api_tools_transcribe_enhance_post"},"Body_extract_context_file_agent_v1_context_extract_post":{"properties":{"file":{"type":"string","format":"binary","title":"File"}},"type":"object","required":["file"],"title":"Body_extract_context_file_agent_v1_context_extract_post"},"Body_transcribe_audio_api_tools_transcribe_post":{"properties":{"file":{"type":"string","format":"binary","title":"File"},"entity_slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Slug"}},"type":"object","required":["file"],"title":"Body_transcribe_audio_api_tools_transcribe_post"},"Body_upload_context_file_agent_v1_context_upload_post":{"properties":{"file":{"type":"string","format":"binary","title":"File"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Path"},"project_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Project Id"}},"type":"object","required":["file"],"title":"Body_upload_context_file_agent_v1_context_upload_post"},"CollectRedditRequest":{"properties":{"subreddit":{"type":"string","title":"Subreddit"},"sort":{"type":"string","title":"Sort","default":"hot"},"limit":{"type":"integer","title":"Limit","default":25}},"type":"object","required":["subreddit"],"title":"CollectRedditRequest"},"CommentItem":{"properties":{"id":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Id"},"url":{"anyOf":[{"type":"string","maxLength":5000},{"type":"null"}],"title":"Url"},"published_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Published At"},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata"},"text":{"type":"string","maxLength":50000,"minLength":1,"title":"Text"},"author":{"type":"string","maxLength":500,"title":"Author","default":"unknown"},"likes":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Likes"},"replies":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Replies"}},"type":"object","required":["text"],"title":"CommentItem"},"CompareConfigRequest":{"properties":{"config":{"additionalProperties":true,"type":"object","title":"Config"},"expected":{"additionalProperties":true,"type":"object","title":"Expected"}},"additionalProperties":false,"type":"object","required":["config","expected"],"title":"CompareConfigRequest"},"CompleteOnboardingRequest":{"properties":{"research_objectives":{"anyOf":[{"items":{"$ref":"#/components/schemas/ResearchObjective"},"type":"array","maxItems":5},{"type":"null"}],"title":"Research Objectives"},"company":{"$ref":"#/components/schemas/OnboardingCompanyRequest"},"request_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Request Id"},"workspace_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Workspace Id"},"source_intent":{"items":{"type":"string"},"type":"array","maxItems":16,"title":"Source Intent"},"collection_mode":{"type":"string","enum":["agent","server"],"title":"Collection Mode","default":"server"},"collection_client":{"anyOf":[{"type":"string","enum":["Cursor","Claude Code","Codex","OpenClaw"]},{"type":"null"}],"title":"Collection Client"},"products":{"items":{"$ref":"#/components/schemas/OnboardingRelatedEntityRequest"},"type":"array","maxItems":20,"title":"Products"},"competitors":{"items":{"$ref":"#/components/schemas/OnboardingRelatedEntityRequest"},"type":"array","maxItems":20,"title":"Competitors"}},"type":"object","required":["company"],"title":"CompleteOnboardingRequest"},"ConnectRequest":{"properties":{"awb_key":{"type":"string","maxLength":200,"minLength":40,"title":"Awb Key"},"spend_limit_cents":{"type":"integer","maximum":10000.0,"minimum":1.0,"title":"Spend Limit Cents"},"environment":{"type":"string","enum":["production","test"],"title":"Environment","default":"production"}},"type":"object","required":["awb_key","spend_limit_cents"],"title":"ConnectRequest"},"CoverageRecordRequest":{"properties":{"entity_id":{"type":"string","maxLength":100,"minLength":1,"title":"Entity Id"},"platform":{"$ref":"#/components/schemas/Platform"},"collector":{"type":"string","maxLength":200,"title":"Collector","default":"unknown"},"collection_scope":{"type":"string","maxLength":200,"title":"Collection Scope","default":"unknown"},"coverage_state":{"type":"string","pattern":"^(exhaustive|sampled|bounded|blocked|unknown)$","title":"Coverage State","description":"Whether the collector proved full coverage for the declared scope/window."},"run_id":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Run Id"},"query":{"anyOf":[{"type":"string","maxLength":5000},{"type":"null"}],"title":"Query"},"started_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Started At"},"finished_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Finished At"},"targets":{"items":{"$ref":"#/components/schemas/CoverageTarget"},"type":"array","maxItems":200,"title":"Targets"},"totals":{"additionalProperties":true,"type":"object","title":"Totals"},"notes":{"anyOf":[{"type":"string","maxLength":5000},{"type":"null"}],"title":"Notes"}},"type":"object","required":["entity_id","platform","coverage_state"],"title":"CoverageRecordRequest"},"CoverageRecordResponse":{"properties":{"status":{"type":"string","title":"Status"},"entity_id":{"type":"string","title":"Entity Id"},"run_id":{"type":"string","title":"Run Id"},"coverage_state":{"type":"string","title":"Coverage State"},"targets_recorded":{"type":"integer","title":"Targets Recorded"}},"type":"object","required":["status","entity_id","run_id","coverage_state","targets_recorded"],"title":"CoverageRecordResponse"},"CoverageTarget":{"properties":{"target":{"type":"string","maxLength":500,"minLength":1,"title":"Target"},"target_type":{"type":"string","maxLength":100,"title":"Target Type","default":"account"},"role":{"type":"string","maxLength":100,"title":"Role","default":"unknown"},"source_group":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Source Group"},"sender_type":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Sender Type"},"status":{"type":"string","maxLength":100,"title":"Status","default":"unknown"},"items_found":{"type":"integer","minimum":0.0,"title":"Items Found","default":0},"items_stored":{"type":"integer","minimum":0.0,"title":"Items Stored","default":0},"cursor_start":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Cursor Start"},"cursor_end":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Cursor End"},"reached_end":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Reached End"},"error":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Error"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"}},"type":"object","required":["target"],"title":"CoverageTarget"},"CreateConnectorRequest":{"properties":{"name":{"type":"string","title":"Name"},"project_id":{"type":"string","title":"Project Id"},"connector_type":{"type":"string","title":"Connector Type","default":"agent"},"platform":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Platform"},"entity_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Id"}},"type":"object","required":["name","project_id"],"title":"CreateConnectorRequest"},"CreateEntityRequest":{"properties":{"name":{"type":"string","maxLength":200,"minLength":1,"title":"Name"},"type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Type"},"slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Slug"},"parent_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parent Id"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"keywords":{"items":{"type":"string"},"type":"array","title":"Keywords"},"tags":{"items":{"type":"string"},"type":"array","title":"Tags"},"platforms":{"items":{"type":"string"},"type":"array","title":"Platforms"},"official_channels":{"additionalProperties":true,"type":"object","title":"Official Channels"},"config":{"additionalProperties":true,"type":"object","title":"Config"},"workspace_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Workspace Id"},"research_goal":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Research Goal"}},"type":"object","required":["name"],"title":"CreateEntityRequest"},"CreateKeyRequest":{"properties":{"name":{"type":"string","maxLength":100,"minLength":1,"title":"Name","description":"Human-readable key name"},"scopes":{"items":{"type":"string"},"type":"array","minItems":1,"title":"Scopes","description":"Allowed scopes: ingest, export, or explicit *; defaults to ingest"}},"type":"object","required":["name"],"title":"CreateKeyRequest"},"CurateAnalyzeRequest":{"properties":{"entity_id":{"type":"string","title":"Entity Id","description":"Entity UUID whose curated content to analyze"},"question":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Question","description":"Focus query for synthesis"},"request_id":{"anyOf":[{"type":"string","maxLength":128,"minLength":8},{"type":"null"}],"title":"Request Id"}},"type":"object","required":["entity_id"],"title":"CurateAnalyzeRequest","description":"Request body for analyzing previously curated content."},"CurateRequest":{"properties":{"urls":{"items":{"type":"string"},"type":"array","maxItems":50,"title":"Urls","description":"URLs to extract and store"},"texts":{"items":{"type":"string"},"type":"array","maxItems":50,"title":"Texts","description":"Raw text snippets to store directly"},"sources":{"items":{"$ref":"#/components/schemas/CuratedSource"},"type":"array","maxItems":50,"title":"Sources","description":"Original records with platform, author, dates and measurement metadata"},"entity_id":{"type":"string","title":"Entity Id","description":"Entity UUID (required — curated content is entity-scoped)"},"question":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Question","description":"Focus query for synthesis (used when auto_analyze=True)"},"auto_analyze":{"type":"boolean","title":"Auto Analyze","description":"Wait for durable analysis; otherwise acknowledge capture while enrichment continues","default":false},"request_id":{"anyOf":[{"type":"string","maxLength":128,"minLength":8},{"type":"null"}],"title":"Request Id"}},"type":"object","required":["entity_id"],"title":"CurateRequest","description":"Request body for submitting curated content."},"CuratedSource":{"properties":{"raw_content":{"type":"string","maxLength":200000,"minLength":1,"title":"Raw Content"},"title":{"type":"string","maxLength":1000,"title":"Title","default":"Imported source"},"url":{"type":"string","maxLength":4096,"title":"Url","default":""},"platform":{"type":"string","maxLength":80,"minLength":1,"title":"Platform","default":"manual"},"published_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Published At"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"}},"type":"object","required":["raw_content"],"title":"CuratedSource","description":"A single imported original with its caller-supplied provenance."},"DeepExtractComment":{"properties":{"id":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Id"},"url":{"anyOf":[{"type":"string","maxLength":5000},{"type":"null"}],"title":"Url"},"published_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Published At"},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata"},"text":{"type":"string","maxLength":50000,"minLength":1,"title":"Text"},"author":{"type":"string","maxLength":500,"title":"Author","default":"unknown"},"likes":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Likes"},"replies":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Replies"},"timestamp":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timestamp"}},"type":"object","required":["text"],"title":"DeepExtractComment"},"DeepExtractItem":{"properties":{"id":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Id"},"title":{"type":"string","maxLength":2000,"title":"Title","default":""},"url":{"type":"string","maxLength":5000,"minLength":1,"title":"Url"},"platform":{"$ref":"#/components/schemas/Platform"},"content":{"type":"string","maxLength":500000,"title":"Content","default":""},"author":{"type":"string","maxLength":500,"title":"Author","default":""},"published_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Published At","description":"ISO 8601 datetime string"},"engagement":{"$ref":"#/components/schemas/EngagementData"},"comments":{"items":{"$ref":"#/components/schemas/DeepExtractComment"},"type":"array","title":"Comments","description":"Pre-fetched originals; otherwise extract comments from the URL"},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata","description":"Extra metadata from local pipeline (transcripts, etc.)"}},"type":"object","required":["url","platform"],"title":"DeepExtractItem"},"DeepExtractRequest":{"properties":{"entity_id":{"type":"string","maxLength":100,"minLength":1,"title":"Entity Id"},"items":{"items":{"$ref":"#/components/schemas/DeepExtractItem"},"type":"array","maxItems":100,"minItems":1,"title":"Items"}},"type":"object","required":["entity_id","items"],"title":"DeepExtractRequest"},"DeepExtractResponse":{"properties":{"results":{"items":{"$ref":"#/components/schemas/ExtractionResult"},"type":"array","title":"Results"},"stats":{"additionalProperties":true,"type":"object","title":"Stats"}},"type":"object","required":["results","stats"],"title":"DeepExtractResponse"},"DiscoverCompetitorsRequest":{"properties":{"company_name":{"type":"string","title":"Company Name"},"industry":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Industry"},"num_candidates":{"type":"integer","title":"Num Candidates","default":5}},"type":"object","required":["company_name"],"title":"DiscoverCompetitorsRequest"},"DocumentDestination":{"properties":{"provider":{"type":"string","enum":["google_docs","notion"],"title":"Provider"},"url":{"type":"string","maxLength":2048,"title":"Url"}},"additionalProperties":false,"type":"object","required":["provider","url"],"title":"DocumentDestination","description":"Agent-managed delivery preference; not a provider connection or export job."},"EmbedRequest":{"properties":{"text":{"type":"string","title":"Text"}},"type":"object","required":["text"],"title":"EmbedRequest"},"EngagementData":{"properties":{"likes":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Likes"},"comments":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Comments"},"views":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Views"},"score":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Score"},"shares":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Shares"}},"type":"object","title":"EngagementData"},"EnrichmentObjectUpdate":{"properties":{"status":{"anyOf":[{"type":"string","enum":["open","acting","done","dismissed"]},{"type":"null"}],"title":"Status"},"action_plan":{"anyOf":[{"$ref":"#/components/schemas/ActionPlanInput"},{"type":"null"}]}},"type":"object","title":"EnrichmentObjectUpdate"},"EvidenceReference":{"properties":{"content_id":{"type":"string","format":"uuid","title":"Content Id"},"source_revision_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Source Revision Id"},"quote":{"type":"string","maxLength":4000,"minLength":1,"title":"Quote"},"start":{"anyOf":[{"type":"integer","maximum":200000.0,"minimum":0.0},{"type":"null"}],"title":"Start"},"relation":{"type":"string","enum":["supports","contradicts","context"],"title":"Relation","default":"supports"}},"additionalProperties":false,"type":"object","required":["content_id","quote"],"title":"EvidenceReference"},"ExecutionRunCreate":{"properties":{"executor_platform":{"type":"string","enum":["codex","claude_code","agent","human","other"],"title":"Executor Platform"},"objective":{"anyOf":[{"type":"string","maxLength":1000,"minLength":3},{"type":"null"}],"title":"Objective"},"steps":{"items":{"type":"string"},"type":"array","maxItems":20,"minItems":1,"title":"Steps"},"approved_for_execution":{"type":"boolean","const":true,"title":"Approved For Execution"}},"type":"object","required":["executor_platform","steps","approved_for_execution"],"title":"ExecutionRunCreate"},"ExecutionRunUpdate":{"properties":{"status":{"anyOf":[{"type":"string","enum":["approved","running","completed","failed","cancelled"]},{"type":"null"}],"title":"Status"},"step_results":{"anyOf":[{"items":{"$ref":"#/components/schemas/ExecutionStepResult"},"type":"array","maxItems":20},{"type":"null"}],"title":"Step Results"},"outcome_summary":{"anyOf":[{"type":"string","maxLength":8000,"minLength":3},{"type":"null"}],"title":"Outcome Summary"},"metrics":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metrics"},"review_status":{"anyOf":[{"type":"string","enum":["pending","approved","rejected"]},{"type":"null"}],"title":"Review Status"},"training_scopes":{"anyOf":[{"items":{"type":"string","enum":["internal_harness","external_harness","fine_tuning"]},"type":"array","maxItems":3},{"type":"null"}],"title":"Training Scopes"}},"type":"object","title":"ExecutionRunUpdate"},"ExecutionStepResult":{"properties":{"step":{"type":"string","maxLength":500,"minLength":1,"title":"Step"},"status":{"type":"string","enum":["completed","failed","skipped"],"title":"Status"},"result":{"anyOf":[{"type":"string","maxLength":4000},{"type":"null"}],"title":"Result"}},"type":"object","required":["step","status"],"title":"ExecutionStepResult"},"Executor":{"properties":{"kind":{"type":"string","enum":["hosted","connected"],"title":"Kind"},"client":{"anyOf":[{"type":"string","enum":["codex","cursor","claude-code","openclaw"]},{"type":"null"}],"title":"Client"}},"additionalProperties":false,"type":"object","required":["kind"],"title":"Executor"},"ExtractionResult":{"properties":{"url":{"type":"string","title":"Url"},"platform":{"type":"string","title":"Platform"},"status":{"type":"string","title":"Status"},"comments_found":{"type":"integer","title":"Comments Found","default":0},"promoted_count":{"type":"integer","title":"Promoted Count","default":0},"content_ids":{"items":{"type":"string"},"type":"array","title":"Content Ids"},"parent_content_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parent Content Id"},"comment_content_ids":{"items":{"type":"string"},"type":"array","title":"Comment Content Ids"},"capture_complete":{"type":"boolean","title":"Capture Complete","default":false},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"}},"type":"object","required":["url","platform","status"],"title":"ExtractionResult"},"FeedbackRequest":{"properties":{"request_id":{"type":"string","maxLength":120,"minLength":8,"title":"Request Id"},"question":{"type":"string","maxLength":1000,"minLength":12,"title":"Question"},"sources":{"items":{"additionalProperties":true,"type":"object"},"type":"array","maxItems":50,"minItems":1,"title":"Sources"}},"type":"object","required":["request_id","question","sources"],"title":"FeedbackRequest"},"FilterRequest":{"properties":{"entity_id":{"type":"string","maxLength":100,"minLength":1,"title":"Entity Id"},"question":{"type":"string","maxLength":5000,"minLength":1,"title":"Question"},"sources":{"items":{"$ref":"#/components/schemas/FilterSourceItem"},"type":"array","maxItems":200,"minItems":1,"title":"Sources"}},"type":"object","required":["entity_id","question","sources"],"title":"FilterRequest"},"FilterResponse":{"properties":{"verdicts":{"items":{"$ref":"#/components/schemas/FilterVerdict"},"type":"array","title":"Verdicts"},"recommended_for_extraction":{"items":{"type":"string"},"type":"array","title":"Recommended For Extraction"},"stats":{"additionalProperties":true,"type":"object","title":"Stats"}},"type":"object","required":["verdicts","recommended_for_extraction","stats"],"title":"FilterResponse"},"FilterSourceItem":{"properties":{"url":{"type":"string","maxLength":5000,"title":"Url","default":""},"title":{"type":"string","maxLength":2000,"title":"Title","default":""},"snippet":{"type":"string","maxLength":10000,"title":"Snippet","default":""},"platform":{"$ref":"#/components/schemas/Platform"},"engagement":{"$ref":"#/components/schemas/EngagementData"}},"type":"object","required":["platform"],"title":"FilterSourceItem"},"FilterVerdict":{"properties":{"index":{"type":"integer","title":"Index"},"url":{"type":"string","title":"Url"},"verdict":{"type":"string","title":"Verdict"},"platform":{"type":"string","title":"Platform"},"status":{"type":"string","title":"Status","default":"unreviewed"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"}},"type":"object","required":["index","url","verdict","platform"],"title":"FilterVerdict"},"FocusUpdate":{"properties":{"entity_id":{"type":"string","title":"Entity Id"},"mode":{"type":"string","enum":["product","marketing"],"title":"Mode"},"sweeps_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Sweeps Enabled"},"sweep_interval_hours":{"anyOf":[{"type":"number","maximum":720.0,"minimum":1.0},{"type":"null"}],"title":"Sweep Interval Hours"}},"type":"object","required":["entity_id","mode"],"title":"FocusUpdate"},"GranolaKeyRequest":{"properties":{"api_key":{"type":"string","maxLength":500,"minLength":8,"title":"Api Key"}},"type":"object","required":["api_key"],"title":"GranolaKeyRequest"},"GranolaSyncRequest":{"properties":{"api_key":{"type":"string","maxLength":500,"minLength":8,"title":"Api Key"},"entity_id":{"type":"string","maxLength":100,"minLength":1,"title":"Entity Id"},"created_after":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created After"},"folder_id":{"anyOf":[{"type":"string","pattern":"^fol_[a-zA-Z0-9]{14}$"},{"type":"null"}],"title":"Folder Id"},"max_notes":{"type":"integer","maximum":20.0,"minimum":1.0,"title":"Max Notes","default":10},"include_transcript":{"type":"boolean","title":"Include Transcript","default":true},"cursor":{"anyOf":[{"type":"string","maxLength":4000},{"type":"null"}],"title":"Cursor"},"request_id":{"anyOf":[{"type":"string","maxLength":128,"minLength":8},{"type":"null"}],"title":"Request Id"}},"type":"object","required":["api_key","entity_id"],"title":"GranolaSyncRequest"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HighlightRequest":{"properties":{"text":{"type":"string","maxLength":10000,"minLength":1,"title":"Text"},"url":{"type":"string","minLength":1,"title":"Url"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"platform":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Platform"},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note"},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Tags"},"entity_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Id"},"context_before":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Context Before"},"context_after":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Context After"},"selectors":{"anyOf":[{"$ref":"#/components/schemas/TextQuoteSelector"},{"type":"null"}]},"author":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Author"}},"type":"object","required":["text","url"],"title":"HighlightRequest"},"HostedChatRequest":{"properties":{"message":{"type":"string","maxLength":10000,"minLength":1,"title":"Message","description":"User message"},"project_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Project Id","description":"Project context ID"},"session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Id","description":"Session ID for conversation continuity"},"history":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"History","description":"Previous messages for context"},"skill_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Skill Id","description":"Active skill ID (e.g. competitive-analysis)"},"entity_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Id","description":"Active entity UUID for scoped analysis"},"workspace_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Workspace Id","description":"Workspace UUID"}},"type":"object","required":["message"],"title":"HostedChatRequest"},"InboxItem":{"properties":{"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"raw_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Raw Text"},"source_platform":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Platform"},"entity_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Id"},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata"}},"type":"object","title":"InboxItem"},"InboxRequest":{"properties":{"items":{"items":{"$ref":"#/components/schemas/InboxItem"},"type":"array","title":"Items"},"entity_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Id"},"project_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Project Id"},"source":{"type":"string","title":"Source","default":"manual"}},"type":"object","required":["items"],"title":"InboxRequest"},"IngestContentRequest":{"properties":{"entity_id":{"type":"string","maxLength":100,"minLength":1,"title":"Entity Id"},"sources":{"items":{"$ref":"#/components/schemas/SourceItem"},"type":"array","maxItems":500,"minItems":1,"title":"Sources"},"collection_run_id":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Collection Run Id"},"collection_scope":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Collection Scope"},"coverage_state":{"anyOf":[{"type":"string","pattern":"^(exhaustive|sampled|bounded|blocked|unknown)$"},{"type":"null"}],"title":"Coverage State","description":"Collector-level coverage state for this batch."}},"type":"object","required":["entity_id","sources"],"title":"IngestContentRequest"},"IngestContentResponse":{"properties":{"inserted":{"type":"integer","title":"Inserted"},"skipped_dedup":{"type":"integer","title":"Skipped Dedup"},"skipped_irrelevant":{"type":"integer","title":"Skipped Irrelevant","default":0},"total_received":{"type":"integer","title":"Total Received"},"stored":{"type":"integer","title":"Stored"},"content_ids":{"items":{"type":"string"},"type":"array","title":"Content Ids"},"parent_content_ids":{"items":{"type":"string"},"type":"array","title":"Parent Content Ids"},"comment_content_ids":{"items":{"type":"string"},"type":"array","title":"Comment Content Ids"},"comments_received":{"type":"integer","title":"Comments Received"},"comments_inserted":{"type":"integer","title":"Comments Inserted"},"complete":{"type":"boolean","title":"Complete","default":true},"count_basis":{"type":"string","title":"Count Basis","default":"Acknowledged original records, including reused originals; not unique people"}},"type":"object","required":["inserted","skipped_dedup","total_received","stored","content_ids","parent_content_ids","comment_content_ids","comments_received","comments_inserted"],"title":"IngestContentResponse"},"InsightCuration":{"properties":{"entity_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Entity Id"},"project_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Project Id"},"request_id":{"type":"string","format":"uuid","title":"Request Id"},"expected_revision":{"type":"integer","maximum":2147483646.0,"minimum":1.0,"title":"Expected Revision"},"state":{"type":"string","enum":["active","archived"],"title":"State"},"reason":{"type":"string","maxLength":2000,"minLength":1,"title":"Reason"}},"additionalProperties":false,"type":"object","required":["request_id","expected_revision","state","reason"],"title":"InsightCuration"},"InsightTextEdit":{"properties":{"entity_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Entity Id"},"project_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Project Id"},"request_id":{"type":"string","format":"uuid","title":"Request Id"},"expected_revision":{"type":"integer","maximum":2147483646.0,"minimum":1.0,"title":"Expected Revision"},"title":{"type":"string","maxLength":300,"minLength":1,"title":"Title"},"summary":{"type":"string","maxLength":16000,"minLength":1,"title":"Summary"},"reasoning":{"type":"string","maxLength":16000,"title":"Reasoning"},"limitations":{"items":{"type":"string","maxLength":2000,"minLength":1},"type":"array","maxItems":30,"title":"Limitations"}},"additionalProperties":false,"type":"object","required":["request_id","expected_revision","title","summary","reasoning","limitations"],"title":"InsightTextEdit","description":"A correction to interpretation text; citation context stays server-owned."},"InsightWrite":{"properties":{"entity_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Entity Id"},"project_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Project Id"},"request_id":{"type":"string","format":"uuid","title":"Request Id"},"expected_revision":{"type":"integer","maximum":2147483646.0,"minimum":0.0,"title":"Expected Revision"},"title":{"type":"string","maxLength":300,"minLength":1,"title":"Title"},"summary":{"type":"string","maxLength":16000,"minLength":1,"title":"Summary"},"reasoning":{"type":"string","maxLength":16000,"title":"Reasoning","default":""},"limitations":{"items":{"type":"string","maxLength":2000,"minLength":1},"type":"array","maxItems":30,"title":"Limitations"},"tags":{"items":{"type":"string","maxLength":80,"minLength":1},"type":"array","maxItems":30,"title":"Tags"},"evidence":{"items":{"$ref":"#/components/schemas/EvidenceReference"},"type":"array","maxItems":20,"minItems":1,"title":"Evidence"},"client_label":{"anyOf":[{"type":"string","maxLength":80},{"type":"null"}],"title":"Client Label"}},"additionalProperties":false,"type":"object","required":["request_id","expected_revision","title","summary","evidence"],"title":"InsightWrite"},"IntelligenceRefreshRequest":{"properties":{"entity_id":{"type":"string","maxLength":100,"minLength":1,"title":"Entity Id"},"platforms":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Platforms"},"request_id":{"anyOf":[{"type":"string","maxLength":128,"minLength":8},{"type":"null"}],"title":"Request Id"},"window_days":{"type":"integer","maximum":365.0,"minimum":7.0,"title":"Window Days","default":30},"per_platform_limit":{"type":"integer","maximum":50.0,"minimum":5.0,"title":"Per Platform Limit","default":25},"include_related_competitors":{"type":"boolean","title":"Include Related Competitors","default":true}},"type":"object","required":["entity_id"],"title":"IntelligenceRefreshRequest"},"LinkEntityRequest":{"properties":{"project_id":{"type":"string","title":"Project Id"}},"type":"object","required":["project_id"],"title":"LinkEntityRequest"},"ModelRouting":{"properties":{"cost_tier":{"type":"string","enum":["low","medium","high"],"title":"Cost Tier","default":"medium"},"allowed_models":{"anyOf":[{"items":{"type":"string"},"type":"array","maxItems":8,"minItems":1},{"type":"null"}],"title":"Allowed Models"}},"additionalProperties":false,"type":"object","title":"ModelRouting"},"ObservationItem":{"properties":{"content":{"type":"string","maxLength":10000,"minLength":1,"title":"Content"},"source_platform":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Platform"},"source_id":{"anyOf":[{"type":"string","maxLength":2000,"minLength":1},{"type":"null"}],"title":"Source Id","description":"Provider identity including account/channel namespace; saved in metadata.source_id"},"observation_type":{"type":"string","title":"Observation Type","default":"general"},"entity_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Id"},"signal_type":{"anyOf":[{"type":"string","pattern":"^(official|reception)$"},{"type":"null"}],"title":"Signal Type"},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata"}},"type":"object","required":["content"],"title":"ObservationItem"},"OnboardingAccountTarget":{"properties":{"target":{"type":"string","maxLength":500,"minLength":1,"title":"Target"},"role":{"type":"string","enum":["official","employee","founder","advocate","affiliate","organization_affiliate","creator","competitor","unknown"],"title":"Role","default":"unknown"},"organization_affiliation":{"anyOf":[{"$ref":"#/components/schemas/XAffiliation"},{"type":"null"}]}},"additionalProperties":false,"type":"object","required":["target"],"title":"OnboardingAccountTarget"},"OnboardingCompanyRequest":{"properties":{"name":{"type":"string","maxLength":200,"minLength":1,"title":"Name"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"keywords":{"items":{"type":"string"},"type":"array","title":"Keywords"},"collection_targets":{"anyOf":[{"additionalProperties":{"items":{"$ref":"#/components/schemas/OnboardingAccountTarget"},"type":"array"},"type":"object"},{"type":"null"}],"title":"Collection Targets"},"platforms":{"items":{"type":"string"},"type":"array","title":"Platforms"}},"type":"object","required":["name"],"title":"OnboardingCompanyRequest"},"OnboardingRelatedEntityRequest":{"properties":{"name":{"type":"string","maxLength":200,"minLength":1,"title":"Name"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"keywords":{"items":{"type":"string"},"type":"array","title":"Keywords"},"collection_targets":{"anyOf":[{"additionalProperties":{"items":{"$ref":"#/components/schemas/OnboardingAccountTarget"},"type":"array"},"type":"object"},{"type":"null"}],"title":"Collection Targets"}},"type":"object","required":["name"],"title":"OnboardingRelatedEntityRequest"},"OpinionData":{"properties":{"opinion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Opinion"},"text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Text"},"quote":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Quote"},"verbatim":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Verbatim"},"sentiment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sentiment"},"count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Count"},"percentage":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Percentage"},"contextDetails":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contextdetails"}},"additionalProperties":true,"type":"object","title":"OpinionData","description":"Opinion with supporting quote(s)"},"PaginationMetadata":{"properties":{"page":{"type":"integer","title":"Page"},"limit":{"type":"integer","title":"Limit"},"total":{"type":"integer","title":"Total"},"pages":{"type":"integer","title":"Pages"}},"type":"object","required":["page","limit","total","pages"],"title":"PaginationMetadata","description":"Pagination metadata"},"PatchConfigRequest":{"properties":{"config":{"additionalProperties":true,"type":"object","title":"Config"}},"type":"object","required":["config"],"title":"PatchConfigRequest","description":"Atomic config merge: keys present are set, keys with null values are unset."},"Platform":{"type":"string","enum":["reddit","youtube","tiktok","twitter","instagram","linkedin","hackernews","producthunt","github","threads","web","granola","slack","agent","claude_code","codex"],"title":"Platform"},"PrepaidActivationRequest":{"properties":{"policy_version":{"type":"string","maxLength":100,"minLength":1,"title":"Policy Version"}},"type":"object","required":["policy_version"],"title":"PrepaidActivationRequest"},"ProcessRequest":{"properties":{"project_id":{"type":"string","title":"Project Id"},"retry_failed":{"type":"boolean","title":"Retry Failed","default":false}},"type":"object","required":["project_id"],"title":"ProcessRequest"},"QueryResearchRequest":{"properties":{"entity_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Name","description":"Entity name to query docs for"},"topic":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Topic","description":"Topic to search across all entities"},"query":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Query","description":"Natural language question"},"include_content":{"type":"boolean","title":"Include Content","description":"Include full document content","default":false}},"type":"object","title":"QueryResearchRequest"},"ResearchJobAccepted":{"properties":{"analysis_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Analysis Id"},"status":{"type":"string","title":"Status"},"job_id":{"type":"string","title":"Job Id"},"entity_id":{"type":"string","title":"Entity Id"},"next":{"type":"string","title":"Next"}},"type":"object","required":["status","job_id","entity_id","next"],"title":"ResearchJobAccepted"},"ResearchJobRequest":{"properties":{"collection_only":{"type":"boolean","title":"Collection Only","default":false},"entity_id":{"type":"string","maxLength":100,"minLength":1,"title":"Entity Id"},"objective":{"type":"string","maxLength":1000,"minLength":3,"title":"Objective"},"questions":{"items":{"type":"string"},"type":"array","maxItems":5,"title":"Questions"},"depth":{"type":"string","enum":["brief","deep"],"title":"Depth","default":"brief"},"platforms":{"anyOf":[{"items":{"type":"string","enum":["twitter","linkedin","reddit","youtube","tiktok","instagram","hackernews","producthunt","web"]},"type":"array","maxItems":9},{"type":"null"}],"title":"Platforms"},"idempotency_key":{"anyOf":[{"type":"string","maxLength":128,"minLength":8,"pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]+$"},{"type":"null"}],"title":"Idempotency Key"}},"type":"object","required":["entity_id","objective"],"title":"ResearchJobRequest"},"ResearchObjective":{"properties":{"id":{"type":"string","maxLength":100,"minLength":1,"title":"Id"},"title":{"type":"string","maxLength":120,"minLength":1,"title":"Title"},"question":{"type":"string","maxLength":1000,"minLength":1,"title":"Question"},"decision":{"type":"string","maxLength":1000,"minLength":1,"title":"Decision"},"evidence":{"type":"string","maxLength":1000,"minLength":1,"title":"Evidence"},"workflow":{"anyOf":[{"$ref":"#/components/schemas/WorkflowDefinition"},{"type":"null"}]}},"additionalProperties":false,"type":"object","required":["id","title","question","decision","evidence"],"title":"ResearchObjective"},"ResearchRequest":{"properties":{"entity_id":{"type":"string","maxLength":100,"minLength":1,"title":"Entity Id"},"questions":{"items":{"type":"string"},"type":"array","maxItems":5,"minItems":1,"title":"Questions","description":"Research angles to discover across the configured web and community scope"},"depth":{"type":"string","enum":["brief","deep"],"title":"Depth","description":"'brief' or 'deep'","default":"deep"},"platforms":{"anyOf":[{"items":{"type":"string","enum":["twitter","linkedin","reddit","youtube","tiktok","instagram","hackernews","producthunt","web"]},"type":"array","maxItems":9},{"type":"null"}],"title":"Platforms","description":"Omit to use entity settings; an empty array disables live discovery."}},"type":"object","required":["entity_id","questions"],"title":"ResearchRequest"},"ResearchResponse":{"properties":{"status":{"type":"string","title":"Status"},"entity_id":{"type":"string","title":"Entity Id"},"analysis_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Analysis Id"},"job_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Job Id"},"research_receipt":{"additionalProperties":true,"type":"object","title":"Research Receipt"},"total_stored":{"type":"integer","title":"Total Stored","default":0},"questions_processed":{"type":"integer","title":"Questions Processed"},"total_sources":{"type":"integer","title":"Total Sources"},"total_comments":{"type":"integer","title":"Total Comments","default":0},"platforms_covered":{"items":{"type":"string"},"type":"array","title":"Platforms Covered"},"kb_updated":{"type":"boolean","title":"Kb Updated","default":false},"pipeline_triggered":{"type":"boolean","title":"Pipeline Triggered","default":false},"errors":{"items":{"type":"string"},"type":"array","title":"Errors"}},"type":"object","required":["status","entity_id","questions_processed","total_sources"],"title":"ResearchResponse"},"ResearchWorkflowCreate":{"properties":{"request_id":{"type":"string","maxLength":128,"minLength":8,"title":"Request Id"},"entity_id":{"type":"string","format":"uuid","title":"Entity Id"},"workspace_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Workspace Id"},"goal":{"type":"string","maxLength":1000,"minLength":1,"title":"Goal"},"source_selection":{"$ref":"#/components/schemas/SourceSelection"},"method_id":{"type":"string","enum":["competitive-positioning","marketing-strategy","affiliate-tracking","own-account-performance","feedback-synthesis","developer-experience"],"title":"Method Id"},"executor":{"$ref":"#/components/schemas/Executor"},"max_charge_cents":{"type":"integer","maximum":10000.0,"minimum":1.0,"title":"Max Charge Cents"}},"additionalProperties":false,"type":"object","required":["request_id","entity_id","goal","source_selection","method_id","executor","max_charge_cents"],"title":"ResearchWorkflowCreate"},"ResolveInviteRequest":{"properties":{"invite_url":{"type":"string","title":"Invite Url"}},"type":"object","required":["invite_url"],"title":"ResolveInviteRequest"},"ResolveInviteResponse":{"properties":{"guild_id":{"type":"string","title":"Guild Id"},"guild_name":{"type":"string","title":"Guild Name"},"guild_icon":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Guild Icon"},"member_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Member Count"},"bot_is_member":{"type":"boolean","title":"Bot Is Member"},"bot_invite_url":{"type":"string","title":"Bot Invite Url"},"channels":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Channels"}},"type":"object","required":["guild_id","guild_name","bot_is_member","bot_invite_url","channels"],"title":"ResolveInviteResponse"},"ResolveObservationRequest":{"properties":{"resolution_status":{"type":"string","title":"Resolution Status","description":"Resolution status: resolved, wont_fix, acknowledged, in_progress"},"resolution_note":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Resolution Note","description":"Optional note about the resolution"}},"type":"object","required":["resolution_status"],"title":"ResolveObservationRequest"},"SaveRequest":{"properties":{"title":{"type":"string","maxLength":500,"minLength":1,"title":"Title"},"content":{"type":"string","maxLength":500000,"title":"Content","default":""},"path":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Path"},"tags":{"items":{"type":"string"},"type":"array","title":"Tags"},"project_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Project Id"}},"type":"object","required":["title"],"title":"SaveRequest"},"SearchRequest":{"properties":{"query":{"type":"string","maxLength":2000,"minLength":1,"title":"Query"},"platforms":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Platforms","description":"Platforms to search"},"limit":{"type":"integer","maximum":200.0,"minimum":1.0,"title":"Limit","default":50},"date_from":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date From","description":"ISO date floor"}},"type":"object","required":["query"],"title":"SearchRequest"},"SentimentData":{"properties":{"positive":{"type":"number","maximum":100.0,"minimum":0.0,"title":"Positive"},"negative":{"type":"number","maximum":100.0,"minimum":0.0,"title":"Negative"},"neutral":{"type":"number","maximum":100.0,"minimum":0.0,"title":"Neutral"}},"type":"object","required":["positive","negative","neutral"],"title":"SentimentData","description":"Sentiment distribution (must sum to 100)"},"SkillRoutineSettings":{"properties":{"enabled":{"type":"boolean","title":"Enabled"},"interval_hours":{"type":"integer","title":"Interval Hours"},"source_mode":{"type":"string","title":"Source Mode"},"max_charge_cents":{"type":"integer","title":"Max Charge Cents"},"expected_revision":{"type":"integer","title":"Expected Revision"}},"type":"object","required":["enabled","interval_hours","source_mode","max_charge_cents","expected_revision"],"title":"SkillRoutineSettings"},"SkillSettings":{"properties":{"skills":{"items":{"$ref":"#/components/schemas/ResearchObjective"},"type":"array","maxItems":5,"title":"Skills"},"expected_skills":{"items":{"$ref":"#/components/schemas/ResearchObjective"},"type":"array","maxItems":5,"title":"Expected Skills"}},"additionalProperties":false,"type":"object","required":["skills","expected_skills"],"title":"SkillSettings"},"SlackMessageRequest":{"properties":{"team_id":{"type":"string","pattern":"^T[A-Z0-9]{2,31}$","title":"Team Id"},"channel_id":{"type":"string","pattern":"^[CG][A-Z0-9]{2,31}$","title":"Channel Id"},"text":{"type":"string","maxLength":40000,"minLength":1,"title":"Text"},"confirm_send":{"type":"boolean","title":"Confirm Send","default":false}},"type":"object","required":["team_id","channel_id","text"],"title":"SlackMessageRequest"},"SlackSyncRequest":{"properties":{"entity_id":{"type":"string","maxLength":100,"minLength":1,"title":"Entity Id"},"team_id":{"type":"string","pattern":"^T[A-Z0-9]{2,31}$","title":"Team Id"},"channel_id":{"type":"string","pattern":"^[CG][A-Z0-9]{2,31}$","title":"Channel Id"},"oldest_ts":{"anyOf":[{"type":"string","pattern":"^\\d{1,16}(?:\\.\\d{1,12})?$"},{"type":"null"}],"title":"Oldest Ts"},"max_messages":{"type":"integer","maximum":15.0,"minimum":1.0,"title":"Max Messages","default":15},"cursor":{"anyOf":[{"type":"string","maxLength":4000},{"type":"null"}],"title":"Cursor"},"request_id":{"anyOf":[{"type":"string","maxLength":128,"minLength":8},{"type":"null"}],"title":"Request Id"}},"type":"object","required":["entity_id","team_id","channel_id"],"title":"SlackSyncRequest"},"SlackWorkflowChannel":{"properties":{"team_id":{"type":"string","pattern":"^T[A-Z0-9]{2,30}$","title":"Team Id"},"channel_id":{"type":"string","pattern":"^[CG][A-Z0-9]{2,30}$","title":"Channel Id"},"name":{"type":"string","maxLength":120,"title":"Name","default":""}},"additionalProperties":false,"type":"object","required":["team_id","channel_id"],"title":"SlackWorkflowChannel"},"SourceData":{"properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"domain":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Domain"},"snippet":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Snippet"},"publishedDate":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Publisheddate"},"published_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Published At"},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"isUploaded":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Isuploaded"}},"additionalProperties":true,"type":"object","title":"SourceData","description":"Source metadata"},"SourceItem":{"properties":{"id":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Id"},"title":{"type":"string","maxLength":2000,"title":"Title","default":""},"url":{"type":"string","maxLength":5000,"title":"Url","default":""},"platform":{"$ref":"#/components/schemas/Platform"},"content":{"type":"string","maxLength":500000,"minLength":1,"title":"Content"},"author":{"type":"string","maxLength":500,"title":"Author","default":""},"published_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Published At","description":"ISO 8601 datetime string"},"engagement":{"$ref":"#/components/schemas/EngagementData"},"comments":{"items":{"$ref":"#/components/schemas/CommentItem"},"type":"array","title":"Comments"},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata","description":"Extra metadata from local pipeline (transcripts, etc.)"}},"type":"object","required":["platform","content"],"title":"SourceItem"},"SourceSelection":{"properties":{"x_accounts":{"items":{"type":"string"},"type":"array","maxItems":5,"title":"X Accounts"},"x_account_targets":{"anyOf":[{"items":{"$ref":"#/components/schemas/OnboardingAccountTarget"},"type":"array","maxItems":5},{"type":"null"}],"title":"X Account Targets"},"date_range_days":{"type":"integer","enum":[7,30,90],"title":"Date Range Days","default":30},"saved_content_ids":{"items":{"type":"string","format":"uuid"},"type":"array","maxItems":200,"title":"Saved Content Ids"},"import_text":{"type":"string","maxLength":100000,"title":"Import Text","default":""}},"additionalProperties":false,"type":"object","title":"SourceSelection"},"SubmitObservationsRequest":{"properties":{"observations":{"items":{"$ref":"#/components/schemas/ObservationItem"},"type":"array","maxItems":50,"minItems":1,"title":"Observations"},"project_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Project Id","description":"Project UUID (required when using JWT auth instead of connector key)"},"entity_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Id","description":"Default entity; a non-null item entity takes precedence, then the connector default"}},"type":"object","required":["observations"],"title":"SubmitObservationsRequest"},"SweepRunRequest":{"properties":{"entity_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Id"},"limit":{"type":"integer","maximum":25.0,"minimum":1.0,"title":"Limit","default":8},"materialize_only":{"type":"boolean","title":"Materialize Only","default":false},"idempotency_key":{"anyOf":[{"type":"string","maxLength":128,"minLength":8,"pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]+$"},{"type":"null"}],"title":"Idempotency Key"}},"type":"object","title":"SweepRunRequest"},"SynthesizeRequest":{"properties":{"question":{"type":"string","maxLength":1000,"minLength":1,"title":"Question","description":"Focus query for synthesis"},"sources":{"items":{"additionalProperties":true,"type":"object"},"type":"array","maxItems":2000,"minItems":1,"title":"Sources","description":"Pre-loaded content_store items"},"depth":{"anyOf":[{"type":"string","enum":["brief","deep"]},{"type":"null"}],"title":"Depth","default":"brief"},"entity_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Id","description":"Entity UUID for canonical findings"},"project_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Project Id"},"workspace_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Workspace Id"},"request_id":{"anyOf":[{"type":"string","maxLength":128,"minLength":8},{"type":"null"}],"title":"Request Id"}},"type":"object","required":["question","sources"],"title":"SynthesizeRequest","description":"Request body for on-demand synthesis from pre-loaded content."},"TextQuoteSelector":{"properties":{"exact":{"type":"string","title":"Exact"},"prefix":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prefix"},"suffix":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Suffix"}},"type":"object","required":["exact"],"title":"TextQuoteSelector"},"ThemeData":{"properties":{"theme":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Theme"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Count"},"percentage":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Percentage"},"sentiment":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Sentiment"},"insights":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Insights"}},"additionalProperties":true,"type":"object","title":"ThemeData","description":"Discussion theme with optional details"},"TriggerPipelineRequest":{"properties":{"entity_id":{"type":"string","format":"uuid","title":"Entity Id"},"request_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Request Id"},"source_limit":{"type":"integer","maximum":50000.0,"minimum":1.0,"title":"Source Limit","default":50000},"pending_limit":{"type":"integer","maximum":500.0,"minimum":1.0,"title":"Pending Limit","default":500}},"type":"object","required":["entity_id"],"title":"TriggerPipelineRequest"},"TriggerResearchRequest":{"properties":{"entity_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Id"},"workspace_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Workspace Id"}},"type":"object","title":"TriggerResearchRequest"},"UpdateEntityRequest":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":200,"minLength":1},{"type":"null"}],"title":"Name"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"keywords":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Keywords"},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Tags"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"industry":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Industry"},"enrichment_status":{"anyOf":[{"type":"string","pattern":"^(pending|enriching|enriched|failed)$"},{"type":"null"}],"title":"Enrichment Status"},"platforms":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Platforms"},"official_channels":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Official Channels"},"config":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Config"}},"type":"object","title":"UpdateEntityRequest"},"ValidateSubredditRequest":{"properties":{"subreddit":{"type":"string","title":"Subreddit"}},"type":"object","required":["subreddit"],"title":"ValidateSubredditRequest"},"ValidateSubredditResponse":{"properties":{"valid":{"type":"boolean","title":"Valid"},"subreddit":{"type":"string","title":"Subreddit"},"display_name":{"type":"string","title":"Display Name"},"subscribers":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Subscribers"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"}},"type":"object","required":["valid","subreddit","display_name"],"title":"ValidateSubredditResponse"},"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"},"WorkflowDefinition":{"properties":{"version":{"type":"integer","const":1,"title":"Version","default":1},"instructions":{"type":"string","maxLength":8000,"title":"Instructions","default":""},"synthesis_model":{"anyOf":[{"type":"string","enum":["gpt-5.4-mini","gpt-5.5","fireworks/auto"]},{"type":"null"}],"title":"Synthesis Model"},"model_routing":{"anyOf":[{"$ref":"#/components/schemas/ModelRouting"},{"type":"null"}]},"filter_relevance":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Filter Relevance"},"document_destination":{"anyOf":[{"$ref":"#/components/schemas/DocumentDestination"},{"type":"null"}]},"inputs":{"$ref":"#/components/schemas/WorkflowInputs"}},"additionalProperties":false,"type":"object","title":"WorkflowDefinition"},"WorkflowInputs":{"properties":{"platforms":{"items":{"type":"string","enum":["twitter","slack"]},"type":"array","maxItems":2,"title":"Platforms"},"account_roles":{"items":{"type":"string","enum":["official","organization_affiliate","affiliate","competitor","employee","founder","organic","unknown"]},"type":"array","maxItems":8,"title":"Account Roles"},"slack_channels":{"items":{"$ref":"#/components/schemas/SlackWorkflowChannel"},"type":"array","maxItems":5,"title":"Slack Channels"},"lookback_days":{"type":"integer","maximum":90.0,"minimum":1.0,"title":"Lookback Days","default":7},"max_sources":{"type":"integer","maximum":200.0,"minimum":1.0,"title":"Max Sources","default":25},"x_queries":{"anyOf":[{"items":{"type":"string"},"type":"array","maxItems":3},{"type":"null"}],"title":"X Queries"},"x_language":{"anyOf":[{"type":"string","enum":["en","ja","zh","ko","es","fr","de","pt","ar","hi"]},{"type":"null"}],"title":"X Language"},"x_min_likes":{"anyOf":[{"type":"integer","maximum":1000000.0,"minimum":0.0},{"type":"null"}],"title":"X Min Likes"}},"additionalProperties":false,"type":"object","title":"WorkflowInputs"},"WorkflowObjectCreate":{"properties":{"entity_id":{"type":"string","maxLength":100,"minLength":1,"title":"Entity Id"},"insight_id":{"anyOf":[{"type":"string","maxLength":100,"minLength":1},{"type":"null"}],"title":"Insight Id"},"objective":{"type":"string","maxLength":1000,"minLength":3,"title":"Objective"},"title":{"anyOf":[{"type":"string","maxLength":240},{"type":"null"}],"title":"Title"},"starter_key":{"anyOf":[{"type":"string","maxLength":120,"minLength":1,"pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]*$"},{"type":"null"}],"title":"Starter Key"}},"type":"object","required":["entity_id","objective"],"title":"WorkflowObjectCreate"},"WorkspaceCheckoutRequest":{"properties":{"amount_cents":{"anyOf":[{"type":"integer","maximum":100000.0,"minimum":100.0},{"type":"null"}],"title":"Amount Cents"},"pack_id":{"anyOf":[{"type":"string","enum":["starter","regular","volume"]},{"type":"null"}],"title":"Pack Id"},"policy_version":{"type":"string","maxLength":100,"minLength":1,"title":"Policy Version"},"request_id":{"type":"string","format":"uuid","title":"Request Id"}},"type":"object","required":["policy_version","request_id"],"title":"WorkspaceCheckoutRequest"},"WorkspaceUsageRequest":{"properties":{"spend_limit_cents":{"type":"integer","maximum":10000.0,"minimum":1.0,"title":"Spend Limit Cents"}},"type":"object","required":["spend_limit_cents"],"title":"WorkspaceUsageRequest"},"XAffiliation":{"properties":{"organization_id":{"type":"string","pattern":"^[0-9]{1,19}$","title":"Organization Id"},"organization_username":{"type":"string","pattern":"^[A-Za-z0-9_]{1,15}$","title":"Organization Username"},"account_id":{"type":"string","pattern":"^[0-9]{1,19}$","title":"Account Id"},"observed_at":{"type":"string","format":"date-time","title":"Observed At"}},"additionalProperties":false,"type":"object","required":["organization_id","organization_username","account_id","observed_at"],"title":"XAffiliation"}},"securitySchemes":{"AgentApiKeyBearer":{"type":"http","scheme":"bearer","bearerFormat":"APIKey","description":"Agent API key, e.g. Bearer cl_live_***"},"UserJwtBearer":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Supabase user access token"}}},"servers":[{"url":"https://agent.crowdlisten.com","description":"Production"},{"url":"http://localhost:8000","description":"Local development"}]}