{"openapi":"3.1.0","info":{"title":"BALLDONTLIE League of Legends (BYOK) API","version":"0.1.0","description":"BALLDONTLIE League of Legends (BYOK) lets an AI assistant read your own BALLDONTLIE League of Legends data through the BALLDONTLIE League of Legends API with a key you supply (BALLDONTLIE API key). Read-only: 10 tools (list_teams, list_players, list_champions, list_items, list_spells, list_runes, list_tournaments, list_tournament_teams, list_champion_stats, list_matches). The BYOK key travels...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-balldontlie-lol.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-balldontlie-lol/docs"},"termsOfService":"https://connectorbay.com/byok-balldontlie-lol/terms"},"servers":[{"url":"https://byok-balldontlie-lol.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-balldontlie-lol/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/list_teams":{"post":{"operationId":"list_teams","summary":"List professional League of Legends teams with country and region, searchable by name. Use for \"Find the League of Legen","description":"List professional League of Legends teams with country and region, searchable by name. Use for \"Find the League of Legends team T1\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"cursor":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"description":"Pagination cursor: pass the next_cursor value from the previous answer to get the following page.","title":"Cursor"},"per_page":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"How many results to return per page (1 to 100).","title":"Per Page"},"search":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Search teams by name.","title":"Search"}},"title":"list_teamsArguments","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/list_players":{"post":{"operationId":"list_players","summary":"Search professional League of Legends players by nickname or team with country and birthday. Use for \"Find the League of","description":"Search professional League of Legends players by nickname or team with country and birthday. Use for \"Find the League of Legends player Faker\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"cursor":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"description":"Pagination cursor: pass the next_cursor value from the previous answer to get the following page.","title":"Cursor"},"per_page":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"How many results to return per page (1 to 100).","title":"Per Page"},"search":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Search players by nickname or name.","title":"Search"},"team_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"description":"Filter by team ID.","title":"Team Id"}},"title":"list_playersArguments","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/list_champions":{"post":{"operationId":"list_champions","summary":"List all League of Legends champions with their ids. Use for \"Which champions exist in League of Legends\".","description":"List all League of Legends champions with their ids. Use for \"Which champions exist in League of Legends\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_championsArguments","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/list_items":{"post":{"operationId":"list_items","summary":"List League of Legends items with a trinket flag. Use for \"Which items exist in League of Legends\".","description":"List League of Legends items with a trinket flag. Use for \"Which items exist in League of Legends\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_itemsArguments","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/list_spells":{"post":{"operationId":"list_spells","summary":"List League of Legends summoner spells. Use for \"Which summoner spells exist in League of Legends\".","description":"List League of Legends summoner spells. Use for \"Which summoner spells exist in League of Legends\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_spellsArguments","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/list_runes":{"post":{"operationId":"list_runes","summary":"List League of Legends runes with their type and rune path. Use for \"Which runes exist in League of Legends\".","description":"List League of Legends runes with their type and rune path. Use for \"Which runes exist in League of Legends\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_runesArguments","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/list_tournaments":{"post":{"operationId":"list_tournaments","summary":"List League of Legends tournaments with dates, prize, tier and status. Needs the ALL-STAR plan or higher. Use for \"Which","description":"List League of Legends tournaments with dates, prize, tier and status. Needs the ALL-STAR plan or higher. Use for \"Which League of Legends tournaments are running\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"cursor":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"description":"Pagination cursor: pass the next_cursor value from the previous answer to get the following page.","title":"Cursor"},"per_page":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"How many results to return per page (1 to 100).","title":"Per Page"}},"title":"list_tournamentsArguments","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/list_tournament_teams":{"post":{"operationId":"list_tournament_teams","summary":"List the teams that take part in one League of Legends tournament. Needs the ALL-STAR plan or higher. Use for \"Which tea","description":"List the teams that take part in one League of Legends tournament. Needs the ALL-STAR plan or higher. Use for \"Which teams play in League of Legends tournament 1\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"tournament_id":{"description":"Tournament ID.","title":"Tournament Id","type":"integer"}},"required":["tournament_id"],"title":"list_tournament_teamsArguments","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/list_champion_stats":{"post":{"operationId":"list_champion_stats","summary":"List pick rate, win rate, ban rate and average kills, deaths and assists per champion in professional play. Needs the AL","description":"List pick rate, win rate, ban rate and average kills, deaths and assists per champion in professional play. Needs the ALL-STAR plan or higher. Use for \"Which champions have the highest win rate in pro League of Legends\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_champion_statsArguments","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/list_matches":{"post":{"operationId":"list_matches","summary":"List professional League of Legends matches by tournament or team with scores, best-of type, status and winner. Needs th","description":"List professional League of Legends matches by tournament or team with scores, best-of type, status and winner. Needs the GOAT plan or higher. Use for \"What were the results of League of Legends tournament 1\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"cursor":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"description":"Pagination cursor: pass the next_cursor value from the previous answer to get the following page.","title":"Cursor"},"per_page":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"How many results to return per page (1 to 100).","title":"Per Page"},"tournament_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"description":"Filter by tournament ID.","title":"Tournament Id"},"team_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"description":"Filter by team ID.","title":"Team Id"}},"title":"list_matchesArguments","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}}}}