{"openapi":"3.1.0","info":{"title":"Coop API","version":"0.1.0","description":"A fully local, hand-curated reference on how cooperative board/card games work as a genre: shared win/lose conditions, escalating difficulty systems (escalation decks, adaptive AI opponents, preset levels, rubber-banding), information-sharing and communication rules, the quarterbacking/alpha-player problem and concrete mitigations, and hidden-traitor/semi-cooperative hybrid mechanics, with real published games cited factually as examples. Original generic content only, never any single trademarked game's actual rules text.\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://coop.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"hr@unifydynamics.com","url":"https://connectorbay.com/coop/docs"},"termsOfService":"https://connectorbay.com/coop/terms"},"servers":[{"url":"https://coop.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/coop/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/mechanic_info":{"post":{"operationId":"mechanic_info","summary":"Full explanation of one cooperative-genre mechanic: how it works step by step, and why it matters for a","description":"Full explanation of one cooperative-genre mechanic: how it works step by step, and why it matters for a\n    designer or a table. Covers shared win/loss conditions, escalating difficulty, AI/automa decks, real-time\n    pressure, information-sharing rules, hidden-traitor and semi-cooperative mechanics, and more. Use for \"how does\n    the escalation deck work\", \"what is a shared action pool\", \"how does a hidden traitor role work\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"description":"A cooperative-genre mechanic's name or alias.","examples":["escalating difficulty track","hidden traitor role","communication restriction","shared action pool"],"minLength":1,"title":"Name","type":"string"}},"required":["name"],"title":"mechanic_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/design_consideration":{"post":{"operationId":"design_consideration","summary":"In-depth discussion of one cooperative-game design issue: the alpha-player problem, concrete quarterbacking","description":"In-depth discussion of one cooperative-game design issue: the alpha-player problem, concrete quarterbacking\n    mitigation techniques, difficulty scaling as a design goal, how much information to hide from teammates,\n    avoiding player elimination, when to reveal a hidden traitor, the tradeoff of restricting communication, or\n    solo-mode design. Use for \"how do we stop one player from quarterbacking\", \"what's the alpha player problem\",\n    \"when should a hidden traitor be revealed\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"topic":{"description":"A cooperative-game design topic.","examples":["alpha player problem","quarterbacking mitigation","difficulty scaling","traitor reveal timing"],"minLength":1,"title":"Topic","type":"string"}},"required":["topic"],"title":"design_considerationArguments","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 cooperative-genre vocabulary — quarterbacking, alpha player, hive mind, threat track,","description":"Definitions of cooperative-genre vocabulary — quarterbacking, alpha player, hive mind, threat track,\n    escalation deck, AI deck/automa, hidden traitor, semi-cooperative, rubber-banding, total party loss, and more.\n    Use for \"what does quarterbacking mean\", \"what's the difference between hidden traitor and semi-cooperative\".","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/game_examples":{"post":{"operationId":"game_examples","summary":"Finds real, published cooperative games that use a named mechanic (e.g. \"hidden traitor role\") or fall","description":"Finds real, published cooperative games that use a named mechanic (e.g. \"hidden traitor role\") or fall\n    into a named subgenre category (e.g. \"real-time cooperative\"), each with a short factual description. No\n    game's actual rules text, card text, or card art is reproduced — only factual, original descriptions of what\n    the game does. Use for \"what games use a hidden traitor mechanic\", \"give me examples of real-time cooperative\n    games\", \"what games have an escalating difficulty deck\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"mechanic":{"description":"A mechanic name or subgenre category to find real games for.","examples":["hidden traitor role","real-time cooperative","escalating difficulty track","legacy campaign"],"minLength":1,"title":"Mechanic","type":"string"}},"required":["mechanic"],"title":"game_examplesArguments","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/difficulty_scaling_explainer":{"post":{"operationId":"difficulty_scaling_explainer","summary":"Explains one specific difficulty-scaling system used across cooperative games — an escalation deck/threat","description":"Explains one specific difficulty-scaling system used across cooperative games — an escalation deck/threat\n    track, an adaptive AI/automa opponent, preset difficulty levels, player-count scaling, rubber-banding/dynamic\n    difficulty, real-time timer pressure, or legacy/campaign difficulty ramp — and which direction makes it\n    easier or harder. Use for \"how does an escalation deck work\", \"how should difficulty scale by player count\",\n    \"what is rubber-banding difficulty\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"topic":{"description":"A difficulty-scaling system to explain.","examples":["escalation_deck","adaptive_ai_opponent","preset_difficulty_levels","rubber_band_catch_up"],"minLength":1,"title":"Topic","type":"string"}},"required":["topic"],"title":"difficulty_scaling_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/find_game_for_group":{"post":{"operationId":"find_game_for_group","summary":"Suggests a suitable cooperative-game format and concrete adjustments for a given player count, from solo/","description":"Suggests a suitable cooperative-game format and concrete adjustments for a given player count, from solo/\n    automa play through the classic 3-4 player sweet spot to party-scale real-time formats for 7+, with real\n    example games at each size. Use for \"what cooperative game format works for 6 players\", \"can cooperative\n    games work solo\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"player_count":{"description":"How many people will play.","examples":[1,2,4,8],"maximum":30,"minimum":1,"title":"Player Count","type":"integer"}},"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":"Eight subgenre category archetypes for cooperative games — full cooperative, semi-cooperative, hidden-","description":"Eight subgenre category archetypes for cooperative games — full cooperative, semi-cooperative, hidden-\n    traitor hybrid, real-time, cooperative trick-taking, legacy/campaign, solo-compatible, and party-scale — each\n    with a description and real example games. Use for \"what subgenres of cooperative games are there\", \"what's\n    the difference between semi-cooperative and hidden-traitor 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":"An ordered shortlist of practical tips for playing cooperative games well — how to avoid quarterbacking,","description":"An ordered shortlist of practical tips for playing cooperative games well — how to avoid quarterbacking,\n    how to handle a hidden-traitor accusation, how to track an escalating threat track together. Use for \"what\n    should a beginner know about co-op games\", \"tips for playing cooperative board games well\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"count":{"default":5,"description":"How many tips to return.","maximum":14,"minimum":1,"title":"Count","type":"integer"}},"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}}}}