{"openapi":"3.1.0","info":{"title":"招投标数据 API（试运行）","description":"API 与 MCP 共用客户额度。当前仅包含限量导入的真实样本，金额筛选单位万元。","version":"0.2.0"},"paths":{"/healthz":{"get":{"summary":"Health","operationId":"health_healthz_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/tenders/search":{"post":{"summary":"Search","operationId":"search_api_v1_tenders_search_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Search"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]},{"HTTPBearer":[]}]}},"/api/v1/tenders/aggregate":{"post":{"summary":"Aggregate","operationId":"aggregate_api_v1_tenders_aggregate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Aggregate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]},{"HTTPBearer":[]}]}},"/api/v1/tenders/{keyno}":{"get":{"summary":"Detail","operationId":"detail_api_v1_tenders__keyno__get","security":[{"APIKeyHeader":[]},{"HTTPBearer":[]}],"parameters":[{"name":"keyno","in":"path","required":true,"schema":{"type":"string","title":"Keyno"}},{"name":"include_content","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Content"}},{"name":"include_contact","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Contact"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/companies/search":{"post":{"summary":"Companies","operationId":"companies_api_v1_companies_search_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanySearch"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]},{"HTTPBearer":[]}]}},"/api/v1/companies/{name}/records":{"get":{"summary":"Records","operationId":"records_api_v1_companies__name__records_get","security":[{"APIKeyHeader":[]},{"HTTPBearer":[]}],"parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string","title":"Name"}},{"name":"role","in":"query","required":false,"schema":{"type":"string","default":"all","title":"Role"}},{"name":"begin_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Begin Date"}},{"name":"end_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"End Date"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","default":20,"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/account/balance":{"get":{"summary":"Balance","operationId":"balance_api_v1_account_balance_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"APIKeyHeader":[]},{"HTTPBearer":[]}]}}},"components":{"schemas":{"Aggregate":{"properties":{"filters":{"$ref":"#/components/schemas/Search"},"group_by":{"type":"string","enum":["month","province","tender_type","winner"],"title":"Group By","default":"province"},"limit":{"type":"integer","maximum":50.0,"minimum":1.0,"title":"Limit","default":20}},"additionalProperties":false,"type":"object","title":"Aggregate"},"CompanySearch":{"properties":{"name":{"type":"string","maxLength":200,"minLength":1,"title":"Name"},"limit":{"type":"integer","maximum":50.0,"minimum":1.0,"title":"Limit","default":20}},"additionalProperties":false,"type":"object","required":["name"],"title":"CompanySearch"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"Search":{"properties":{"keywords":{"items":{"type":"string","maxLength":200,"minLength":1},"type":"array","maxItems":10,"title":"Keywords"},"match_modes":{"items":{"type":"string","enum":["all","title","content","buyer","winner","agency","project_no"]},"type":"array","maxItems":7,"minItems":1,"title":"Match Modes"},"province":{"items":{"type":"string","maxLength":200,"minLength":1},"type":"array","maxItems":20,"title":"Province"},"city":{"items":{"type":"string","maxLength":200,"minLength":1},"type":"array","maxItems":20,"title":"City"},"tender_type":{"items":{"type":"string","maxLength":200,"minLength":1},"type":"array","maxItems":20,"title":"Tender Type"},"begin_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Begin Date"},"end_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"End Date"},"min_amount":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Min Amount"},"max_amount":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Max Amount"},"page":{"type":"integer","maximum":200.0,"minimum":1.0,"title":"Page","default":1},"page_size":{"type":"integer","maximum":50.0,"minimum":1.0,"title":"Page Size","default":20},"sort":{"type":"string","enum":["publish_time_desc","publish_time_asc"],"title":"Sort","default":"publish_time_desc"}},"additionalProperties":false,"type":"object","title":"Search"},"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"}},"securitySchemes":{"APIKeyHeader":{"type":"apiKey","in":"header","name":"X-API-Key"},"HTTPBearer":{"type":"http","scheme":"bearer"}}}}