{"openapi":"3.1.0","info":{"title":"Bellwether","description":"Unified prediction-market data — Kalshi + Polymarket, one schema.","version":"0.1.0"},"paths":{"/health":{"get":{"summary":"Health","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/markets":{"get":{"summary":"List Markets","operationId":"list_markets_markets_get","parameters":[{"name":"venue","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"kalshi | polymarket; omit for both","title":"Venue"},"description":"kalshi | polymarket; omit for both"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"case-insensitive title substring filter","title":"Q"},"description":"case-insensitive title substring filter"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/markets/{venue}/{market_id}":{"get":{"summary":"Market Detail","operationId":"market_detail_markets__venue___market_id__get","parameters":[{"name":"venue","in":"path","required":true,"schema":{"type":"string","title":"Venue"}},{"name":"market_id","in":"path","required":true,"schema":{"type":"string","title":"Market Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/matching-markets":{"get":{"summary":"Matching Markets","operationId":"matching_markets_matching_markets_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":300,"minimum":1,"description":"per-venue fetch size in non-curated mode","default":100,"title":"Limit"},"description":"per-venue fetch size in non-curated mode"},{"name":"threshold","in":"query","required":false,"schema":{"type":"number","maximum":1.0,"minimum":0.0,"default":0.6,"title":"Threshold"}},{"name":"curated","in":"query","required":false,"schema":{"type":"boolean","description":"True: pull curated Kalshi series + Polymarket tags (recommended)","default":true,"title":"Curated"},"description":"True: pull curated Kalshi series + Polymarket tags (recommended)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"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"}}}}