{"openapi":"3.1.0","info":{"title":"Endgame API","version":"0.1.0","description":"A fully local, hand-curated chess endgame technique reference: 21 named positions/techniques across king-and-pawn endgames, rook endgames, the basic checkmates, and drawing techniques, each with a plain-language explanation, step-by-step technique, common mistakes and a difficulty rating, plus a glossary and beginner tips.\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://endgame.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"hr@unifydynamics.com","url":"https://connectorbay.com/endgame/docs"},"termsOfService":"https://connectorbay.com/endgame/terms"},"servers":[{"url":"https://endgame.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/endgame/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/endgame_info":{"post":{"operationId":"endgame_info","summary":"Full detail for one named endgame technique or position: category, material, a plain-language explanation","description":"Full detail for one named endgame technique or position: category, material, a plain-language explanation\n    of the key idea, a numbered technique to execute it, common mistakes, and a difficulty rating. Use for \"what's\n    the Lucena position\", \"how does the opposition work\", \"explain king and pawn vs king\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"description":"An endgame technique or position's name or alias.","examples":["opposition","Lucena position","Philidor position","king and rook vs king","back-rank mate"],"minLength":1,"title":"Name","type":"string"}},"required":["name"],"title":"endgame_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/term_glossary":{"post":{"operationId":"term_glossary","summary":"Definitions of common endgame terminology — opposition, zugzwang, key square, corresponding squares,","description":"Definitions of common endgame terminology — opposition, zugzwang, key square, corresponding squares,\n    triangulation, tempo, passed pawn, the fifty-move rule, and more. Use for \"what does zugzwang mean\", \"what's\n    a corresponding square\".","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/technique_lookup":{"post":{"operationId":"technique_lookup","summary":"Keyword search across every entry's name, aliases, category, material and explanation. Use for \"what","description":"Keyword search across every entry's name, aliases, category, material and explanation. Use for \"what\n    endgame techniques involve zugzwang\", \"list rook endgame techniques in this reference\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"topic":{"description":"A keyword or short phrase to search for.","examples":["zugzwang","rook ending","corner draw","opposition"],"minLength":1,"title":"Topic","type":"string"}},"required":["topic"],"title":"technique_lookupArguments","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_level":{"post":{"operationId":"difficulty_level","summary":"Given a difficulty tier (beginner/intermediate/advanced), lists every entry at that level. Given a","description":"Given a difficulty tier (beginner/intermediate/advanced), lists every entry at that level. Given a\n    specific entry's name instead, returns its own difficulty rating plus the related entries worth studying\n    alongside it. Use for \"what endgames should a beginner start with\", \"how hard is the bishop and knight mate\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"description":"An endgame entry's name, or a difficulty tier: beginner, intermediate, or advanced.","examples":["beginner","bishop and knight mate","Vancura position","advanced"],"minLength":1,"title":"Name","type":"string"}},"required":["name"],"title":"difficulty_levelArguments","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_endgame_for_material":{"post":{"operationId":"find_endgame_for_material","summary":"Suggests 1-4 matching techniques for a stated material situation, keyword-matched against each entry's","description":"Suggests 1-4 matching techniques for a stated material situation, keyword-matched against each entry's\n    tagged material description. Use for \"what technique applies to rook and pawn vs rook\", \"how do I win with\n    just a king and pawn\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"material_description":{"description":"A plain-language material description.","examples":["rook and pawn vs rook","king and pawn vs king","bishop and knight vs king","two bishops vs king"],"minLength":1,"title":"Material Description","type":"string"}},"required":["material_description"],"title":"find_endgame_for_materialArguments","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/basic_checkmate_pattern":{"post":{"operationId":"basic_checkmate_pattern","summary":"Full detail for one of the six basic forced checkmate patterns specifically (king+queen vs king,","description":"Full detail for one of the six basic forced checkmate patterns specifically (king+queen vs king,\n    king+rook vs king, two bishops, bishop+knight, ladder mate, back-rank mate) — the same shape as endgame_info\n    but restricted to checkmate technique. Use for \"how do I checkmate with king and rook\", \"show me the bishop\n    and knight mate technique\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"description":"One of the six basic checkmate patterns' name or alias.","examples":["king and queen vs king","king and rook vs king","bishop and knight mate","ladder mate","back-rank mate","two bishops mate"],"minLength":1,"title":"Name","type":"string"}},"required":["name"],"title":"basic_checkmate_patternArguments","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 category in this reference with how many entries are in it (Opposition & Key Concepts, King & Pawn","description":"Every category in this reference with how many entries are in it (Opposition & Key Concepts, King & Pawn\n    Endgames, Rook Endgames, Basic Checkmates, Draws & Fortresses). Use for \"what categories of endgames do you\n    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}},"/v1/tools/beginner_tips":{"post":{"operationId":"beginner_tips","summary":"A curated, ordered shortlist of the most essential practical advice for someone starting to study chess","description":"A curated, ordered shortlist of the most essential practical advice for someone starting to study chess\n    endgames, from most to least essential. Use for \"what should I learn first about endgames\", \"give me some\n    beginner endgame tips\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"count":{"default":5,"description":"How many tips to return.","maximum":12,"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}}}}