{"openapi":"3.1.0","info":{"title":"Discgame API","version":"0.1.0","description":"A fully local, hand-curated flying disc games reference: Ultimate, Disc Golf, Kan Jam, Disc Dog (canine disc), Guts, Double Disc Court and Freestyle Disc, with rules, scoring, throw techniques, a glossary, disc-golf-specific terms, a group/space game finder, category browsing and beginner tips.\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://discgame.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"hr@unifydynamics.com","url":"https://connectorbay.com/discgame/docs"},"termsOfService":"https://connectorbay.com/discgame/terms"},"servers":[{"url":"https://discgame.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/discgame/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 detail for one flying disc game: origin note, player count, space needed, equipment, setup, numbered","description":"Full detail for one flying disc game: origin note, player count, space needed, equipment, setup, numbered\n    how-to-play steps, notable rules, and difficulty. Use for \"how do you play Kan Jam\", \"what are the rules of\n    Double Disc Court\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"description":"A flying disc game's name or alias.","examples":["ultimate","disc golf","kan jam","guts"],"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/throw_technique":{"post":{"operationId":"throw_technique","summary":"Full detail for one flying disc throw: grip, numbered steps and tips, which games commonly use it, and its","description":"Full detail for one flying disc throw: grip, numbered steps and tips, which games commonly use it, and its\n    difficulty. Use for \"how do I throw a backhand\", \"what's a hammer throw\", \"how do you grip a forehand\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"description":"A throw's name or alias.","examples":["backhand","forehand","flick","hammer","scoober","thumber"],"minLength":1,"title":"Name","type":"string"}},"required":["name"],"title":"throw_techniqueArguments","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":"Just a game's scoring rules and winning condition, without the full rules/setup detail. Use for \"how do you","description":"Just a game's scoring rules and winning condition, without the full rules/setup detail. Use for \"how do you\n    score in Ultimate\", \"what's the winning score in Guts\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"description":"A flying disc game's name or alias.","examples":["ultimate","disc golf","kan jam"],"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":"Definitions of general disc-sports terms shared across games — stall count, pivot foot, turnover, huck,","description":"Definitions of general disc-sports terms shared across games — stall count, pivot foot, turnover, huck,\n    layout, sky, handler, cutter, force, Spirit of the Game, overstable/understable, wobble, nose angle. Use for\n    \"what does huck mean\", \"what's the difference between a handler and a cutter\".","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/disc_golf_terms":{"post":{"operationId":"disc_golf_terms","summary":"Definitions of disc-golf-specific terms, including ones borrowed from ball golf — par, birdie, eagle,","description":"Definitions of disc-golf-specific terms, including ones borrowed from ball golf — par, birdie, eagle,\n    albatross, bogey, ace, mando, OB, drop zone, tee pad, fairway, dogleg, chains, basket, putt, drive. Use for\n    \"what does mando mean in disc golf\", \"what's an ace\", \"what's a birdie\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"term":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"A specific disc golf term to look up; omit to list all.","title":"Term"}},"title":"disc_golf_termsArguments","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_group":{"post":{"operationId":"find_game_for_group","summary":"Suggests 1-5 flying disc games that fit a given number of players and, optionally, the available space.","description":"Suggests 1-5 flying disc games that fit a given number of players and, optionally, the available space.\n    Use for \"what disc game works for 4 people in a small backyard\", \"we have 12 people and a big field, what\n    should we play\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"player_count":{"description":"Number of people (or, for Disc Dog, handlers) available to play.","examples":[2,4,8,14],"maximum":50,"minimum":1,"title":"Player Count","type":"integer"},"space":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Available space, in plain language; omit if unsure.","examples":["small backyard","beach","open field","disc golf course","marked court"],"title":"Space"}},"required":["player_count"],"title":"find_game_for_groupArguments","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 flying disc game category (Field & Team, Target, Performance & Freestyle) with its games. Use for","description":"Every flying disc game category (Field & Team, Target, Performance & Freestyle) with its games. Use for\n    \"what categories of disc games do you cover\", \"what falls under target games\".","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 curated shortlist of tips for a named game, most important first. Use for \"what should a beginner focus","description":"A curated shortlist of tips for a named game, most important first. Use for \"what should a beginner focus\n    on in Ultimate\", \"tips for playing disc golf for the first time\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"description":"A flying disc game's name or alias.","examples":["ultimate","disc golf","disc dog"],"minLength":1,"title":"Name","type":"string"}},"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}}}}