{"openapi":"3.1.0","info":{"title":"Apex Legends Status (BYOK) API","version":"0.1.0","description":"Apex Legends Status (BYOK) lets an AI assistant read your own Apex Legends Status data through the Apex Legends Status API with a key you supply (Apex Legends Status API key). Read-only: 7 tools (get_player_stats_by_name, get_player_stats_by_uid, get_map_rotation, get_predator_requirements, get_server_status, name_to_uid, origin_to_uid). The BYOK key travels with each request, is used for that...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-apexlegends.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-apexlegends/docs"},"termsOfService":"https://connectorbay.com/byok-apexlegends/terms"},"servers":[{"url":"https://byok-apexlegends.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-apexlegends/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/get_player_stats_by_name":{"post":{"operationId":"get_player_stats_by_name","summary":"Get an Apex Legends player's statistics by name: level, rank, legends played and their trackers. The documentation shows","description":"Get an Apex Legends player's statistics by name: level, rank, legends played and their trackers. The documentation shows no response fields, so the answer is passed through (capped). When you show the data, credit it as 'Data provided by Apex Legends Status' with a link to apexlegendsstatus.com, as the provider asks. Use for \"What are the Apex Legends stats of the PC player 'Daltoosh'\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"player":{"description":"Player name (the Origin account name for PC players, even if they play on Steam).","maxLength":64,"title":"Player","type":"string"},"platform":{"description":"Platform of the player: PC (Origin account name), PS4 (PlayStation) or X1 (Xbox). UID lookups also accept SWITCH.","enum":["PC","PS4","X1","SWITCH"],"title":"Platform","type":"string"},"skip_rank":{"anyOf":[{"maxLength":5,"type":"string"},{"type":"null"}],"default":null,"description":"Send any value such as 1 to leave out the ranking data.","title":"Skip Rank"},"merge":{"anyOf":[{"maxLength":5,"type":"string"},{"type":"null"}],"default":null,"description":"Send any value such as 1 to merge same-type trackers (event kills into kills).","title":"Merge"}},"required":["player","platform"],"title":"get_player_stats_by_nameArguments","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/get_player_stats_by_uid":{"post":{"operationId":"get_player_stats_by_uid","summary":"Get an Apex Legends player's statistics by UID, which stays valid after a name change. The documentation shows no respon","description":"Get an Apex Legends player's statistics by UID, which stays valid after a name change. The documentation shows no response fields, so the answer is passed through (capped). When you show the data, credit it as 'Data provided by Apex Legends Status' with a link to apexlegendsstatus.com, as the provider asks. Use for \"Show Apex Legends stats for player UID 1000000 on PC\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"uid":{"description":"Player UID, from name_to_uid or earlier stats.","maxLength":20,"title":"Uid","type":"string"},"platform":{"description":"Platform of the player: PC (Origin account name), PS4 (PlayStation) or X1 (Xbox). UID lookups also accept SWITCH.","enum":["PC","PS4","X1","SWITCH"],"title":"Platform","type":"string"},"skip_rank":{"anyOf":[{"maxLength":5,"type":"string"},{"type":"null"}],"default":null,"description":"Send any value such as 1 to leave out the ranking data.","title":"Skip Rank"}},"required":["uid","platform"],"title":"get_player_stats_by_uidArguments","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/get_map_rotation":{"post":{"operationId":"get_map_rotation","summary":"Get the current and next Apex Legends maps for Battle Royale and Arenas, pubs and ranked. Use version 2 for all modes. T","description":"Get the current and next Apex Legends maps for Battle Royale and Arenas, pubs and ranked. Use version 2 for all modes. The documentation shows no response fields, so the answer is passed through (capped). When you show the data, credit it as 'Data provided by Apex Legends Status' with a link to apexlegendsstatus.com, as the provider asks. Use for \"What is the current Apex Legends map rotation\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"version":{"anyOf":[{"enum":[1,2],"type":"integer"},{"type":"null"}],"default":2,"description":"1 returns Battle Royale pubs only, 2 returns all modes.","title":"Version"}},"title":"get_map_rotationArguments","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/get_predator_requirements":{"post":{"operationId":"get_predator_requirements","summary":"Get the ranked points needed to reach Apex Predator on each platform and the number of Masters players. The documentatio","description":"Get the ranked points needed to reach Apex Predator on each platform and the number of Masters players. The documentation shows no response fields, so the answer is passed through (capped). When you show the data, credit it as 'Data provided by Apex Legends Status' with a link to apexlegendsstatus.com, as the provider asks. Use for \"How many ranked points do I need for Apex Predator on PC\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_predator_requirementsArguments","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/get_server_status":{"post":{"operationId":"get_server_status","summary":"Get the current Apex Legends server status by region and platform. The documentation shows no response fields, so the an","description":"Get the current Apex Legends server status by region and platform. The documentation shows no response fields, so the answer is passed through (capped). When you show the data, credit it as 'Data provided by Apex Legends Status' with a link to apexlegendsstatus.com, as the provider asks. Use for \"Are the Apex Legends servers up\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_server_statusArguments","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/name_to_uid":{"post":{"operationId":"name_to_uid","summary":"Get a player's UID from their name (PC, PlayStation or Xbox). The documentation shows no response fields, so the answer ","description":"Get a player's UID from their name (PC, PlayStation or Xbox). The documentation shows no response fields, so the answer is passed through (capped). Use for \"What is the Apex Legends UID of Xbox player 'ExamplePlayer'\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"player":{"description":"Player name.","maxLength":64,"title":"Player","type":"string"},"platform":{"description":"PS4 for PlayStation, X1 for Xbox, PC for Origin.","enum":["PS4","X1","PC"],"title":"Platform","type":"string"}},"required":["player","platform"],"title":"name_to_uidArguments","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/origin_to_uid":{"post":{"operationId":"origin_to_uid","summary":"Get the UID of a PC player from their Origin name without loading statistics (the player must have played Apex Legends).","description":"Get the UID of a PC player from their Origin name without loading statistics (the player must have played Apex Legends). The documentation shows no response fields, so the answer is passed through (capped). Use for \"What is the UID of Origin player 'Daltoosh'\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"player":{"description":"Origin player name.","maxLength":64,"title":"Player","type":"string"}},"required":["player"],"title":"origin_to_uidArguments","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}}}}