A guild's public leaderboard.
Cached hard at the edge (5 minutes, an hour stale-while-revalidate), the 404 included — so polling it is cheap and a miss costs nothing. Do not expect it to reflect a catch from ten seconds ago.
Optionalaxis?: FishingBoardAxisOptionalscope?: FishingBoardScope
PUBLIC per-guild fishing data — no session, for an embeddable server page.
── WHY THIS IS NOT PART OF
minigamesFishing───────────────────────────── That class is documented as serving static CATALOGUE data, which is identical for every caller and safe by construction. This is per-guild and per-user, which is a different promise, so it is a different class — the same split the server makes betweenroutes/minigamesFishing.tsandroutes/public/.── IT ONLY ANSWERS FOR GUILDS THAT OPTED IN ─────────────────────────────── A leaderboard is per-user standings, which public fishing data otherwise must never carry. The owner switches
publicBoardon (seeguildFishing.updateConfig); it defaults to OFF.A guild that has not opted in — or has fishing switched off — answers 404, not 403. That is deliberate: a 403 confirms the server exists and plays, which is exactly the inference an owner who left this off is entitled to prevent. Treat 404 as "no public board", never as "wrong id".
No user IDs are returned, only display names. A public page has no use for a snowflake, and it is the field that would tie a member's activity here to their account everywhere else.