{"openapi":"3.1.0","info":{"title":"Charade API","version":"0.1.0","description":"A fully local, hand-curated party-game reference: original how-to-play rules and host instructions for charades and acting games, drawing-and-guessing games, social deduction (hidden-role) games, word-clue games, and icebreaker/storytelling games, plus generic role descriptions, category-level prompt ideas, a group-size/energy-level game finder, and a party-game glossary.\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://charade.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"hr@unifydynamics.com","url":"https://connectorbay.com/charade/docs"},"termsOfService":"https://connectorbay.com/charade/terms"},"servers":[{"url":"https://charade.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/charade/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 party game: aliases, ideal player count and energy level, materials","description":"Full how-to-play detail for one party game: aliases, ideal player count and energy level, materials\n    needed, objective, numbered setup and play steps, scoring, and known variants. Use for \"how do I play\n    charades\", \"what are the rules for a Mafia-style deduction game\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"description":"A party game's name or alias.","examples":["charades","hidden roles","wink murder","one-word clue"],"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/how_to_run":{"post":{"operationId":"how_to_run","summary":"Host/facilitator instructions for one party game: what to prep, how to explain it to new players,","description":"Host/facilitator instructions for one party game: what to prep, how to explain it to new players,\n    tips for keeping it running smoothly, common pitfalls to avoid, and how to wrap up. Use for \"how do I\n    run a game of charades for a party\", \"tips for hosting a Mafia-style game night\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"description":"A party game's name or alias.","examples":["charades","sketch and guess","hidden roles"],"minLength":1,"title":"Name","type":"string"}},"required":["name"],"title":"how_to_runArguments","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 list of tips for someone playing a specific party game for the first time. Use for \"any","description":"A short list of tips for someone playing a specific party game for the first time. Use for \"any\n    tips for a first-time charades player\", \"how do I get better at Wink Murder\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"description":"A party game's name or alias.","examples":["charades","one-word clue"],"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}},"/v1/tools/term_glossary":{"post":{"operationId":"term_glossary","summary":"Definitions of common party-game terms — clue-giver, pantomime, forbidden word, night phase, day","description":"Definitions of common party-game terms — clue-giver, pantomime, forbidden word, night phase, day\n    phase, tell, bluff, secret identity, and more. Use for \"what does 'night phase' mean\", \"what's a\n    tell in a deduction game\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"term":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"A specific party-game 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/prompt_category_ideas":{"post":{"operationId":"prompt_category_ideas","summary":"Category-level guidance for what to act out, draw, or give clues about in a specific acting,","description":"Category-level guidance for what to act out, draw, or give clues about in a specific acting,\n    drawing, or word-clue game — like movies, animals, occupations, or emotions — with a difficulty tip, a\n    handful of illustrative examples, and a tip for adapting that category to the named game. This is\n    guidance for generating your own prompts on the fly, not a giant prompt database. Use for \"give me some\n    drawing categories for a Pictionary-style game\", \"what are good charades categories for animals\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"game":{"description":"A game that uses acted, drawn, or spoken prompts.","examples":["charades","sketch and guess","one-word clue"],"minLength":1,"title":"Game","type":"string"},"category":{"description":"A category of things to act out, draw, or clue.","examples":["movies","animals","occupations","emotions"],"minLength":1,"title":"Category","type":"string"}},"required":["game","category"],"title":"prompt_category_ideasArguments","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/role_info":{"post":{"operationId":"role_info","summary":"Describes one generic, original role within a specific party game that uses named roles — for","description":"Describes one generic, original role within a specific party game that uses named roles — for\n    example the detective, doctor, villager, or impostor in a hidden-role deduction game, the murderer or\n    detective in Wink Murder, or the clue-giver, guesser, or word-judge in a word-clue game. Returns the\n    role's goal, what it can and can't do, and a couple of playing tips. Use for \"what does the doctor do\n    in a Mafia-style game\", \"what's the detective's job in Wink Murder\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"game":{"description":"A game that uses named player roles.","examples":["hidden roles","wink murder","one-word clue"],"minLength":1,"title":"Game","type":"string"},"role":{"description":"A role within that game.","examples":["detective","doctor","villager","murderer","clue-giver"],"minLength":1,"title":"Role","type":"string"}},"required":["game","role"],"title":"role_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/find_game_for_group":{"post":{"operationId":"find_game_for_group","summary":"Recommends party games that fit a stated player count and, optionally, a desired energy level, best","description":"Recommends party games that fit a stated player count and, optionally, a desired energy level, best\n    fit first. Use for \"what party game works for 10 people\", \"I need a low-energy game for 6 people\",\n    \"best game for a big, high-energy group\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"player_count":{"description":"How many people will play.","examples":[8,15],"maximum":100,"minimum":1,"title":"Player Count","type":"integer"},"energy_level":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Desired energy level: low, medium, or high. Omit for no preference.","examples":["low","medium","high"],"title":"Energy Level"}},"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 party-game family covered (Acting & Charades, Drawing & Guessing, Social Deduction, Word &","description":"Every party-game family covered (Acting & Charades, Drawing & Guessing, Social Deduction, Word &\n    Clue, Icebreaker & Storytelling) with how many games are in each. Use for \"what kinds of party games\n    do you cover\".","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}}}}