{"openapi":"3.1.0","info":{"title":"Khel (Game) API","version":"0.1.0","description":"A hand-curated reference of 20+ traditional Indian games: rules, equipment, how-to-play, player-count and age-group filters, origin/history notes, and a glossary.\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://khel.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"hr@unifydynamics.com","url":"https://connectorbay.com/khel/docs"},"termsOfService":"https://connectorbay.com/khel/terms"},"servers":[{"url":"https://khel.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/khel/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/game_rules":{"post":{"operationId":"game_rules","summary":"One game's objective, player count, equipment, basic how-to-play, and typical setting (indoor/outdoor).","description":"One game's objective, player count, equipment, basic how-to-play, and typical setting (indoor/outdoor).\n    Use for \"how do you play Kho-Kho\", \"what are the rules of carrom\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"description":"A game's name or a common alias.","examples":["Kabaddi","Lagori","Chaturanga","Stapu"],"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/game_search":{"post":{"operationId":"game_search","summary":"Search all 24 games by partial name, alias, category, or objective/history text. Use for \"games about","description":"Search all 24 games by partial name, alias, category, or objective/history text. Use for \"games about\n    stones\", \"any game with cowrie shells\", \"tag games\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"query":{"description":"Partial name, alias, category, or a word from a game's objective/history.","minLength":1,"title":"Query","type":"string"}},"required":["query"],"title":"game_searchArguments","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/games_by_players":{"post":{"operationId":"games_by_players","summary":"Games playable with a group in the given size range. An open-ended game (like marbles, with no fixed","description":"Games playable with a group in the given size range. An open-ended game (like marbles, with no fixed\n    maximum) matches any range at or above its minimum. Use for \"games for 6 to 10 players\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"min_players":{"description":"Smallest group size you have.","minimum":1,"title":"Min Players","type":"integer"},"max_players":{"description":"Largest group size you have.","minimum":1,"title":"Max Players","type":"integer"}},"required":["min_players","max_players"],"title":"games_by_playersArguments","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/games_by_setting":{"post":{"operationId":"games_by_setting","summary":"Games filtered by where they're played. 'indoor' and 'outdoor' each also include games flexible about","description":"Games filtered by where they're played. 'indoor' and 'outdoor' each also include games flexible about\n    setting; 'both' returns only the setting-flexible games. Use for \"indoor games for kids\", \"outdoor games\n    for a birthday party\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"setting":{"description":"indoor | outdoor | both (setting-flexible games only).","title":"Setting","type":"string"}},"required":["setting"],"title":"games_by_settingArguments","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/equipment_needed":{"post":{"operationId":"equipment_needed","summary":"What a specific game requires to play — equipment only (see game_rules for the full picture). Use for","description":"What a specific game requires to play — equipment only (see game_rules for the full picture). Use for\n    \"what do I need to play gilli-danda\", \"carrom equipment list\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"game":{"description":"A game's name or a common alias.","title":"Game","type":"string"}},"required":["game"],"title":"equipment_neededArguments","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_history":{"post":{"operationId":"game_history","summary":"Origin and history notes for a game, including well-documented Indian-origin lineages (Chaturanga to","description":"Origin and history notes for a game, including well-documented Indian-origin lineages (Chaturanga to\n    modern chess via Persian shatranj; Moksha Patam to Snakes and Ladders; Pachisi/Chaupar to Ludo), stated\n    conservatively where the historical record is incomplete or contested. Use for \"is chess originally\n    Indian\", \"history of snakes and ladders\", \"where does kabaddi come from\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"description":"A game's name or a common alias.","title":"Name","type":"string"}},"required":["name"],"title":"game_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/games_by_age":{"post":{"operationId":"games_by_age","summary":"Games suited to a given age group. Games suited to all ages are included for any age-group query; a","description":"Games suited to a given age group. Games suited to all ages are included for any age-group query; a\n    query for 'all_ages' itself returns only the games explicitly suited to everyone. Use for \"games for a\n    5-year-old\", \"family game night ideas\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"age_group":{"description":"young_children | older_children | all_ages (or a synonym like 'kids', 'teens', 'adults').","title":"Age Group","type":"string"}},"required":["age_group"],"title":"games_by_ageArguments","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/random_game":{"post":{"operationId":"random_game","summary":"One game picked at random from the full set — good for a \"game of the day\" prompt. Use for \"suggest a","description":"One game picked at random from the full set — good for a \"game of the day\" prompt. Use for \"suggest a\n    game\", \"give me a random traditional Indian game\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"seed":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"description":"Optional seed for a reproducible pick.","title":"Seed"}},"title":"random_gameArguments","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_glossary":{"post":{"operationId":"game_glossary","summary":"Definitions of terms specific to these games (raider, kho, lagori, manjha, cowrie shells, and more).","description":"Definitions of terms specific to these games (raider, kho, lagori, manjha, cowrie shells, and more).\n    Use for \"what's a raider in kabaddi\", \"what does kho mean\".","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":"game_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}}}}