{"openapi":"3.1.0","info":{"title":"Oddsight API","version":"0.1.0","description":"Prediction markets, read-only: search, probabilities across Kalshi, Polymarket and Manifold, rules, history, what resolves soon, trending, odds maths.\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://oddsight.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"hr@unifydynamics.com","url":"https://connectorbay.com/oddsight/docs"},"termsOfService":"https://connectorbay.com/oddsight/terms"},"servers":[{"url":"https://oddsight.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/oddsight/docs"},"security":[{},{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/search_markets":{"post":{"operationId":"search_markets","summary":"Find open markets about a topic across Kalshi, Polymarket and Manifold: each with the venue, the exact question and","description":"Find open markets about a topic across Kalshi, Polymarket and Manifold: each with the venue, the exact question and\n    outcome, the implied probability, bid/ask where available, volume, liquidity, close date and link, ranked by relevance\n    then volume. Use for \"what markets are there on X\", \"find the Fed meeting market\", \"is anyone trading on Y\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"query":{"description":"The question or topic in plain words: 'Fed rate cut October', 'Bitcoin above 100k by year end', 'Super Bowl winner'.","examples":["Fed rate cut October 2026","US invade Iran before 2027"],"title":"Query","type":"string"},"venues":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"default":null,"description":"Restrict to venues: kalshi, polymarket, manifold (all when omitted).","examples":[["kalshi","polymarket"]],"title":"Venues"},"limit":{"default":6,"description":"Max results per venue (1–15).","maximum":15,"minimum":1,"title":"Limit","type":"integer"}},"required":["query"],"title":"search_marketsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/probability":{"post":{"operationId":"probability","summary":"One question, every venue: the best-matching market on each venue with its implied probability, a volume-weighted","description":"One question, every venue: the best-matching market on each venue with its implied probability, a volume-weighted\n    consensus, the spread between venues (divergence), thin-market flags, and each market's exact wording so differences in\n    the question are visible. Use for \"what are the odds of X\", \"how likely is Y\", \"what does the market say about Z\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"question":{"description":"The question or topic in plain words: 'Fed rate cut October', 'Bitcoin above 100k by year end', 'Super Bowl winner'.","examples":["Fed rate cut October 2026","US invade Iran before 2027"],"title":"Question","type":"string"},"venues":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"default":null,"description":"Restrict to venues: kalshi, polymarket, manifold (all when omitted).","examples":[["kalshi","polymarket"]],"title":"Venues"}},"required":["question"],"title":"probabilityArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/market_detail":{"post":{"operationId":"market_detail","summary":"Everything about one market: the exact question and rules, resolution source and close/settlement dates, current bid/ask","description":"Everything about one market: the exact question and rules, resolution source and close/settlement dates, current bid/ask\n    and last price, volume, liquidity and open interest, all outcomes for multi-outcome markets, and the link. Read this before\n    quoting a market whose wording matters. Use for \"what exactly does this market resolve on\", \"when does it settle\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"venue":{"description":"kalshi, polymarket or manifold.","examples":["kalshi"],"title":"Venue","type":"string"},"market_id":{"description":"Kalshi ticker (KXFEDDECISION-26OCT-H0), Polymarket market id or slug, or Manifold market id.","examples":["KXFEDDECISION-26OCT-H0","will-the-us-invade-iran-before-2027"],"title":"Market Id","type":"string"}},"required":["venue","market_id"],"title":"market_detailArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/price_history":{"post":{"operationId":"price_history","summary":"How a market's probability moved over a window: start, end, high and low with times, the biggest single move, and a","description":"How a market's probability moved over a window: start, end, high and low with times, the biggest single move, and a\n    compact series. Use for \"how has this moved this week\", \"when did the odds flip\", \"was it ever above 80%\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"venue":{"description":"kalshi, polymarket or manifold.","title":"Venue","type":"string"},"market_id":{"description":"Kalshi ticker; Polymarket market id/slug (the Yes token is used) or a CLOB token id; Manifold market id.","title":"Market Id","type":"string"},"days":{"default":30,"description":"Window in days (1–90).","maximum":90,"minimum":1,"title":"Days","type":"integer"}},"required":["venue","market_id"],"title":"price_historyArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/resolving_soon":{"post":{"operationId":"resolving_soon","summary":"Markets that close within the window, biggest by volume first, with their current probability — what the world is","description":"Markets that close within the window, biggest by volume first, with their current probability — what the world is\n    about to find out. Use for \"what resolves this week\", \"anything big settling this weekend\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"days":{"default":7,"description":"Window in days (1–30).","maximum":30,"minimum":1,"title":"Days","type":"integer"},"limit":{"default":15,"description":"Max markets (1–40).","maximum":40,"minimum":1,"title":"Limit","type":"integer"}},"title":"resolving_soonArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/trending":{"post":{"operationId":"trending","summary":"The most-traded markets right now by 24-hour volume (Polymarket) and the most popular on Manifold, with probabilities —","description":"The most-traded markets right now by 24-hour volume (Polymarket) and the most popular on Manifold, with probabilities —\n    a read on what the crowd is arguing about. Use for \"what's hot in prediction markets\", \"what are people betting on\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"limit":{"default":12,"description":"Max markets (1–30).","maximum":30,"minimum":1,"title":"Limit","type":"integer"}},"title":"trendingArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/odds_math":{"post":{"operationId":"odds_math","summary":"Convert between an implied probability, American odds and decimal odds, and — given the person's own estimate — the","description":"Convert between an implied probability, American odds and decimal odds, and — given the person's own estimate — the\n    edge and expected value per dollar. Pure maths, no market data. Use for \"what's 62 cents as odds\", \"-150 as a\n    probability\", \"if I think it's 70% and the market says 55%, what's my edge\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"probability_pct":{"anyOf":[{"exclusiveMaximum":100,"exclusiveMinimum":0,"type":"number"},{"type":"null"}],"default":null,"description":"Implied probability in percent (e.g. 62.5).","title":"Probability Pct"},"american_odds":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"description":"American odds (e.g. -150 or +240), if converting from a sportsbook line.","title":"American Odds"},"decimal_odds":{"anyOf":[{"exclusiveMinimum":1,"type":"number"},{"type":"null"}],"default":null,"description":"Decimal odds (e.g. 1.67), if converting.","title":"Decimal Odds"},"your_probability_pct":{"anyOf":[{"exclusiveMaximum":100,"exclusiveMinimum":0,"type":"number"},{"type":"null"}],"default":null,"description":"Your own estimate in percent, to compute the edge and expected value per $1.","title":"Your Probability Pct"}},"title":"odds_mathArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/venues":{"post":{"operationId":"venues","summary":"Who the venues are — regulation, who may trade, settlement currency, fees, how resolution works — so the person can judg","description":"Who the venues are — regulation, who may trade, settlement currency, fees, how resolution works — so the person can judge a\n    price and their own eligibility. Use for \"is Polymarket legal for me\", \"what is Kalshi\", \"is Manifold real money\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"venuesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}