{"openapi":"3.1.0","info":{"title":"八字排盘服务","version":"1.0.0"},"paths":{"/api/v1/integrations/telegram/webhook":{"post":{"summary":"Receive Telegram Webhook","description":"接收 Telegram Update；只负责鉴权和入队，不同步执行测算。","operationId":"receive_telegram_webhook_api_v1_integrations_telegram_webhook_post","parameters":[{"name":"X-Telegram-Bot-Api-Secret-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Telegram-Bot-Api-Secret-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"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":{}}}}}}},"/live":{"get":{"summary":"Live","operationId":"live_live_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/ready":{"get":{"summary":"Ready","operationId":"ready_ready_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/metrics":{"get":{"summary":"Metrics","operationId":"metrics_metrics_get","responses":{"200":{"description":"Successful Response","content":{"text/plain":{"schema":{"type":"string"}}}}}}},"/web":{"get":{"summary":"Web Report","description":"原生 HTML Web 版标准 Markdown 报告。","operationId":"web_report_web_get","parameters":[{"name":"birthDate","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Birthdate"}},{"name":"birthTime","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Birthtime"}},{"name":"birthPlace","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Birthplace"}},{"name":"locationMode","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Locationmode"}},{"name":"locationId","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Locationid"}},{"name":"timeBasis","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timebasis"}},{"name":"foldChoice","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Foldchoice"}},{"name":"gender","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gender"}},{"name":"name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"}},{"name":"reportSystem","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reportsystem"}},{"name":"submitted","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Submitted"}},{"name":"jobId","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Jobid"}}],"responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/locations":{"get":{"summary":"Search Locations","description":"搜索稳定出生地点 ID；返回 WGS84 坐标、IANA 时区与来源精度。","operationId":"search_locations_api_v1_locations_get","parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string","minLength":1,"maxLength":160,"title":"Q"}},{"name":"mode","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^(domestic|overseas)$"},{"type":"null"}],"title":"Mode"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"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/v1/locations/{location_id}":{"get":{"summary":"Get Location","description":"按稳定地点 ID 获取出生地点事实。","operationId":"get_location_api_v1_locations__location_id__get","parameters":[{"name":"location_id","in":"path","required":true,"schema":{"type":"string","title":"Location Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/report/jobs/web":{"post":{"summary":"Create Web Report Job","description":"提交 Web 表单报告任务；公开工作台默认使用该异步入口。","operationId":"create_web_report_job_api_v1_report_jobs_web_post","parameters":[{"name":"Idempotency-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idempotency-Key"}},{"name":"X-FateCat-Webhook-Url","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Fatecat-Webhook-Url"}},{"name":"X-FateCat-Webhook-Secret","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Fatecat-Webhook-Secret"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/report/systems":{"get":{"summary":"List Report Systems","description":"列出当前可用和未来规划的独立输出体系。","operationId":"list_report_systems_api_v1_report_systems_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/capabilities":{"get":{"summary":"List Prediction Capabilities","description":"列出统一测算 capability 注册表。","operationId":"list_prediction_capabilities_api_v1_capabilities_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/capabilities":{"get":{"summary":"List Measurement Capabilities","description":"基础设施口径 capability 注册表别名。","operationId":"list_measurement_capabilities_capabilities_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/capabilities/{capability_id}":{"get":{"summary":"Get Prediction Capability","description":"读取单个 capability 资源详情。","operationId":"get_prediction_capability_api_v1_capabilities__capability_id__get","parameters":[{"name":"capability_id","in":"path","required":true,"schema":{"type":"string","title":"Capability Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"summary":"Execute Prediction Capability","description":"执行已生产化的独立 capability。","operationId":"execute_prediction_capability_api_v1_capabilities__capability_id__post","parameters":[{"name":"capability_id","in":"path","required":true,"schema":{"type":"string","title":"Capability Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/capabilities/{capability_id}":{"get":{"summary":"Get Measurement Capability","description":"基础设施口径 capability 资源详情别名。","operationId":"get_measurement_capability_capabilities__capability_id__get","parameters":[{"name":"capability_id","in":"path","required":true,"schema":{"type":"string","title":"Capability Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/providers":{"get":{"summary":"List Prediction Providers","description":"列出 production provider 资源注册表。","operationId":"list_prediction_providers_api_v1_providers_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/providers":{"get":{"summary":"List Measurement Providers","description":"基础设施口径 provider 注册表别名。","operationId":"list_measurement_providers_providers_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/providers/{provider_id}":{"get":{"summary":"Get Prediction Provider","description":"读取单个 provider 资源详情。","operationId":"get_prediction_provider_api_v1_providers__provider_id__get","parameters":[{"name":"provider_id","in":"path","required":true,"schema":{"type":"string","title":"Provider Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/providers/{provider_id}":{"get":{"summary":"Get Measurement Provider","description":"基础设施口径 provider 资源详情别名。","operationId":"get_measurement_provider_providers__provider_id__get","parameters":[{"name":"provider_id","in":"path","required":true,"schema":{"type":"string","title":"Provider Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/capabilities/{capability_id}/calculate":{"post":{"summary":"Calculate Measurement Capability","description":"基础设施口径 capability 执行别名。","operationId":"calculate_measurement_capability_capabilities__capability_id__calculate_post","parameters":[{"name":"capability_id","in":"path","required":true,"schema":{"type":"string","title":"Capability Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/sandbox/capabilities/{capability_id}/calculate":{"post":{"summary":"Calculate Sandbox Capability","description":"本地 sandbox gateway：验证 sandbox token scope 后执行白名单 capability。","operationId":"calculate_sandbox_capability_api_v1_sandbox_capabilities__capability_id__calculate_post","parameters":[{"name":"capability_id","in":"path","required":true,"schema":{"type":"string","title":"Capability Id"}},{"name":"X-FateCat-Sandbox-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Fatecat-Sandbox-Token"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/sandbox/capabilities/{capability_id}/calculate":{"post":{"summary":"Calculate Measurement Sandbox Capability","description":"基础设施口径 sandbox gateway 别名。","operationId":"calculate_measurement_sandbox_capability_sandbox_capabilities__capability_id__calculate_post","parameters":[{"name":"capability_id","in":"path","required":true,"schema":{"type":"string","title":"Capability Id"}},{"name":"X-FateCat-Sandbox-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Fatecat-Sandbox-Token"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/errors":{"get":{"summary":"List Error Catalog","description":"列出测算基础设施标准错误码。","operationId":"list_error_catalog_api_v1_errors_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/errors":{"get":{"summary":"List Measurement Errors","description":"基础设施口径标准错误码别名。","operationId":"list_measurement_errors_errors_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/evaluations":{"get":{"summary":"List Prediction Evaluations","description":"列出 Dataset 与 EvaluationRun 评测资源注册表。","operationId":"list_prediction_evaluations_api_v1_evaluations_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/evaluations":{"get":{"summary":"List Measurement Evaluations","description":"基础设施口径评测资源注册表别名。","operationId":"list_measurement_evaluations_evaluations_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/evaluations/{evaluation_id}":{"get":{"summary":"Get Prediction Evaluation","description":"读取单个 Dataset 或 EvaluationRun 资源详情。","operationId":"get_prediction_evaluation_api_v1_evaluations__evaluation_id__get","parameters":[{"name":"evaluation_id","in":"path","required":true,"schema":{"type":"string","title":"Evaluation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/evaluations/{evaluation_id}":{"get":{"summary":"Get Measurement Evaluation","description":"基础设施口径评测资源详情别名。","operationId":"get_measurement_evaluation_evaluations__evaluation_id__get","parameters":[{"name":"evaluation_id","in":"path","required":true,"schema":{"type":"string","title":"Evaluation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/observability":{"get":{"summary":"List Prediction Observability","description":"列出 health、ready、metrics、logs 与 planned trace/SLO 观测资源。","operationId":"list_prediction_observability_api_v1_observability_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/observability":{"get":{"summary":"List Measurement Observability","description":"基础设施口径观测资源注册表别名。","operationId":"list_measurement_observability_observability_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/observability/{signal_id}":{"get":{"summary":"Get Prediction Observability Signal","description":"读取单个 ObservabilitySignal 资源详情。","operationId":"get_prediction_observability_signal_api_v1_observability__signal_id__get","parameters":[{"name":"signal_id","in":"path","required":true,"schema":{"type":"string","title":"Signal Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/observability/{signal_id}":{"get":{"summary":"Get Measurement Observability Signal","description":"基础设施口径观测资源详情别名。","operationId":"get_measurement_observability_signal_observability__signal_id__get","parameters":[{"name":"signal_id","in":"path","required":true,"schema":{"type":"string","title":"Signal Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/security":{"get":{"summary":"List Prediction Security Controls","description":"列出安全、隐私与发布门禁 SecurityControl 资源注册表。","operationId":"list_prediction_security_controls_api_v1_security_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/security":{"get":{"summary":"List Measurement Security Controls","description":"基础设施口径安全控制资源注册表别名。","operationId":"list_measurement_security_controls_security_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/security/{control_id}":{"get":{"summary":"Get Prediction Security Control","description":"读取单个 SecurityControl 资源详情。","operationId":"get_prediction_security_control_api_v1_security__control_id__get","parameters":[{"name":"control_id","in":"path","required":true,"schema":{"type":"string","title":"Control Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/security/{control_id}":{"get":{"summary":"Get Measurement Security Control","description":"基础设施口径安全控制资源详情别名。","operationId":"get_measurement_security_control_security__control_id__get","parameters":[{"name":"control_id","in":"path","required":true,"schema":{"type":"string","title":"Control Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/surfaces":{"get":{"summary":"List Prediction Delivery Surfaces","description":"列出 Web、API、Bot、CLI、Skill 和托管 Web 交付面资源注册表。","operationId":"list_prediction_delivery_surfaces_api_v1_surfaces_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/surfaces":{"get":{"summary":"List Measurement Delivery Surfaces","description":"基础设施口径交付面资源注册表别名。","operationId":"list_measurement_delivery_surfaces_surfaces_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/surfaces/{surface_id}":{"get":{"summary":"Get Prediction Delivery Surface","description":"读取单个 DeliverySurface 资源详情。","operationId":"get_prediction_delivery_surface_api_v1_surfaces__surface_id__get","parameters":[{"name":"surface_id","in":"path","required":true,"schema":{"type":"string","title":"Surface Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/surfaces/{surface_id}":{"get":{"summary":"Get Measurement Delivery Surface","description":"基础设施口径交付面资源详情别名。","operationId":"get_measurement_delivery_surface_surfaces__surface_id__get","parameters":[{"name":"surface_id","in":"path","required":true,"schema":{"type":"string","title":"Surface Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/reports":{"get":{"summary":"List Report Infrastructure","description":"列出报告交付入口和可见 profile。","operationId":"list_report_infrastructure_reports_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/metadata":{"get":{"summary":"Service Metadata","description":"测算基础设施元信息。","operationId":"service_metadata_metadata_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/bazi/simple":{"post":{"summary":"Calculate Bazi Simple","description":"简化八字计算 - 直接返回原始结果","operationId":"calculate_bazi_simple_api_v1_bazi_simple_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BaziRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"deprecated":true}},"/api/v1/bazi/pure-analysis":{"post":{"summary":"Calculate Bazi Pure Analysis","description":"纯命理分析 - 仅返回配置约束下的核心字段。","operationId":"calculate_bazi_pure_analysis_api_v1_bazi_pure_analysis_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BaziRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/bazi/calculate":{"post":{"summary":"Calculate Bazi","description":"计算八字排盘","operationId":"calculate_bazi_api_v1_bazi_calculate_post","deprecated":true,"parameters":[{"name":"user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Id"}},{"name":"X-FateCat-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Fatecat-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/BaziRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BaziResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/report/jobs":{"post":{"summary":"Create Markdown Report Job","description":"提交标准 Markdown 报告生成任务。","operationId":"create_markdown_report_job_api_v1_report_jobs_post","parameters":[{"name":"Idempotency-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idempotency-Key"}},{"name":"X-FateCat-Webhook-Url","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Fatecat-Webhook-Url"}},{"name":"X-FateCat-Webhook-Secret","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Fatecat-Webhook-Secret"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BaziRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/report/jobs/{job_id}":{"get":{"summary":"Get Report Job","description":"查询 Markdown 报告任务状态；成功后返回 Markdown 结果。","operationId":"get_report_job_api_v1_report_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"}}}}}}},"/api/v1/report/jobs/{job_id}/cancel":{"post":{"summary":"Cancel Report Job","description":"取消报告任务；running 任务无法强杀线程，但完成后会丢弃结果。","operationId":"cancel_report_job_api_v1_report_jobs__job_id__cancel_post","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"}}}}}}},"/api/v1/report/markdown":{"post":{"summary":"Generate Markdown Report","description":"生成指定体系的 Markdown 报告。","operationId":"generate_markdown_report_api_v1_report_markdown_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BaziRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/liuyao/factor":{"post":{"summary":"Calculate Liuyao Factor","description":"六爻量化因子 - 统一输出结构","operationId":"calculate_liuyao_factor_api_v1_liuyao_factor_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LiuyaoFactorRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LiuyaoFactorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/records/{record_id}":{"get":{"summary":"Get Record","description":"获取记录","operationId":"get_record_api_v1_records__record_id__get","parameters":[{"name":"record_id","in":"path","required":true,"schema":{"type":"integer","title":"Record Id"}},{"name":"X-FateCat-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Fatecat-Api-Key"}},{"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"}}}}}},"delete":{"summary":"Delete Record","description":"删除记录","operationId":"delete_record_api_v1_records__record_id__delete","parameters":[{"name":"record_id","in":"path","required":true,"schema":{"type":"integer","title":"Record Id"}},{"name":"X-FateCat-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Fatecat-Api-Key"}},{"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/v1/user/{user_id}/records":{"get":{"summary":"Get User Records","description":"获取用户记录","operationId":"get_user_records_api_v1_user__user_id__records_get","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}},{"name":"biz_type","in":"query","required":false,"schema":{"type":"string","title":"Biz Type"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":10,"title":"Limit"}},{"name":"X-FateCat-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Fatecat-Api-Key"}},{"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"}}}}}}}},"components":{"schemas":{"AnnualFortune":{"properties":{"year":{"type":"integer","title":"Year"},"stem":{"type":"string","title":"Stem"},"branch":{"type":"string","title":"Branch"},"fullName":{"type":"string","title":"Fullname"}},"type":"object","required":["year","stem","branch","fullName"],"title":"AnnualFortune"},"BaziData":{"properties":{"timeInfo":{"$ref":"#/components/schemas/TimeInfo"},"fourPillars":{"$ref":"#/components/schemas/FourPillars"},"hiddenStems":{"$ref":"#/components/schemas/HiddenStems"},"tenGods":{"$ref":"#/components/schemas/TenGods"},"fiveElements":{"$ref":"#/components/schemas/FiveElements"},"dayMaster":{"$ref":"#/components/schemas/DayMaster"},"majorFortune":{"$ref":"#/components/schemas/MajorFortune"},"annualFortune":{"items":{"$ref":"#/components/schemas/AnnualFortune"},"type":"array","title":"Annualfortune"},"spirits":{"anyOf":[{"$ref":"#/components/schemas/Spirits"},{"type":"null"}]},"voidBranches":{"title":"Voidbranches"}},"type":"object","required":["timeInfo","fourPillars","hiddenStems","tenGods","fiveElements","dayMaster","majorFortune","annualFortune"],"title":"BaziData"},"BaziOptions":{"properties":{"useTrueSolarTime":{"type":"boolean","title":"Usetruesolartime","description":"是否使用真太阳时","default":true},"daylightSaving":{"type":"string","enum":["auto","on","off"],"title":"Daylightsaving","description":"夏令时处理","default":"auto"},"midnightMode":{"type":"string","enum":["early","late"],"title":"Midnightmode","description":"早晚子时","default":"early"},"calendarType":{"type":"string","enum":["solar","lunar"],"title":"Calendartype","description":"输入历法类型","default":"solar"},"reportSystem":{"type":"string","enum":["bazi","ziwei"],"title":"Reportsystem","description":"Markdown 报告输出体系","default":"bazi"},"timeBasis":{"type":"string","enum":["local_civil","beijing_time","utc"],"title":"Timebasis","description":"出生钟表口径","default":"local_civil"},"foldChoice":{"anyOf":[{"type":"string","enum":["earlier","later"]},{"type":"null"}],"title":"Foldchoice","description":"夏令时回拨重复时刻选择"}},"type":"object","title":"BaziOptions"},"BaziRequest":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"姓名"},"gender":{"type":"string","enum":["male","female"],"title":"Gender","description":"性别"},"birthDate":{"type":"string","title":"Birthdate","description":"出生日期 YYYY-MM-DD"},"birthTime":{"type":"string","title":"Birthtime","description":"出生时间 HH:MM 或 HH:MM:SS"},"birthPlace":{"anyOf":[{"$ref":"#/components/schemas/BirthPlace"},{"type":"null"}],"description":"出生地点"},"options":{"$ref":"#/components/schemas/BaziOptions"}},"type":"object","required":["gender","birthDate","birthTime"],"title":"BaziRequest"},"BaziResponse":{"properties":{"disclaimer":{"type":"string","title":"Disclaimer"},"success":{"type":"boolean","title":"Success"},"data":{"anyOf":[{"$ref":"#/components/schemas/BaziData"},{"type":"null"}]},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"},"meta":{"$ref":"#/components/schemas/Meta"},"branding":{"$ref":"#/components/schemas/BrandingInfo"}},"type":"object","required":["disclaimer","success","meta","branding"],"title":"BaziResponse"},"BirthPlace":{"properties":{"name":{"type":"string","title":"Name","description":"地点名称"},"longitude":{"type":"number","maximum":180.0,"minimum":-180.0,"title":"Longitude","description":"经度"},"latitude":{"type":"number","maximum":90.0,"minimum":-90.0,"title":"Latitude","description":"纬度"},"timezone":{"type":"string","title":"Timezone","description":"IANA 时区"},"locationId":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Locationid","description":"稳定地点 ID"},"coordinateSystem":{"type":"string","const":"WGS84","title":"Coordinatesystem","description":"坐标系","default":"WGS84"},"coordinatePrecision":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Coordinateprecision","description":"坐标精度来源"}},"type":"object","required":["name","longitude","latitude","timezone"],"title":"BirthPlace"},"BrandingInfo":{"properties":{"name":{"type":"string","title":"Name"},"heroTitle":{"type":"string","title":"Herotitle"},"sponsorText":{"type":"string","title":"Sponsortext"},"tagline":{"type":"string","title":"Tagline"},"tradecatRepo":{"type":"string","title":"Tradecatrepo"},"fatecatRepo":{"type":"string","title":"Fatecatrepo"},"dexScreenerUrl":{"type":"string","title":"Dexscreenerurl"},"xUrl":{"type":"string","title":"Xurl"},"githubUrl":{"type":"string","title":"Githuburl"},"huggingFaceUrl":{"type":"string","title":"Huggingfaceurl"},"geminiGemUrl":{"type":"string","title":"Geminigemurl"},"ca":{"type":"string","title":"Ca"}},"type":"object","required":["name","heroTitle","sponsorText","tagline","tradecatRepo","fatecatRepo","dexScreenerUrl","xUrl","githubUrl","huggingFaceUrl","geminiGemUrl","ca"],"title":"BrandingInfo"},"DayMaster":{"properties":{"stem":{"type":"string","title":"Stem"},"element":{"type":"string","title":"Element"},"yinYang":{"type":"string","enum":["阳","阴"],"title":"Yinyang"},"strength":{"type":"string","enum":["身强","中和偏强","中和","中和偏弱","身弱","旺","偏旺","偏弱","弱"],"title":"Strength"}},"type":"object","required":["stem","element","yinYang","strength"],"title":"DayMaster"},"ElementStat":{"properties":{"count":{"type":"integer","title":"Count"},"percentage":{"type":"number","title":"Percentage"},"stems":{"items":{"type":"string"},"type":"array","title":"Stems"},"branches":{"items":{"type":"string"},"type":"array","title":"Branches"},"items":{"items":{"type":"string"},"type":"array","title":"Items"}},"type":"object","required":["count","percentage"],"title":"ElementStat"},"FiveElements":{"properties":{"wood":{"$ref":"#/components/schemas/ElementStat"},"fire":{"$ref":"#/components/schemas/ElementStat"},"earth":{"$ref":"#/components/schemas/ElementStat"},"metal":{"$ref":"#/components/schemas/ElementStat"},"water":{"$ref":"#/components/schemas/ElementStat"}},"type":"object","required":["wood","fire","earth","metal","water"],"title":"FiveElements"},"FourPillars":{"properties":{"year":{"$ref":"#/components/schemas/Pillar"},"month":{"$ref":"#/components/schemas/Pillar"},"day":{"$ref":"#/components/schemas/Pillar"},"hour":{"$ref":"#/components/schemas/Pillar"}},"type":"object","required":["year","month","day","hour"],"title":"FourPillars"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HiddenStems":{"properties":{"year":{"items":{"type":"string"},"type":"array","title":"Year"},"month":{"items":{"type":"string"},"type":"array","title":"Month"},"day":{"items":{"type":"string"},"type":"array","title":"Day"},"hour":{"items":{"type":"string"},"type":"array","title":"Hour"}},"type":"object","required":["year","month","day","hour"],"title":"HiddenStems"},"LiuyaoFactorData":{"properties":{"item":{"type":"string","title":"Item"},"timestamp":{"type":"string","title":"Timestamp"},"direction":{"type":"string","enum":["up","down","neutral"],"title":"Direction"},"strength":{"type":"number","title":"Strength"},"confidence":{"type":"number","title":"Confidence"},"cycle":{"type":"string","enum":["intraday","1-3d","1-2w","1-3m"],"title":"Cycle"},"raw":{"additionalProperties":true,"type":"object","title":"Raw"},"explain":{"items":{"type":"string"},"type":"array","title":"Explain"},"source":{"type":"string","title":"Source"},"version":{"type":"string","title":"Version"}},"type":"object","required":["item","timestamp","direction","strength","confidence","cycle","raw","explain","source","version"],"title":"LiuyaoFactorData"},"LiuyaoFactorRequest":{"properties":{"item":{"type":"string","title":"Item","description":"标的名称（交易对/商品名）"},"timestamp":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timestamp","description":"起卦时间（ISO 格式，可省略）"},"method":{"type":"string","enum":["seeded","random","manual"],"title":"Method","description":"起卦方式：seeded=可复现，random=随机，manual=手动","default":"seeded"},"seed":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seed","description":"可复现 seed（seeded 可选）"},"cnts":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Cnts","description":"手动起卦铜钱结果（6 个 0-3）"},"cycleHint":{"anyOf":[{"type":"string","enum":["intraday","1-3d","1-2w","1-3m"]},{"type":"null"}],"title":"Cyclehint","description":"强制周期（可选）"}},"type":"object","required":["item"],"title":"LiuyaoFactorRequest"},"LiuyaoFactorResponse":{"properties":{"disclaimer":{"type":"string","title":"Disclaimer"},"success":{"type":"boolean","title":"Success"},"data":{"anyOf":[{"$ref":"#/components/schemas/LiuyaoFactorData"},{"type":"null"}]},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"},"meta":{"$ref":"#/components/schemas/Meta"},"branding":{"$ref":"#/components/schemas/BrandingInfo"}},"type":"object","required":["disclaimer","success","meta","branding"],"title":"LiuyaoFactorResponse"},"MajorFortune":{"properties":{"direction":{"type":"string","enum":["顺行","逆行"],"title":"Direction"},"startAge":{"type":"integer","title":"Startage"},"startYear":{"type":"integer","title":"Startyear"},"pillars":{"items":{"$ref":"#/components/schemas/MajorFortunePillar"},"type":"array","title":"Pillars"}},"type":"object","required":["direction","startAge","startYear","pillars"],"title":"MajorFortune"},"MajorFortunePillar":{"properties":{"age":{"type":"integer","title":"Age"},"year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Year"},"stem":{"type":"string","title":"Stem"},"branch":{"type":"string","title":"Branch"},"fullName":{"type":"string","title":"Fullname"}},"type":"object","required":["age","stem","branch","fullName"],"title":"MajorFortunePillar"},"Meta":{"properties":{"calculatedAt":{"type":"string","title":"Calculatedat"},"algorithm":{"type":"string","title":"Algorithm","default":"traditional"},"version":{"type":"string","title":"Version","default":"1.0.0"},"recordId":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Recordid"}},"type":"object","required":["calculatedAt"],"title":"Meta"},"Pillar":{"properties":{"stem":{"type":"string","title":"Stem","description":"天干"},"branch":{"type":"string","title":"Branch","description":"地支"},"fullName":{"type":"string","title":"Fullname","description":"干支全称"},"nayin":{"type":"string","title":"Nayin","description":"纳音"}},"type":"object","required":["stem","branch","fullName","nayin"],"title":"Pillar"},"PillarTenGod":{"properties":{"stem":{"type":"string","title":"Stem","description":"天干十神"},"branch":{"items":{"type":"string"},"type":"array","title":"Branch","description":"地支藏干十神"}},"type":"object","required":["stem","branch"],"title":"PillarTenGod"},"Spirits":{"properties":{"auspicious":{"items":{"type":"string"},"type":"array","title":"Auspicious"},"inauspicious":{"items":{"type":"string"},"type":"array","title":"Inauspicious"}},"type":"object","title":"Spirits"},"TenGods":{"properties":{"year":{"$ref":"#/components/schemas/PillarTenGod"},"month":{"$ref":"#/components/schemas/PillarTenGod"},"day":{"$ref":"#/components/schemas/PillarTenGod"},"hour":{"$ref":"#/components/schemas/PillarTenGod"}},"type":"object","required":["year","month","day","hour"],"title":"TenGods"},"TimeInfo":{"properties":{"inputTime":{"type":"string","title":"Inputtime"},"trueSolarTime":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Truesolartime"},"lunarDate":{"type":"string","title":"Lunardate"},"solarTerm":{"type":"string","title":"Solarterm"}},"type":"object","required":["inputTime","lunarDate","solarTerm"],"title":"TimeInfo"},"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"}}}}