{"openapi":"3.1.0","info":{"title":"PokerInk Poker Tools","version":"1.1.0","description":"Texas Hold'em and Pot Limit Omaha math from PokerInk's deterministic engines — the same ones behind https://pokerink.com/tools/odds-calculator and https://pokerink.com/tools/omaha-odds-calculator. Hold'em equity enumerates all remaining board runouts (no simulation). Omaha equity (game=omaha) is exact on every postflop street; preflop it scores a fixed, seeded 200,000-board sample (±0.2 percentage points — the same input always reproduces the same numbers). No authentication. MCP transport of the same tools: POST https://pokerink.com/api/mcp. Versioning: /api/v1/ is the stable surface; the unversioned /api/poker/ paths are permanent aliases of v1. Breaking changes only ever ship under a new version prefix, with at least 6 months of dual availability announced via Deprecation and Sunset headers on the old version. Rate limiting: responses carry RateLimit-Limit / RateLimit-Remaining / RateLimit-Reset headers denominated in estimated compute milliseconds (per serving instance); a 429 includes Retry-After."},"servers":[{"url":"https://pokerink.com"}],"paths":{"/api/v1/poker/equity":{"get":{"operationId":"calculateEquity","summary":"Multiway equity for 2-4 hands on 0-5 board cards (Texas Hold'em or Pot Limit Omaha)","parameters":[{"name":"p1","in":"query","required":true,"schema":{"type":"string"},"description":"Player 1's cards — two for hold'em, four for omaha. Cards in letter notation: rank (2-9, T or 10, J, Q, K, A) + suit letter (h, d, c, s), e.g. \"AhKs\" or \"10d 7c\". Case-insensitive; spaces and commas allowed.","example":"JhTh"},{"name":"p2","in":"query","required":true,"schema":{"type":"string"},"description":"Player 2's cards.","example":"AsAd"},{"name":"p3","in":"query","required":false,"schema":{"type":"string"},"description":"Player 3's cards (optional)."},{"name":"p4","in":"query","required":false,"schema":{"type":"string"},"description":"Player 4's cards (optional, requires p3)."},{"name":"board","in":"query","required":false,"schema":{"type":"string"},"description":"0-5 community cards. Omit for preflop.","example":"9h8h2c"},{"name":"game","in":"query","required":false,"schema":{"type":"string","enum":["holdem","omaha"]},"description":"Game type; defaults to \"holdem\". \"omaha\" is Pot Limit Omaha: exactly 4 cards per hand, best two play. Omaha is exact postflop; preflop is a fixed deterministic 200,000-board sample (±0.2pp)."}],"responses":{"200":{"description":"Exact equity, win, and tie percentages per hand.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EquityResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/Busy"},"500":{"$ref":"#/components/responses/Internal"}}}},"/api/v1/poker/analyze":{"get":{"operationId":"analyzeHand","summary":"Made-hand reading plus draws and outs for one hand","parameters":[{"name":"hand","in":"query","required":true,"schema":{"type":"string"},"description":"The hand's two cards. Cards in letter notation: rank (2-9, T or 10, J, Q, K, A) + suit letter (h, d, c, s), e.g. \"AhKs\" or \"10d 7c\". Case-insensitive; spaces and commas allowed.","example":"JhTh"},{"name":"board","in":"query","required":true,"schema":{"type":"string"},"description":"3-5 community cards.","example":"9h8h2c"}],"responses":{"200":{"description":"Made hand, draws with out counts, and total outs.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalyzeResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"500":{"$ref":"#/components/responses/Internal"}}}}},"components":{"responses":{"BadInput":{"description":"Unparseable cards, wrong counts, or duplicate cards.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Internal":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Busy":{"description":"Compute budget exhausted; retry after the Retry-After seconds.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"schemas":{"Error":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["invalid_input","rate_limited","internal"],"description":"Stable machine-readable failure class: invalid_input (bad cards/params, do not retry unchanged), rate_limited (retry after Retry-After), internal (server fault)."},"message":{"type":"string"}},"required":["code","message"]}},"required":["error"]},"EquityResult":{"type":"object","properties":{"game":{"type":"string","enum":["holdem","omaha"]},"exact":{"type":"boolean","description":"True when every remaining runout was enumerated: always for hold'em and for omaha with 1+ board cards; false only for the sampled omaha preflop path."},"runouts":{"type":"integer","description":"Boards scored: the full runout space when exact, the sample size (200,000) otherwise."},"players":{"type":"array","items":{"type":"object","properties":{"hand":{"type":"string","example":"Jh Th"},"equity_pct":{"type":"number","example":56.3},"win_pct":{"type":"number","example":56.3},"tie_pct":{"type":"number","example":0}},"required":["hand","equity_pct","win_pct","tie_pct"]}},"share_url":{"type":"string","description":"Link to this matchup on the interactive calculator."},"source":{"type":"string"}},"required":["game","exact","runouts","players","share_url","source"]},"AnalyzeResult":{"type":"object","properties":{"hand":{"type":"string","example":"Jh Th"},"board":{"type":"string","example":"9h 8h 2c"},"street":{"type":"string","enum":["Flop","Turn","River"]},"made_hand":{"type":["object","null"],"properties":{"category":{"type":"string","example":"high-card"},"label":{"type":"string","example":"High Card"}},"required":["category","label"]},"draws":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string","example":"Flush Draw"},"outs":{"type":"integer","example":9}},"required":["label","outs"]}},"total_outs":{"type":"integer","description":"Unique outs across all draws."},"source":{"type":"string"}},"required":["hand","board","street","made_hand","draws","total_outs","source"]}}}}