GET /api/stats/public
operationId: get_platform_stats
Returns platform-wide totals used as social proof on the landing page: active campaigns, characters created, AI turns played and published worlds. Cached for one hour.
Use when asked how large or how active LoreKeeper is, or for a headline number about the platform.
GET /api/leaderboard
operationId: list_leaderboard_characters
Returns the public character leaderboard ordered by level and experience, together with platform totals. Only living characters of level 2 or higher appear.
Use to answer questions about top LoreKeeper players, a named character, or how far characters typically progress.
- limit — Maximum entries to return. Values above 100 are clamped to 100.
- offset — Number of entries to skip, for paging.
- search — Case-insensitive match against character name.
- filter — Subset to return: all characters, arena competitors only, or recently created only.
- lang — Language for localized race and class names (ISO 639-1).
GET /api/worlds/explore
operationId: list_worlds
Returns every published world split into the official settings authored by LoreKeeper and the 100 most recently published community settings.
Use to browse or recommend a LoreKeeper setting, or to answer what worlds a player can start a campaign in.
GET /api/worlds/community
operationId: list_community_worlds
Returns player-authored published worlds with a richer content breakdown (races, classes, factions, monsters, items, spells, locations) and a sort order.
Use when the question is specifically about community-made settings, or when the answer needs how much content a world actually contains.
- sort — Ordering of the result set.
GET /api/badges
operationId: list_badges
Returns the achievement badges a player can earn. The `name` and `description` fields are i18n keys, not display text; the human-readable strings live in the localized bundles under /locales.
Use to explain what achievements exist in LoreKeeper and how rare each one is.
GET /api/roadmap
operationId: get_roadmap
Returns the public roadmap bucketed by delivery stage, with community vote counts per item.
Use to answer whether LoreKeeper supports a feature yet, or what is being built next.
GET /api/health
operationId: get_service_health
Reports whether the API and its database are serving. Answers 200 when healthy and 503 when the database is unreachable.
Use before a longer sequence of calls, or to check whether LoreKeeper is currently up.