{"openapi":"3.1.0","info":{"title":"MineKeep Public API","version":"1.0.0"},"servers":[{"url":"https://api.minekeep.net"}],"tags":[{"name":"Servers","description":"The public server list"}],"paths":{"/v1/servers":{"get":{"operationId":"listPublicServers","tags":["Servers"],"summary":"List public servers","description":"Returns every publicly visible MineKeep server, i.e. the set that appears in the lobby server menu: not private, not whitelisted, not in maintenance mode, and joined at least once. MineKeep-hosted servers are listed while they are running; external (customer-hosted) servers are listed while their routing is enabled, whether or not the host is currently reachable. Sorted by online player count, highest first.","responses":{"200":{"description":"The current public server list.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicServerList"}}}},"503":{"description":"The list is temporarily unavailable (cache not yet populated). Retry shortly."}}}}},"components":{"schemas":{"PublicServerList":{"type":"object","required":["servers","updatedAt"],"properties":{"servers":{"type":"array","items":{"$ref":"#/components/schemas/PublicServer"}},"updatedAt":{"type":"string","format":"date-time","description":"When this snapshot of the list was built."}}},"PublicServer":{"type":"object","required":["id","name","icon","players","ad"],"properties":{"id":{"type":"string","description":"Stable server ID.","examples":["1234567890123456"]},"name":{"type":"string","description":"Server name, also its join address as <name>.minekeep.gg (<name>.bedrock.minekeep.gg for Bedrock).","examples":["example"]},"icon":{"type":["string","null"],"description":"Bukkit Material name of the server-menu icon, null if the owner never picked one.","examples":["BEDROCK"]},"players":{"type":"object","required":["online","max"],"properties":{"online":{"type":"integer","minimum":0,"description":"Players connected right now (through MineKeep, for external servers)."},"max":{"type":["integer","null"],"description":"Player limit, null if unknown (always null for external servers)."}}},"ad":{"type":["array","null"],"maxItems":10,"items":{"type":"string","maxLength":512},"description":"The owner-set advertisement lines shown in the lobby server menu; may contain MiniMessage tags and legacy &/§ formatting codes. Null if none is configured."}}}}}}