{"openapi":"3.1.0","info":{"title":"AI-GEO Intelligence OS API","version":"1.0.0"},"paths":{"/api/v1/license/status":{"get":{"summary":"License Status","operationId":"license_status_api_v1_license_status_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response License Status Api V1 License Status Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/license/activate":{"post":{"summary":"Activate License","operationId":"activate_license_api_v1_license_activate_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LicenseActivateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Activate License Api V1 License Activate Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/licenses":{"post":{"summary":"Create Licenses","operationId":"create_licenses_api_v1_admin_licenses_post","parameters":[{"name":"X-Service-Admin-Token","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Service-Admin-Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LicenseCreateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Licenses Api V1 Admin Licenses Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/health":{"get":{"summary":"Health","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Health Health Get"}}}}}}},"/api/v1/auth/register":{"post":{"summary":"Register","operationId":"register_api_v1_auth_register_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegisterRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Register Api V1 Auth Register Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/login":{"post":{"summary":"Login","operationId":"login_api_v1_auth_login_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Login Api V1 Auth Login Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/refresh":{"post":{"summary":"Refresh","operationId":"refresh_api_v1_auth_refresh_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RefreshRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Refresh Api V1 Auth Refresh Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspace":{"get":{"summary":"Get Workspace","operationId":"get_workspace_api_v1_workspace_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Workspace Api V1 Workspace Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"summary":"Update Workspace","operationId":"update_workspace_api_v1_workspace_put","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Update Workspace Api V1 Workspace Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/brands":{"post":{"summary":"Create Brand","operationId":"create_brand_api_v1_brands_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrandCreateRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Brand Api V1 Brands Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"summary":"List Brands","operationId":"list_brands_api_v1_brands_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Brands Api V1 Brands Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/brands/{brand_id}":{"get":{"summary":"Get Brand","operationId":"get_brand_api_v1_brands__brand_id__get","parameters":[{"name":"brand_id","in":"path","required":true,"schema":{"type":"integer","title":"Brand Id"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Brand Api V1 Brands  Brand Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/brands/{brand_id}/competitors":{"post":{"summary":"Create Brand Competitor","operationId":"create_brand_competitor_api_v1_brands__brand_id__competitors_post","parameters":[{"name":"brand_id","in":"path","required":true,"schema":{"type":"integer","title":"Brand Id"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrandCompetitorCreateRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Brand Competitor Api V1 Brands  Brand Id  Competitors Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"summary":"List Brand Competitors","operationId":"list_brand_competitors_api_v1_brands__brand_id__competitors_get","parameters":[{"name":"brand_id","in":"path","required":true,"schema":{"type":"integer","title":"Brand Id"}},{"name":"active","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":true,"title":"Active"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Brand Competitors Api V1 Brands  Brand Id  Competitors Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/brands/{brand_id}/competitors/{competitor_id}":{"delete":{"summary":"Delete Brand Competitor","operationId":"delete_brand_competitor_api_v1_brands__brand_id__competitors__competitor_id__delete","parameters":[{"name":"brand_id","in":"path","required":true,"schema":{"type":"integer","title":"Brand Id"}},{"name":"competitor_id","in":"path","required":true,"schema":{"type":"integer","title":"Competitor Id"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Delete Brand Competitor Api V1 Brands  Brand Id  Competitors  Competitor Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/crawler/import":{"post":{"summary":"Import Crawler Log","description":"Import auditable AI crawler evidence from an operator-supplied access log.","operationId":"import_crawler_log_api_v1_crawler_import_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrawlerLogImportRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Import Crawler Log Api V1 Crawler Import Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/crawler/intelligence":{"get":{"summary":"Crawler Intelligence","description":"Return evidence-backed AI crawler User-Agent observations for one tenant brand.","operationId":"crawler_intelligence_api_v1_crawler_intelligence_get","parameters":[{"name":"brand_id","in":"query","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Brand Id"}},{"name":"crawler","in":"query","required":false,"schema":{"type":"string","maxLength":100,"default":"","title":"Crawler"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":5000,"minimum":1,"default":1000,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Crawler Intelligence Api V1 Crawler Intelligence Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/prompts":{"post":{"summary":"Create Prompt","operationId":"create_prompt_api_v1_prompts_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PromptCreateRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Prompt Api V1 Prompts Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"summary":"List Prompts","operationId":"list_prompts_api_v1_prompts_get","parameters":[{"name":"brand_id","in":"query","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Brand Id"}},{"name":"active","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Active"}},{"name":"intent","in":"query","required":false,"schema":{"type":"string","maxLength":50,"default":"","title":"Intent"}},{"name":"funnel_stage","in":"query","required":false,"schema":{"type":"string","maxLength":30,"default":"","title":"Funnel Stage"}},{"name":"region","in":"query","required":false,"schema":{"type":"string","maxLength":100,"default":"","title":"Region"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":200,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Prompts Api V1 Prompts Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/prompts/generate":{"post":{"summary":"Generate Prompts","operationId":"generate_prompts_api_v1_prompts_generate_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PromptGenerateRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Generate Prompts Api V1 Prompts Generate Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/prompts/{prompt_id}":{"put":{"summary":"Update Prompt","operationId":"update_prompt_api_v1_prompts__prompt_id__put","parameters":[{"name":"prompt_id","in":"path","required":true,"schema":{"type":"string","title":"Prompt Id"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PromptUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Update Prompt Api V1 Prompts  Prompt Id  Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/geo/analyze":{"post":{"summary":"Create Monitor","operationId":"create_monitor_api_v1_geo_analyze_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MonitorCreateRequest"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Monitor Api V1 Geo Analyze Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tasks/{task_id}":{"get":{"summary":"Get Task","operationId":"get_task_api_v1_tasks__task_id__get","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Task Api V1 Tasks  Task Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/geo/report/{brand_id}":{"get":{"summary":"Geo Report","operationId":"geo_report_api_v1_geo_report__brand_id__get","parameters":[{"name":"brand_id","in":"path","required":true,"schema":{"type":"integer","title":"Brand Id"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Geo Report Api V1 Geo Report  Brand Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/geo/history/{brand_id}":{"get":{"summary":"Geo History","description":"Return tenant-scoped persisted measurements for desktop projections.","operationId":"geo_history_api_v1_geo_history__brand_id__get","parameters":[{"name":"brand_id","in":"path","required":true,"schema":{"type":"integer","title":"Brand Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Geo History Api V1 Geo History  Brand Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/geo/evidence/{run_id}":{"get":{"summary":"Geo Evidence","description":"Return auditable raw provider answers for one tenant-scoped measurement.","operationId":"geo_evidence_api_v1_geo_evidence__run_id__get","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","title":"Run Id"}},{"name":"status","in":"query","required":false,"schema":{"type":"string","maxLength":30,"default":"","title":"Status"}},{"name":"provider","in":"query","required":false,"schema":{"type":"string","maxLength":50,"default":"","title":"Provider"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":200,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Geo Evidence Api V1 Geo Evidence  Run Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/geo/intelligence/{run_id}":{"get":{"summary":"Geo Intelligence","description":"Return evidence-backed entity, competitor SOV, position, and sentiment intelligence.","operationId":"geo_intelligence_api_v1_geo_intelligence__run_id__get","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","title":"Run Id"}},{"name":"provider","in":"query","required":false,"schema":{"type":"string","maxLength":50,"default":"","title":"Provider"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":2000,"minimum":1,"default":500,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Geo Intelligence Api V1 Geo Intelligence  Run Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/citations":{"get":{"summary":"List Citations","operationId":"list_citations_api_v1_citations_get","parameters":[{"name":"brand_id","in":"query","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Brand Id"}},{"name":"provider","in":"query","required":false,"schema":{"type":"string","maxLength":50,"default":"","title":"Provider"}},{"name":"host","in":"query","required":false,"schema":{"type":"string","maxLength":255,"default":"","title":"Host"}},{"name":"owned","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Owned"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":200,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Citations Api V1 Citations Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/citations/sources":{"get":{"summary":"Citation Sources","operationId":"citation_sources_api_v1_citations_sources_get","parameters":[{"name":"brand_id","in":"query","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Brand Id"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Citation Sources Api V1 Citations Sources Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/geo/comparison/{brand_id}":{"get":{"summary":"Geo Comparison","operationId":"geo_comparison_api_v1_geo_comparison__brand_id__get","parameters":[{"name":"brand_id","in":"path","required":true,"schema":{"type":"integer","title":"Brand Id"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Geo Comparison Api V1 Geo Comparison  Brand Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/generation/create":{"post":{"summary":"Generate Asset","operationId":"generate_asset_api_v1_generation_create_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationCreateRequest"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Generate Asset Api V1 Generation Create Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/assets":{"get":{"summary":"List Assets","operationId":"list_assets_api_v1_assets_get","parameters":[{"name":"brand_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Brand Id"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Assets Api V1 Assets Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/assets/{asset_id}/review":{"post":{"summary":"Review Asset","operationId":"review_asset_api_v1_assets__asset_id__review_post","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","title":"Asset Id"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetReviewRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Review Asset Api V1 Assets  Asset Id  Review Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/publishing/create":{"post":{"summary":"Create Publish Task","operationId":"create_publish_task_api_v1_publishing_create_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublishCreateRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Publish Task Api V1 Publishing Create Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/publishing/{task_id}/complete":{"post":{"summary":"Complete Publish Task","operationId":"complete_publish_task_api_v1_publishing__task_id__complete_post","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublishCompleteRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Complete Publish Task Api V1 Publishing  Task Id  Complete Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/experiments":{"post":{"summary":"Create Experiment","operationId":"create_experiment_api_v1_experiments_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExperimentCreateRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Experiment Api V1 Experiments Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"summary":"List Experiments","operationId":"list_experiments_api_v1_experiments_get","parameters":[{"name":"brand_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Brand Id"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Experiments Api V1 Experiments Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/optimizer/plan":{"post":{"summary":"Create Optimizer Plan","description":"Turn the latest persisted weak answers into deduplicated review actions.","operationId":"create_optimizer_plan_api_v1_optimizer_plan_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OptimizerPlanRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Optimizer Plan Api V1 Optimizer Plan Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/optimizer/actions/{action_id}/decision":{"post":{"summary":"Decide Optimizer Action","operationId":"decide_optimizer_action_api_v1_optimizer_actions__action_id__decision_post","parameters":[{"name":"action_id","in":"path","required":true,"schema":{"type":"string","title":"Action Id"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OptimizerDecisionRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Decide Optimizer Action Api V1 Optimizer Actions  Action Id  Decision Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/optimizer/actions/{action_id}/generate":{"post":{"summary":"Generate Optimizer Action","operationId":"generate_optimizer_action_api_v1_optimizer_actions__action_id__generate_post","parameters":[{"name":"action_id","in":"path","required":true,"schema":{"type":"string","title":"Action Id"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OptimizerGenerateRequest"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Generate Optimizer Action Api V1 Optimizer Actions  Action Id  Generate Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/optimizer/actions":{"get":{"summary":"Optimizer Actions","operationId":"optimizer_actions_api_v1_optimizer_actions_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Optimizer Actions Api V1 Optimizer Actions Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/optimizer/workflow":{"get":{"summary":"Optimizer Workflow","description":"Return the evidence-to-retest chain without inventing external outcomes.","operationId":"optimizer_workflow_api_v1_optimizer_workflow_get","parameters":[{"name":"brand_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Brand Id"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Optimizer Workflow Api V1 Optimizer Workflow Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/dashboard":{"get":{"summary":"Dashboard","operationId":"dashboard_api_v1_dashboard_get","parameters":[{"name":"brand_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"title":"Brand Id"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Dashboard Api V1 Dashboard Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/dashboard/trend":{"get":{"summary":"Dashboard Trend","operationId":"dashboard_trend_api_v1_dashboard_trend_get","parameters":[{"name":"brand_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"title":"Brand Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":365,"minimum":1,"default":30,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Dashboard Trend Api V1 Dashboard Trend Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/dashboard/platforms":{"get":{"summary":"Dashboard Platforms","operationId":"dashboard_platforms_api_v1_dashboard_platforms_get","parameters":[{"name":"brand_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"title":"Brand Id"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Dashboard Platforms Api V1 Dashboard Platforms Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"AssetReviewRequest":{"properties":{"approved":{"type":"boolean","title":"Approved"}},"type":"object","required":["approved"],"title":"AssetReviewRequest"},"BrandCompetitorCreateRequest":{"properties":{"name":{"type":"string","maxLength":200,"minLength":1,"title":"Name"},"aliases":{"items":{"type":"string"},"type":"array","maxItems":20,"title":"Aliases"},"source":{"type":"string","enum":["manual","imported","discovered"],"title":"Source","default":"manual"}},"type":"object","required":["name"],"title":"BrandCompetitorCreateRequest"},"BrandCreateRequest":{"properties":{"name":{"type":"string","maxLength":200,"minLength":1,"title":"Name"},"industry":{"type":"string","maxLength":120,"minLength":1,"title":"Industry"},"website":{"anyOf":[{"type":"string","maxLength":2083,"minLength":1,"format":"uri"},{"type":"null"}],"title":"Website"},"description":{"type":"string","maxLength":5000,"title":"Description","default":""}},"type":"object","required":["name","industry"],"title":"BrandCreateRequest"},"CrawlerLogImportRequest":{"properties":{"brand_id":{"type":"integer","exclusiveMinimum":0.0,"title":"Brand Id"},"source_type":{"type":"string","enum":["nginx_combined","cloudflare_jsonl"],"title":"Source Type"},"source_name":{"type":"string","maxLength":255,"minLength":1,"title":"Source Name","default":"access.log"},"content":{"type":"string","maxLength":10485760,"minLength":1,"title":"Content"},"fallback_host":{"type":"string","maxLength":255,"title":"Fallback Host","default":""}},"type":"object","required":["brand_id","source_type","content"],"title":"CrawlerLogImportRequest"},"ExperimentCreateRequest":{"properties":{"brand_id":{"type":"integer","title":"Brand Id"},"baseline_run_id":{"type":"string","maxLength":36,"minLength":36,"title":"Baseline Run Id"},"hypothesis":{"type":"string","maxLength":4000,"minLength":10,"title":"Hypothesis"},"target_metrics":{"additionalProperties":{"type":"number"},"type":"object","title":"Target Metrics"}},"type":"object","required":["brand_id","baseline_run_id","hypothesis"],"title":"ExperimentCreateRequest"},"GenerationCreateRequest":{"properties":{"brand_id":{"type":"integer","title":"Brand Id"},"type":{"type":"string","enum":["faq","llms","schema","article","website"],"title":"Type"},"provider":{"type":"string","const":"freellmapi","title":"Provider","default":"freellmapi"},"model":{"type":"string","maxLength":160,"title":"Model","default":""},"instruction":{"type":"string","maxLength":2000,"title":"Instruction","default":""},"experiment_id":{"type":"string","maxLength":36,"title":"Experiment Id","default":""}},"type":"object","required":["brand_id","type"],"title":"GenerationCreateRequest"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"LicenseActivateRequest":{"properties":{"code":{"type":"string","maxLength":100,"minLength":8,"title":"Code"},"device_fingerprint":{"type":"string","maxLength":128,"minLength":16,"title":"Device Fingerprint"}},"type":"object","required":["code","device_fingerprint"],"title":"LicenseActivateRequest"},"LicenseCreateRequest":{"properties":{"count":{"type":"integer","maximum":1000.0,"minimum":1.0,"title":"Count","default":1},"note":{"type":"string","maxLength":500,"title":"Note","default":""}},"type":"object","title":"LicenseCreateRequest"},"LoginRequest":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"password":{"type":"string","maxLength":128,"minLength":1,"title":"Password"}},"type":"object","required":["email","password"],"title":"LoginRequest"},"MonitorCreateRequest":{"properties":{"brand_id":{"type":"integer","title":"Brand Id"},"providers":{"items":{"type":"string","enum":["deepseek","qwen","kimi","doubao"]},"type":"array","title":"Providers"},"questions":{"items":{"type":"string"},"type":"array","maxItems":100,"title":"Questions"},"prompt_ids":{"items":{"type":"string"},"type":"array","maxItems":100,"title":"Prompt Ids"},"prompt_limit":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Prompt Limit","default":8},"repeat_count":{"type":"integer","maximum":5.0,"minimum":1.0,"title":"Repeat Count","default":1},"models":{"additionalProperties":{"type":"string"},"type":"object","title":"Models"},"measurement_type":{"type":"string","enum":["baseline","recheck","monitor"],"title":"Measurement Type","default":"monitor"},"baseline_run_id":{"type":"string","maxLength":36,"title":"Baseline Run Id","default":""},"experiment_id":{"type":"string","maxLength":36,"title":"Experiment Id","default":""}},"type":"object","required":["brand_id"],"title":"MonitorCreateRequest"},"OptimizerDecisionRequest":{"properties":{"approved":{"type":"boolean","title":"Approved"}},"type":"object","required":["approved"],"title":"OptimizerDecisionRequest"},"OptimizerGenerateRequest":{"properties":{"provider":{"type":"string","const":"freellmapi","title":"Provider","default":"freellmapi"},"model":{"type":"string","maxLength":160,"title":"Model","default":""},"platform":{"type":"string","maxLength":50,"title":"Platform","default":""},"instruction":{"type":"string","maxLength":2000,"title":"Instruction","default":""}},"type":"object","title":"OptimizerGenerateRequest"},"OptimizerPlanRequest":{"properties":{"brand_id":{"type":"integer","title":"Brand Id"},"run_id":{"type":"string","maxLength":36,"title":"Run Id","default":""},"target_platforms":{"items":{"type":"string"},"type":"array","maxItems":10,"title":"Target Platforms"},"max_actions":{"type":"integer","maximum":50.0,"minimum":1.0,"title":"Max Actions","default":20}},"type":"object","required":["brand_id"],"title":"OptimizerPlanRequest"},"PromptCreateRequest":{"properties":{"brand_id":{"type":"integer","title":"Brand Id"},"question":{"type":"string","maxLength":1000,"minLength":2,"title":"Question"},"intent":{"type":"string","maxLength":50,"minLength":2,"title":"Intent","default":"discovery"},"funnel_stage":{"type":"string","maxLength":30,"minLength":2,"title":"Funnel Stage","default":"awareness"},"persona":{"type":"string","maxLength":100,"minLength":1,"title":"Persona","default":"general"},"region":{"type":"string","maxLength":100,"minLength":1,"title":"Region","default":"CN"},"language":{"type":"string","maxLength":20,"minLength":2,"title":"Language","default":"zh-CN"},"priority":{"type":"integer","maximum":100.0,"minimum":0.0,"title":"Priority","default":50},"category":{"type":"string","maxLength":100,"minLength":1,"title":"Category","default":"general"},"blind_eligible":{"type":"boolean","title":"Blind Eligible","default":true},"active":{"type":"boolean","title":"Active","default":true},"source":{"type":"string","enum":["manual","ai_generated","imported","system_generated"],"title":"Source","default":"manual"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"}},"type":"object","required":["brand_id","question"],"title":"PromptCreateRequest"},"PromptGenerateRequest":{"properties":{"brand_id":{"type":"integer","title":"Brand Id"},"limit":{"type":"integer","maximum":100.0,"minimum":5.0,"title":"Limit","default":20},"region":{"type":"string","maxLength":100,"minLength":1,"title":"Region","default":"CN"},"language":{"type":"string","maxLength":20,"minLength":2,"title":"Language","default":"zh-CN"}},"type":"object","required":["brand_id"],"title":"PromptGenerateRequest"},"PromptUpdateRequest":{"properties":{"question":{"anyOf":[{"type":"string","maxLength":1000,"minLength":2},{"type":"null"}],"title":"Question"},"intent":{"anyOf":[{"type":"string","maxLength":50,"minLength":2},{"type":"null"}],"title":"Intent"},"funnel_stage":{"anyOf":[{"type":"string","maxLength":30,"minLength":2},{"type":"null"}],"title":"Funnel Stage"},"persona":{"anyOf":[{"type":"string","maxLength":100,"minLength":1},{"type":"null"}],"title":"Persona"},"region":{"anyOf":[{"type":"string","maxLength":100,"minLength":1},{"type":"null"}],"title":"Region"},"language":{"anyOf":[{"type":"string","maxLength":20,"minLength":2},{"type":"null"}],"title":"Language"},"priority":{"anyOf":[{"type":"integer","maximum":100.0,"minimum":0.0},{"type":"null"}],"title":"Priority"},"category":{"anyOf":[{"type":"string","maxLength":100,"minLength":1},{"type":"null"}],"title":"Category"},"blind_eligible":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Blind Eligible"},"active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Active"},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata"}},"type":"object","title":"PromptUpdateRequest"},"PublishCompleteRequest":{"properties":{"public_url":{"type":"string","maxLength":2083,"minLength":1,"format":"uri","title":"Public Url"},"external_id":{"type":"string","maxLength":160,"title":"External Id","default":""}},"type":"object","required":["public_url"],"title":"PublishCompleteRequest"},"PublishCreateRequest":{"properties":{"asset_id":{"type":"string","title":"Asset Id"},"platform":{"type":"string","enum":["xiaohongshu","zhihu","wechat","baijia","website"],"title":"Platform"}},"type":"object","required":["asset_id","platform"],"title":"PublishCreateRequest"},"RefreshRequest":{"properties":{"refresh_token":{"type":"string","minLength":20,"title":"Refresh Token"}},"type":"object","required":["refresh_token"],"title":"RefreshRequest"},"RegisterRequest":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"password":{"type":"string","maxLength":128,"minLength":10,"title":"Password"},"workspace_name":{"type":"string","maxLength":200,"minLength":2,"title":"Workspace Name","default":"My Workspace"}},"type":"object","required":["email","password"],"title":"RegisterRequest"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"WorkspaceUpdateRequest":{"properties":{"name":{"type":"string","maxLength":200,"minLength":2,"title":"Name"}},"type":"object","required":["name"],"title":"WorkspaceUpdateRequest"}}}}