Public API
Public Sloth Lee API.
A handful of endpoints are public — stats, health, badges, beta signup. The full authenticated dashboard API (200+ endpoints for guilds, moderation, tickets, AutoMod, audit, etc.) lives behind login but has its own browseable docs.
Endpoints
GET/api/public/statscache: 60sLive guild and member count, plus latency, version, and online flag. Returns both new (`guild_count`, `member_count`) and legacy (`guilds`, `members`) field names for backwards compatibility.
{
"guild_count": 142,
"member_count": 18420,
"commands_today": 3214,
"bot_online": true,
"bot_stale": false,
"latency_ms": 87,
"version": "1.4.2",
"guilds": 142,
"members": 18420
}
GET/api/public/healthcache: 30sMulti-source liveness for the public status page. Each component (bot, dashboard, api, redis) reports operational / degraded / down independently. Includes any active incidents from the dashboard's incident composer.
{
"checked_at": "2026-05-04T15:30:00Z",
"overall": "operational",
"components": [
{"key": "bot", "name": "Discord bot", "status": "operational", "detail": "87ms gateway latency"},
{"key": "dashboard", "name": "Web dashboard", "status": "operational", "detail": "Web HQ + database reachable"},
{"key": "api", "name": "Public API", "status": "operational", "detail": "Public API responding"},
{"key": "redis", "name": "Cache (Redis)", "status": "operational", "detail": "Cache + pub/sub reachable"}
],
"incidents": [],
"stats": { /* same as /api/public/stats */ }
}
GET/api/badge/stats.svgcache: 60sShields-style live stats badge — `Sloth Lee · 142 servers · 18.4k members`. Embeddable as an `<img>` on any site.
<img src="https://api.slothlee.xyz/api/badge/stats.svg">
GET/api/badge/guilds.svgcache: 60sCompact server-count badge — `Sloth Lee servers · 142`.
<img src="https://api.slothlee.xyz/api/badge/guilds.svg">
GET/api/badge/status.svgcache: 30sLive overall-status badge. Three states: `operational` (green), `degraded` (yellow), `down` (red).
<img src="https://api.slothlee.xyz/api/badge/status.svg">
GET/api/badge/version.svgcache: 5minCurrent dashboard version badge — useful in changelog readers and ops dashboards.
<img src="https://api.slothlee.xyz/api/badge/version.svg">
POST/api/beta/signuprate-limit: 3 per hour, 10 per daySubmit a beta-program application. Body is JSON with `email` (required), and optional `discord_handle`, `guild_size`, `use_case`, `referrer` fields. Returns the user's waitlist position and the team's recent acceptance rate.
// Request
fetch("https://slothlee.xyz/api/beta/signup", {
method: "POST",
headers: {"Content-Type": "application/json"},
body: JSON.stringify({
email: "you@example.com",
discord_handle: "yourhandle",
use_case: "Moderating a 500-person book club",
}),
});
// Response
{
"ok": true,
"position": 47,
"weekly_acceptance_rate": 8
}