{"openapi":"3.1.0","info":{"title":"Cornhole API","version":"0.1.0","description":"A fully local, hand-curated backyard & lawn games reference: Cornhole, Horseshoes, Bocce, Pétanque, Ladder Golf, Kubb, Washers, and Ring Toss. Covers original how-to-play summaries, official-ish measurements (hedged where unstandardized), scoring, common variants, beginner tips, a shared glossary, and a space-based game finder. Keyless; zero upstream API calls; nothing stored.\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://cornhole.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"hr@unifydynamics.com","url":"https://connectorbay.com/cornhole/docs"},"termsOfService":"https://connectorbay.com/cornhole/terms"},"servers":[{"url":"https://cornhole.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/cornhole/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":"Full how-to-play detail for one yard game: category, player count, equipment, space needed, a","description":"Full how-to-play detail for one yard game: category, player count, equipment, space needed, a\n    plain-language summary, numbered how-to-play steps, a short history note, and any safety notes for\n    games involving thrown heavy/hard objects. Use for \"how do you play cornhole\", \"explain the rules of\n    kubb\", \"how does horseshoes work\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"description":"A yard game's name or alias.","examples":["Cornhole","Horseshoes","Bocce","Pétanque","Ladder Golf","Kubb","Washers","Ring Toss"],"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/measurements":{"post":{"operationId":"measurements","summary":"A game's official-ish distances and dimensions — board/court/field size, throwing or pitching","description":"A game's official-ish distances and dimensions — board/court/field size, throwing or pitching\n    distance, equipment size — each tagged with a confidence note: an official regulation figure from a\n    named governing body, or a common/typical figure hedged because no single body standardizes it. Use\n    for \"how far apart are cornhole boards\", \"how big is a kubb field\", \"how far do you throw the\n    pétanque jack\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"description":"A yard game's name or alias.","examples":["Cornhole","Horseshoes","Bocce","Pétanque","Ladder Golf","Kubb","Washers","Ring Toss"],"minLength":1,"title":"Name","type":"string"}},"required":["name"],"title":"measurementsArguments","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/scoring_summary":{"post":{"operationId":"scoring_summary","summary":"How one game is scored: an overview, the point value of each action, the scoring method","description":"How one game is scored: an overview, the point value of each action, the scoring method\n    (cancellation scoring vs. straight addition vs. an outright win condition), and how a game ends. Use\n    for \"how is cornhole scored\", \"what's cancellation scoring\", \"how do you win at kubb\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"description":"A yard game's name or alias.","examples":["Cornhole","Horseshoes","Bocce","Pétanque","Ladder Golf","Kubb","Washers","Ring Toss"],"minLength":1,"title":"Name","type":"string"}},"required":["name"],"title":"scoring_summaryArguments","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":"Defines a term shared across these yard games — cancellation scoring, frame/end/inning, ringer,","description":"Defines a term shared across these yard games — cancellation scoring, frame/end/inning, ringer,\n    leaner, pallino, cochonnet, pointing, shooting, bola, kubb, baton, the king, field kubb, and more — or\n    lists every term when none is given. Use for \"what's a pallino\", \"what does cancellation scoring\n    mean\", \"what's the king in kubb\".","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.","examples":["cancellation scoring","ringer","pallino","cochonnet","bola","the king"],"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_for_space":{"post":{"operationId":"find_game_for_space","summary":"Suggests 1-4 yard games that fit a plain-language description of the space available, matched","description":"Suggests 1-4 yard games that fit a plain-language description of the space available, matched\n    against each game's typical footprint, surfaces and portability. Use for \"what yard game works in a\n    small backyard\", \"best game for the beach\", \"what can we play on an apartment balcony\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"space_description":{"description":"A plain-language description of the space available.","examples":["small backyard","beach","large lawn","apartment balcony","gravel driveway","indoors on a rainy day"],"minLength":1,"title":"Space Description","type":"string"}},"required":["space_description"],"title":"find_game_for_spaceArguments","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":"Common variants and house rules for one game — alternate scoring methods, format changes (singles","description":"Common variants and house rules for one game — alternate scoring methods, format changes (singles\n    vs. doubles vs. triples), casual adaptations, and regional differences. Use for \"what are some\n    cornhole house rules\", \"what's the difference between pétanque singles and doubles\", \"variants of\n    ladder golf\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"description":"A yard game's name or alias.","examples":["Cornhole","Horseshoes","Bocce","Pétanque","Ladder Golf","Kubb","Washers","Ring Toss"],"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/category_list":{"post":{"operationId":"category_list","summary":"Every game family with how many games are in it and which games they are — Bag & Washer Toss,","description":"Every game family with how many games are in it and which games they are — Bag & Washer Toss,\n    Stake & Peg Pitching, Precision Rolling (Bowls), and Batten & Ladder Toss. Use for \"what categories of\n    yard games do you cover\", \"list all the games like bocce\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"category_listArguments","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/beginner_tips":{"post":{"operationId":"beginner_tips","summary":"A short, ordered shortlist of tips for someone trying a named game for the first time, from most to","description":"A short, ordered shortlist of tips for someone trying a named game for the first time, from most to\n    least essential. Use for \"give me tips for playing horseshoes\", \"how should a beginner approach\n    kubb\", \"tips for cornhole\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"description":"A yard game's name or alias.","examples":["Cornhole","Horseshoes","Bocce","Pétanque","Ladder Golf","Kubb","Washers","Ring Toss"],"minLength":1,"title":"Name","type":"string"},"count":{"default":5,"description":"How many tips to return.","maximum":10,"minimum":1,"title":"Count","type":"integer"}},"required":["name"],"title":"beginner_tipsArguments","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}}}}