{"openapi":"3.1.0","info":{"title":"机械智选 · Mechanical Selection Platform","version":"0.5.3"},"paths":{"/":{"get":{"summary":"Home Page","operationId":"home_page__get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/modules/{module_id}":{"get":{"summary":"Module Page","operationId":"module_page_modules__module_id__get","parameters":[{"name":"module_id","in":"path","required":true,"schema":{"type":"string","title":"Module Id"}}],"responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/robots.txt":{"get":{"summary":"Robots","operationId":"robots_robots_txt_get","responses":{"200":{"description":"Successful Response","content":{"text/plain":{"schema":{"type":"string"}}}}}}},"/sitemap.xml":{"get":{"summary":"Sitemap","operationId":"sitemap_sitemap_xml_get","responses":{"200":{"description":"Successful Response"}}}},"/health/live":{"get":{"summary":"Live","operationId":"live_health_live_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"type":"object","title":"Response Live Health Live Get"}}}}}}},"/health/ready":{"get":{"summary":"Ready","operationId":"ready_health_ready_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"type":"object","title":"Response Ready Health Ready Get"}}}}}}},"/api/v1/modules":{"get":{"summary":"Modules","operationId":"modules_api_v1_modules_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Response Modules Api V1 Modules Get"}}}}}}},"/api/v1/modules/{module_id}/schema":{"get":{"summary":"Module Schema","operationId":"module_schema_api_v1_modules__module_id__schema_get","parameters":[{"name":"module_id","in":"path","required":true,"schema":{"type":"string","title":"Module Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Module Schema Api V1 Modules  Module Id  Schema Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/modules/{module_id}/calculations":{"post":{"summary":"Create Calculation","operationId":"create_calculation_api_v1_modules__module_id__calculations_post","parameters":[{"name":"module_id","in":"path","required":true,"schema":{"type":"string","title":"Module Id"}},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string","minLength":1,"maxLength":128,"pattern":"^[A-Za-z0-9._~-]+$"},{"type":"null"}],"title":"Idempotency-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Create Calculation Api V1 Modules  Module Id  Calculations Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/calculations/{calculation_id}":{"get":{"summary":"Get Calculation","operationId":"get_calculation_api_v1_calculations__calculation_id__get","parameters":[{"name":"calculation_id","in":"path","required":true,"schema":{"type":"string","title":"Calculation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Calculation Api V1 Calculations  Calculation Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/calculations/{calculation_id}/report":{"get":{"summary":"Html Report","operationId":"html_report_calculations__calculation_id__report_get","parameters":[{"name":"calculation_id","in":"path","required":true,"schema":{"type":"string","title":"Calculation Id"}}],"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/calculations/{calculation_id}/report.pdf":{"get":{"summary":"Pdf Report","operationId":"pdf_report_api_v1_calculations__calculation_id__report_pdf_get","parameters":[{"name":"calculation_id","in":"path","required":true,"schema":{"type":"string","title":"Calculation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"CalculationRequest":{"properties":{"input":{"additionalProperties":true,"type":"object","title":"Input"},"assumption_sources":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Assumption Sources"}},"additionalProperties":false,"type":"object","required":["input"],"title":"CalculationRequest","description":"Strict generic envelope; module-specific input remains registry-driven."},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"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"}}}}