{"openapi":"3.1.0","info":{"title":"Tablegames API","version":"0.1.0","description":"A fully local, hand-curated casino table game rules reference covering Blackjack, Baccarat, Roulette, Craps, Sic Bo and Pai Gow Poker: setup, dealing procedure, table layout, bet types with procedural payouts, common variants, a shared glossary and history notes. Rules only — no odds optimization, card counting or betting-system strategy advice.\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://tablegames.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"hr@unifydynamics.com","url":"https://connectorbay.com/tablegames/docs"},"termsOfService":"https://connectorbay.com/tablegames/terms"},"servers":[{"url":"https://tablegames.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/tablegames/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/list_games":{"post":{"operationId":"list_games","summary":"A one-line overview of every casino table game covered: id, name, category, and a short summary. Use for","description":"A one-line overview of every casino table game covered: id, name, category, and a short summary. Use for\n    \"what games do you cover\", \"list the casino table games\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_gamesArguments","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/game_rules":{"post":{"operationId":"game_rules","summary":"Full rules for one casino table game: equipment, objective, hand values (where relevant), setup, the","description":"Full rules for one casino table game: equipment, objective, hand values (where relevant), setup, the\n    numbered step-by-step sequence of a round from bet to payout, and available player actions. Use for \"how do\n    you play blackjack\", \"explain the rules of craps\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"description":"A game's name or alias.","examples":["blackjack","baccarat","craps","sic bo"],"minLength":1,"title":"Name","type":"string"}},"required":["name"],"title":"game_rulesArguments","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/payout_structure":{"post":{"operationId":"payout_structure","summary":"A game's bet types with plain, factual payout figures (e.g. \"pays 35 to 1\") and a procedural description","description":"A game's bet types with plain, factual payout figures (e.g. \"pays 35 to 1\") and a procedural description\n    of how each bet is decided. Pass bet_type to get just one bet's payout; omit it to list all of the game's\n    bet types. Factual and procedural only — never framed as advice about which bet is \"better\". Use for \"what\n    does a roulette straight-up bet pay\", \"what bets can I make in craps and what do they pay\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"game":{"description":"A game's name or alias.","examples":["roulette","craps","blackjack"],"minLength":1,"title":"Game","type":"string"},"bet_type":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"A specific bet type's name to narrow to just that one; omit to list every bet type for the game.","examples":["straight up","pass line","banker bet"],"title":"Bet Type"}},"required":["game"],"title":"payout_structureArguments","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/table_layout_explainer":{"post":{"operationId":"table_layout_explainer","summary":"Describes a game's physical betting layout — where each bet type is placed on the felt or table. Use for","description":"Describes a game's physical betting layout — where each bet type is placed on the felt or table. Use for\n    \"what does the roulette table look like\", \"where do I place a pass line bet\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"description":"A game's name or alias.","examples":["roulette","craps","pai gow poker"],"minLength":1,"title":"Name","type":"string"}},"required":["name"],"title":"table_layout_explainerArguments","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/variant_info":{"post":{"operationId":"variant_info","summary":"Looks up a named game variant (e.g. \"European Roulette\", \"EZ Pai Gow Poker\") and explains how it differs","description":"Looks up a named game variant (e.g. \"European Roulette\", \"EZ Pai Gow Poker\") and explains how it differs\n    from the standard form; or, given a game's own name, lists all of that game's known variants. Use for \"what's\n    the difference between American and European roulette\", \"what variants of blackjack are there\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"description":"A variant's name, or a game's name/alias to list all of its variants.","examples":["European Roulette","Mini-Baccarat","blackjack"],"minLength":1,"title":"Name","type":"string"}},"required":["name"],"title":"variant_infoArguments","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/term_glossary":{"post":{"operationId":"term_glossary","summary":"Definitions of casino table-game terms shared across games (push, vigorish/commission, table limit,","description":"Definitions of casino table-game terms shared across games (push, vigorish/commission, table limit,\n    bankroll, ...) or specific to one (come-out roll and seven-out for craps, house way and copy for Pai Gow\n    Poker, tableau for baccarat, inside/outside bet for roulette, ...). Use for \"what's a push\", \"what does\n    vigorish mean\", \"what's a come-out roll\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"term":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"A specific term to look up; omit to list all.","title":"Term"}},"title":"term_glossaryArguments","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/find_game_by_feature":{"post":{"operationId":"find_game_by_feature","summary":"Suggests 1-4 games matching a stated characteristic, keyword-matched against each game's tagged features.","description":"Suggests 1-4 games matching a stated characteristic, keyword-matched against each game's tagged features.\n    Use for \"what games use dice\", \"which game has no player decisions once you bet\", \"is there a game where I\n    set my own hand\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"feature":{"description":"A characteristic to match, in plain language.","examples":["uses dice","no player decisions","player sets their own hand","fastest single-decision game"],"minLength":1,"title":"Feature","type":"string"}},"required":["feature"],"title":"find_game_by_featureArguments","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/history_note":{"post":{"operationId":"history_note","summary":"A brief, qualitative note on a game's historical origin. Use for \"where did craps come from\", \"how old is","description":"A brief, qualitative note on a game's historical origin. Use for \"where did craps come from\", \"how old is\n    baccarat\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"description":"A game's name or alias.","examples":["roulette","sic bo"],"minLength":1,"title":"Name","type":"string"}},"required":["name"],"title":"history_noteArguments","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/responsible_play_note":{"post":{"operationId":"responsible_play_note","summary":"The standing \"this is a rules reference, not gambling advice\" disclaimer, including a reminder that every","description":"The standing \"this is a rules reference, not gambling advice\" disclaimer, including a reminder that every\n    bet carries a built-in house advantage and a pointer to a confidential problem-gambling helpline. Use for\n    \"is this gambling advice\", \"play responsibly note\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"responsible_play_noteArguments","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}}}}