{"openapi":"3.1.0","info":{"title":"AI Review Agent API","version":"0.1.0"},"paths":{"/review":{"post":{"summary":"Review","operationId":"review_review_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Raw Case"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Review Review Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/review/sync":{"post":{"summary":"Review Sync","operationId":"review_sync_review_sync_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Raw Case"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Review Sync Review Sync Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/review/html/rebuild":{"post":{"summary":"Rebuild Review Html","operationId":"rebuild_review_html_review_html_rebuild_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Payload"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Rebuild Review Html Review Html Rebuild Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/review/html/status":{"post":{"summary":"Review Html Status","operationId":"review_html_status_review_html_status_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Payload"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Review Html Status Review Html Status Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/review/html/image/open":{"get":{"summary":"Open Review Image","description":"Resolve one image on click and redirect to its fresh OSS URL.","operationId":"open_review_image_review_html_image_open_get","parameters":[{"name":"bizNo","in":"query","required":false,"schema":{"type":"string","default":"","title":"Bizno"}},{"name":"fileTypeId","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Filetypeid"}},{"name":"token","in":"query","required":false,"schema":{"type":"string","default":"","title":"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":{"additionalProperties":{"type":"string"},"type":"object","title":"Response Health Health Get"}}}}}}},"/ocr":{"post":{"tags":["完整案件审核"],"summary":"单图文字识别","operationId":"single_ocr_ocr_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_single_ocr_ocr_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ocr/fields":{"post":{"tags":["完整案件审核"],"summary":"Confirmed Fields","operationId":"confirmed_fields_ocr_fields_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConfirmedText"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/portal/health":{"get":{"tags":["完整案件审核"],"summary":"Health","operationId":"health_portal_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/portal/reviews":{"post":{"tags":["完整案件审核"],"summary":"Submit","operationId":"submit_portal_reviews_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_submit_portal_reviews_post"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/portal/reviews/{run_id}":{"get":{"tags":["完整案件审核"],"summary":"Status","operationId":"status_portal_reviews__run_id__get","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","title":"Run Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/portal/reviews/{run_id}/report":{"get":{"tags":["完整案件审核"],"summary":"Report","operationId":"report_portal_reviews__run_id__report_get","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","title":"Run Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ocr/feedback":{"post":{"tags":["识别反馈"],"summary":"Save Feedback","operationId":"save_feedback_ocr_feedback_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Correction"}}},"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":{"Body_single_ocr_ocr_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"},"document_type":{"type":"string","title":"Document Type","default":""},"mode":{"type":"string","title":"Mode","default":"professional"}},"type":"object","required":["file"],"title":"Body_single_ocr_ocr_post"},"Body_submit_portal_reviews_post":{"properties":{"case_json":{"type":"string","title":"Case Json","default":"{}"},"files":{"anyOf":[{"items":{"type":"string","contentMediaType":"application/octet-stream"},"type":"array"},{"type":"null"}],"title":"Files"}},"type":"object","title":"Body_submit_portal_reviews_post"},"ConfirmedText":{"properties":{"text":{"type":"string","maxLength":100000,"title":"Text"}},"type":"object","required":["text"],"title":"ConfirmedText"},"Correction":{"properties":{"feedback_id":{"type":"string","format":"uuid","title":"Feedback Id"},"recognition_id":{"type":"string","format":"uuid","title":"Recognition Id"},"original_text":{"type":"string","maxLength":1500,"minLength":1,"title":"Original Text"},"corrected_text":{"type":"string","maxLength":1500,"title":"Corrected Text"},"start":{"type":"integer","minimum":0.0,"title":"Start"},"end":{"type":"integer","minimum":1.0,"title":"End"},"engine":{"type":"string","maxLength":80,"title":"Engine"}},"type":"object","required":["feedback_id","recognition_id","original_text","corrected_text","start","end","engine"],"title":"Correction"},"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"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}