/mode/listList all available gamemodes.
None
Object keyed by gamemode slug with title, info_text, kit_image, and discord_url.
OpenAPI 3.1.1
Public API documentation for the version 2 surface. V1 at /api/v1/* is deprecated and should be treated as transitional only.
Base URL
https://mpr.choice21.site/api/v2Gamemode
Ladder discovery, overall standings, and per-gamemode tier boards.
/mode/listNone
Object keyed by gamemode slug with title, info_text, kit_image, and discord_url.
/mode/overall?count={0-50}&from={0+}`count` is required. `from` is optional and defaults to 0.
Array of overall player objects including rankings maps.
/mode/{gamemode}?count={0-50}&from={0+}`count` is required. Returns up to `count` players for each tier bucket.
Object keyed by tier number (`1` through `5`) with arrays of players in each tier.
/mode/{gamemode}/retired?count={0-50}&from={0+}Same pagination rules as the active gamemode route.
Object keyed by tier number with retired players only.
Player
Profile lookup by Minecraft UUID, username, or Discord ID.
/profile/{uuid}Optional flag params: `tests`, `badges`.
Player object with points, overall rank, rankings map, and optional test history.
/profile/{uuid}/rankingsPath param only.
Object keyed by gamemode slug with ranking objects.
/profile/by-name/{name}Optional flag params: `tests`, `badges`.
Same player object shape as `/profile/{uuid}`.
/profile/by-discord/{discord_id}Optional flag params: `tests`, `badges`.
Same player object shape as `/profile/{uuid}`.
Tests
Tester history and recent public results.
/tests/{uuid}?count={0-50}&from={0+}&gamemode={slug}`count` is required. `from` and `gamemode` are optional.
Array of test result objects with the tested player attached.
/tests/recent?count={0-20}&gamemode={slug}`count` is required. `gamemode` is optional.
Array of recent test objects with player and tester data.
/tests/recent/high?count={0-20}&gamemode={slug}Same params as `/tests/recent` but filtered to tiers 1-2.
Array of recent high-tier test objects.
Examples
GET https://mpr.choice21.site/api/v2/mode/listGET https://mpr.choice21.site/api/v2/mode/overall?count=25&from=0GET https://mpr.choice21.site/api/v2/mode/vanilla?count=10&from=0GET https://mpr.choice21.site/api/v2/profile/by-name/choice21?tests&badgesGET https://mpr.choice21.site/api/v2/tests/recent/high?count=10&gamemode=uhcSchemas
Player
{ uuid, name, region, points, overall, discord_id, rankings, badges, tests }Ranking
{ tier, pos, peak_tier, peak_pos, attained, retired }Test
{ player?, gamemode, at, result_tier, result_pos, prev_tier, prev_pos, tester? }Gamemode
{ title, info_text, kit_image, discord_url }Errors
Invalid request parameters return { code: "error.bad_request", message }.
Invalid gamemode requests return { code: "error.invalid_gamemode", message: null }.
Server failures return { code: "error.internal", message }.
Profile lookup routes return a bare 404 when the player does not exist.