{ "$comment": "Generated review aid, NOT a gated contract - per route, the middleware handler count and the *named* middleware collected along the mount chain. Anonymous handlers (e.g. the arrow returned by requireRole(...)) cannot be named, so this is a hint for reviewers, never a security check. Regenerate with `npm run routes:manifest`.", "public": [ { "method": "GET", "path": "/.well-known/assetlinks.json", "handlers": 1, "gates": [] }, { "method": "POST", "path": "/api/csp-report", "handlers": 6, "gates": [ "jsonParser" ] }, { "method": "GET", "path": "/api/docs.json", "handlers": 1, "gates": [] }, { "method": "GET", "path": "/api/health", "handlers": 1, "gates": [] }, { "method": "GET", "path": "/api/v1/admin/account", "handlers": 1, "gates": [ "noindex", "requireAuth" ] }, { "method": "GET", "path": "/api/v1/admin/account/identities", "handlers": 1, "gates": [ "noindex", "requireAuth" ] }, { "method": "DELETE", "path": "/api/v1/admin/account/identities/:provider", "handlers": 3, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "POST", "path": "/api/v1/admin/account/totp/disable", "handlers": 3, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "POST", "path": "/api/v1/admin/account/totp/enable", "handlers": 3, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "POST", "path": "/api/v1/admin/account/totp/setup", "handlers": 1, "gates": [ "noindex", "requireAuth" ] }, { "method": "GET", "path": "/api/v1/admin/activity", "handlers": 1, "gates": [ "noindex", "requireAuth" ] }, { "method": "GET", "path": "/api/v1/admin/auth/providers", "handlers": 2, "gates": [ "noindex", "requireAuth" ] }, { "method": "POST", "path": "/api/v1/admin/auth/providers", "handlers": 14, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "DELETE", "path": "/api/v1/admin/auth/providers/:id", "handlers": 4, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "PUT", "path": "/api/v1/admin/auth/providers/:id", "handlers": 13, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "GET", "path": "/api/v1/admin/bot-activity", "handlers": 2, "gates": [ "noindex", "requireAuth" ] }, { "method": "POST", "path": "/api/v1/admin/bot-activity/unban", "handlers": 4, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "GET", "path": "/api/v1/admin/dashboard", "handlers": 1, "gates": [ "noindex", "requireAuth" ] }, { "method": "GET", "path": "/api/v1/admin/discord-bot/config", "handlers": 2, "gates": [ "noindex", "requireAuth" ] }, { "method": "PUT", "path": "/api/v1/admin/discord-bot/config", "handlers": 6, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "GET", "path": "/api/v1/admin/email/config", "handlers": 2, "gates": [ "noindex", "requireAuth" ] }, { "method": "PUT", "path": "/api/v1/admin/email/config", "handlers": 5, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "GET", "path": "/api/v1/admin/email/connect/callback", "handlers": 2, "gates": [ "noindex", "requireAuth" ] }, { "method": "GET", "path": "/api/v1/admin/email/connect/start", "handlers": 2, "gates": [ "noindex", "requireAuth" ] }, { "method": "POST", "path": "/api/v1/admin/email/disconnect", "handlers": 2, "gates": [ "noindex", "requireAuth" ] }, { "method": "POST", "path": "/api/v1/admin/email/test", "handlers": 4, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "GET", "path": "/api/v1/admin/invites", "handlers": 2, "gates": [ "noindex", "requireAuth" ] }, { "method": "POST", "path": "/api/v1/admin/invites", "handlers": 5, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "DELETE", "path": "/api/v1/admin/invites/:id", "handlers": 4, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "GET", "path": "/api/v1/admin/moderation/appeals", "handlers": 1, "gates": [ "noindex", "requireAuth" ] }, { "method": "GET", "path": "/api/v1/admin/moderation/appeals/:id", "handlers": 3, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "POST", "path": "/api/v1/admin/moderation/appeals/:id/claim", "handlers": 3, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "POST", "path": "/api/v1/admin/moderation/appeals/:id/resolve", "handlers": 5, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "GET", "path": "/api/v1/admin/moderation/filter-hits", "handlers": 1, "gates": [ "noindex", "requireAuth" ] }, { "method": "GET", "path": "/api/v1/admin/moderation/members", "handlers": 1, "gates": [ "noindex", "requireAuth" ] }, { "method": "GET", "path": "/api/v1/admin/moderation/recent", "handlers": 1, "gates": [ "noindex", "requireAuth" ] }, { "method": "GET", "path": "/api/v1/admin/moderation/search", "handlers": 1, "gates": [ "noindex", "requireAuth" ] }, { "method": "GET", "path": "/api/v1/admin/moderation/spam-hits", "handlers": 1, "gates": [ "noindex", "requireAuth" ] }, { "method": "GET", "path": "/api/v1/admin/moderation/stats/summary", "handlers": 1, "gates": [ "noindex", "requireAuth" ] }, { "method": "GET", "path": "/api/v1/admin/moderation/user/:discordId", "handlers": 3, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "GET", "path": "/api/v1/admin/moderation/user/:discordId/actions", "handlers": 3, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "GET", "path": "/api/v1/admin/moderation/user/:discordId/appeals", "handlers": 3, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "GET", "path": "/api/v1/admin/moderation/user/:discordId/notes", "handlers": 3, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "POST", "path": "/api/v1/admin/moderation/user/:discordId/notes", "handlers": 5, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "GET", "path": "/api/v1/admin/pages", "handlers": 1, "gates": [ "noindex", "requireAuth" ] }, { "method": "POST", "path": "/api/v1/admin/pages", "handlers": 4, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "DELETE", "path": "/api/v1/admin/pages/:id", "handlers": 3, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "GET", "path": "/api/v1/admin/pages/:id", "handlers": 3, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "PATCH", "path": "/api/v1/admin/pages/:id", "handlers": 3, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "POST", "path": "/api/v1/admin/pages/:id/preview", "handlers": 3, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "POST", "path": "/api/v1/admin/pages/:id/unprotect", "handlers": 4, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "GET", "path": "/api/v1/admin/posts", "handlers": 1, "gates": [ "noindex", "requireAuth" ] }, { "method": "POST", "path": "/api/v1/admin/posts", "handlers": 4, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "DELETE", "path": "/api/v1/admin/posts/:id", "handlers": 3, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "GET", "path": "/api/v1/admin/posts/:id", "handlers": 3, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "PUT", "path": "/api/v1/admin/posts/:id", "handlers": 3, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "GET", "path": "/api/v1/admin/posts/:id/announce", "handlers": 3, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "POST", "path": "/api/v1/admin/posts/:id/announce/retry", "handlers": 4, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "PATCH", "path": "/api/v1/admin/posts/:id/publish", "handlers": 4, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "POST", "path": "/api/v1/admin/posts/upload", "handlers": 2, "gates": [ "noindex", "requireAuth", "multerMiddleware" ] }, { "method": "GET", "path": "/api/v1/admin/settings", "handlers": 2, "gates": [ "noindex", "requireAuth" ] }, { "method": "PUT", "path": "/api/v1/admin/settings", "handlers": 2, "gates": [ "noindex", "requireAuth" ] }, { "method": "POST", "path": "/api/v1/admin/shard/account", "handlers": 4, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "GET", "path": "/api/v1/admin/shard/accounts", "handlers": 1, "gates": [ "noindex", "requireAuth" ] }, { "method": "GET", "path": "/api/v1/admin/shard/atlas", "handlers": 2, "gates": [ "noindex", "requireAuth" ] }, { "method": "POST", "path": "/api/v1/admin/shard/atlas/approve", "handlers": 2, "gates": [ "noindex", "requireAuth" ] }, { "method": "POST", "path": "/api/v1/admin/shard/atlas/import", "handlers": 4, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "PUT", "path": "/api/v1/admin/shard/atlas/path", "handlers": 4, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "POST", "path": "/api/v1/admin/shard/atlas/reject", "handlers": 2, "gates": [ "noindex", "requireAuth" ] }, { "method": "GET", "path": "/api/v1/admin/shard/audit", "handlers": 2, "gates": [ "noindex", "requireAuth" ] }, { "method": "POST", "path": "/api/v1/admin/shard/ban", "handlers": 7, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "POST", "path": "/api/v1/admin/shard/broadcast", "handlers": 5, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "GET", "path": "/api/v1/admin/shard/char/:serial", "handlers": 3, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "GET", "path": "/api/v1/admin/shard/houses", "handlers": 2, "gates": [ "noindex", "requireAuth" ] }, { "method": "POST", "path": "/api/v1/admin/shard/kick", "handlers": 5, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "POST", "path": "/api/v1/admin/shard/link", "handlers": 3, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "GET", "path": "/api/v1/admin/shard/pages", "handlers": 2, "gates": [ "noindex", "requireAuth" ] }, { "method": "POST", "path": "/api/v1/admin/shard/pages/:id/close", "handlers": 4, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "POST", "path": "/api/v1/admin/shard/pages/:id/respond", "handlers": 6, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "GET", "path": "/api/v1/admin/shard/roster/:account", "handlers": 3, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "GET", "path": "/api/v1/admin/shard/sales", "handlers": 1, "gates": [ "noindex", "requireAuth" ] }, { "method": "POST", "path": "/api/v1/admin/shard/unban", "handlers": 4, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "GET", "path": "/api/v1/admin/shard/vendors/:account", "handlers": 3, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "GET", "path": "/api/v1/admin/shard/visibility", "handlers": 2, "gates": [ "noindex", "requireAuth" ] }, { "method": "PUT", "path": "/api/v1/admin/shard/visibility", "handlers": 4, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "PUT", "path": "/api/v1/admin/site-mode", "handlers": 4, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "GET", "path": "/api/v1/admin/uo-link/config", "handlers": 2, "gates": [ "noindex", "requireAuth" ] }, { "method": "PUT", "path": "/api/v1/admin/uo-link/config", "handlers": 8, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "GET", "path": "/api/v1/admin/uo-link/stream", "handlers": 2, "gates": [ "noindex", "requireAuth" ] }, { "method": "POST", "path": "/api/v1/admin/uo-link/towncrier", "handlers": 7, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "DELETE", "path": "/api/v1/admin/uo-link/towncrier/:id", "handlers": 4, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "POST", "path": "/api/v1/admin/uploads", "handlers": 2, "gates": [ "noindex", "requireAuth", "multerMiddleware" ] }, { "method": "GET", "path": "/api/v1/admin/users", "handlers": 1, "gates": [ "noindex", "requireAuth" ] }, { "method": "POST", "path": "/api/v1/admin/users", "handlers": 7, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "DELETE", "path": "/api/v1/admin/users/:id", "handlers": 3, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "GET", "path": "/api/v1/admin/users/:id", "handlers": 3, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "PUT", "path": "/api/v1/admin/users/:id", "handlers": 8, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "POST", "path": "/api/v1/admin/users/:id/mfa/reset", "handlers": 3, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "GET", "path": "/api/v1/admin/users/:id/shard/accounts", "handlers": 3, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "GET", "path": "/api/v1/admin/users/:id/shard/houses", "handlers": 3, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "DELETE", "path": "/api/v1/admin/users/:id/shard/link/:account", "handlers": 5, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "GET", "path": "/api/v1/admin/users/:id/shard/online", "handlers": 3, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "GET", "path": "/api/v1/admin/users/:id/shard/sales", "handlers": 3, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "GET", "path": "/api/v1/admin/users/:id/shard/standing", "handlers": 3, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "DELETE", "path": "/api/v1/admin/users/:id/trusted-devices", "handlers": 3, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "GET", "path": "/api/v1/admin/users/:id/trusted-devices", "handlers": 3, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "DELETE", "path": "/api/v1/admin/users/:id/trusted-devices/:deviceId", "handlers": 4, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "GET", "path": "/api/v1/admin/wiki", "handlers": 1, "gates": [ "noindex", "requireAuth" ] }, { "method": "POST", "path": "/api/v1/admin/wiki", "handlers": 8, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "DELETE", "path": "/api/v1/admin/wiki/:slug", "handlers": 1, "gates": [ "noindex", "requireAuth" ] }, { "method": "GET", "path": "/api/v1/admin/wiki/:slug", "handlers": 1, "gates": [ "noindex", "requireAuth" ] }, { "method": "PUT", "path": "/api/v1/admin/wiki/:slug", "handlers": 8, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "PATCH", "path": "/api/v1/admin/wiki/:slug/publish", "handlers": 3, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "GET", "path": "/api/v1/admin/wiki/:slug/revisions", "handlers": 1, "gates": [ "noindex", "requireAuth" ] }, { "method": "GET", "path": "/api/v1/admin/wiki/:slug/revisions/:id", "handlers": 3, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "POST", "path": "/api/v1/admin/wiki/:slug/revisions/:id/restore", "handlers": 3, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "GET", "path": "/api/v1/admin/wiki/categories", "handlers": 1, "gates": [ "noindex", "requireAuth" ] }, { "method": "POST", "path": "/api/v1/admin/wiki/categories", "handlers": 6, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "DELETE", "path": "/api/v1/admin/wiki/categories/:id", "handlers": 3, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "PUT", "path": "/api/v1/admin/wiki/categories/:id", "handlers": 7, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "GET", "path": "/api/v1/admin/wiki/tags", "handlers": 1, "gates": [ "noindex", "requireAuth" ] }, { "method": "GET", "path": "/api/v1/auth/invite/:token", "handlers": 3, "gates": [ "middleware", "validate" ] }, { "method": "POST", "path": "/api/v1/auth/invite/:token/accept", "handlers": 10, "gates": [ "backoffGuard", "middleware", "validate" ] }, { "method": "POST", "path": "/api/v1/auth/login", "handlers": 8, "gates": [ "backoffGuard", "middleware", "validate" ] }, { "method": "POST", "path": "/api/v1/auth/login/totp", "handlers": 10, "gates": [ "backoffGuard", "middleware", "validate" ] }, { "method": "POST", "path": "/api/v1/auth/logout", "handlers": 2, "gates": [ "attachSession" ] }, { "method": "GET", "path": "/api/v1/auth/me", "handlers": 2, "gates": [ "requireAuth" ] }, { "method": "GET", "path": "/api/v1/auth/me/account", "handlers": 1, "gates": [ "noindex", "requireAuth" ] }, { "method": "GET", "path": "/api/v1/auth/me/account/identities", "handlers": 1, "gates": [ "noindex", "requireAuth" ] }, { "method": "DELETE", "path": "/api/v1/auth/me/account/identities/:provider", "handlers": 3, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "PATCH", "path": "/api/v1/auth/me/account/password", "handlers": 5, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "POST", "path": "/api/v1/auth/me/account/recovery-codes/generate", "handlers": 6, "gates": [ "noindex", "requireAuth", "backoffGuard", "middleware", "validate" ] }, { "method": "GET", "path": "/api/v1/auth/me/account/recovery-codes/status", "handlers": 1, "gates": [ "noindex", "requireAuth" ] }, { "method": "POST", "path": "/api/v1/auth/me/account/totp/disable", "handlers": 3, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "POST", "path": "/api/v1/auth/me/account/totp/enable", "handlers": 3, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "POST", "path": "/api/v1/auth/me/account/totp/setup", "handlers": 1, "gates": [ "noindex", "requireAuth" ] }, { "method": "PATCH", "path": "/api/v1/auth/me/account/username", "handlers": 4, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "GET", "path": "/api/v1/auth/me/devices", "handlers": 1, "gates": [ "noindex", "requireAuth" ] }, { "method": "POST", "path": "/api/v1/auth/me/devices", "handlers": 5, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "DELETE", "path": "/api/v1/auth/me/devices/:id", "handlers": 3, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "GET", "path": "/api/v1/auth/me/notifications/streams", "handlers": 1, "gates": [ "noindex", "requireAuth" ] }, { "method": "GET", "path": "/api/v1/auth/me/notifications/subscriptions", "handlers": 1, "gates": [ "noindex", "requireAuth" ] }, { "method": "PUT", "path": "/api/v1/auth/me/notifications/subscriptions", "handlers": 4, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "GET", "path": "/api/v1/auth/me/sessions", "handlers": 1, "gates": [ "noindex", "requireAuth" ] }, { "method": "DELETE", "path": "/api/v1/auth/me/sessions/:id", "handlers": 3, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "DELETE", "path": "/api/v1/auth/me/trusted-devices", "handlers": 1, "gates": [ "noindex", "requireAuth" ] }, { "method": "GET", "path": "/api/v1/auth/me/trusted-devices", "handlers": 1, "gates": [ "noindex", "requireAuth" ] }, { "method": "POST", "path": "/api/v1/auth/me/trusted-devices", "handlers": 4, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "DELETE", "path": "/api/v1/auth/me/trusted-devices/:id", "handlers": 3, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "POST", "path": "/api/v1/auth/mobile/login", "handlers": 11, "gates": [ "backoffGuard", "middleware", "validate" ] }, { "method": "POST", "path": "/api/v1/auth/mobile/logout", "handlers": 5, "gates": [ "requireAuth", "middleware", "validate" ] }, { "method": "POST", "path": "/api/v1/auth/mobile/refresh", "handlers": 4, "gates": [ "middleware", "validate" ] }, { "method": "POST", "path": "/api/v1/auth/mobile/sso/exchange", "handlers": 6, "gates": [ "middleware", "validate" ] }, { "method": "GET", "path": "/api/v1/auth/mobile/sso/start", "handlers": 7, "gates": [ "middleware", "validate" ] }, { "method": "POST", "path": "/api/v1/auth/password/forgot", "handlers": 4, "gates": [ "middleware", "validate" ] }, { "method": "GET", "path": "/api/v1/auth/password/reset/:token", "handlers": 3, "gates": [ "middleware", "validate" ] }, { "method": "POST", "path": "/api/v1/auth/password/reset/:token", "handlers": 5, "gates": [ "middleware", "validate" ] }, { "method": "GET", "path": "/api/v1/auth/providers", "handlers": 1, "gates": [] }, { "method": "POST", "path": "/api/v1/auth/register", "handlers": 10, "gates": [ "backoffGuard", "middleware", "validate" ] }, { "method": "GET", "path": "/api/v1/auth/sso/:provider/callback", "handlers": 1, "gates": [] }, { "method": "GET", "path": "/api/v1/auth/sso/:provider/link", "handlers": 2, "gates": [ "requireAuth" ] }, { "method": "GET", "path": "/api/v1/auth/sso/:provider/start", "handlers": 2, "gates": [] }, { "method": "POST", "path": "/api/v1/auth/sso/totp", "handlers": 8, "gates": [ "backoffGuard", "middleware", "validate" ] }, { "method": "GET", "path": "/api/v1/player/account", "handlers": 1, "gates": [ "noindex", "requireAuth" ] }, { "method": "GET", "path": "/api/v1/player/account/identities", "handlers": 1, "gates": [ "noindex", "requireAuth" ] }, { "method": "DELETE", "path": "/api/v1/player/account/identities/:provider", "handlers": 3, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "PATCH", "path": "/api/v1/player/account/password", "handlers": 5, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "POST", "path": "/api/v1/player/account/totp/disable", "handlers": 3, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "POST", "path": "/api/v1/player/account/totp/enable", "handlers": 3, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "POST", "path": "/api/v1/player/account/totp/setup", "handlers": 1, "gates": [ "noindex", "requireAuth" ] }, { "method": "PATCH", "path": "/api/v1/player/account/username", "handlers": 4, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "GET", "path": "/api/v1/player/appeals", "handlers": 1, "gates": [ "noindex", "requireAuth" ] }, { "method": "POST", "path": "/api/v1/player/appeals", "handlers": 5, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "POST", "path": "/api/v1/player/appeals/:id/withdraw", "handlers": 3, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "GET", "path": "/api/v1/player/appeals/eligible", "handlers": 1, "gates": [ "noindex", "requireAuth" ] }, { "method": "POST", "path": "/api/v1/player/shard/account", "handlers": 5, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "GET", "path": "/api/v1/player/shard/accounts", "handlers": 1, "gates": [ "noindex", "requireAuth" ] }, { "method": "GET", "path": "/api/v1/player/shard/char/:serial", "handlers": 3, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "GET", "path": "/api/v1/player/shard/houses", "handlers": 1, "gates": [ "noindex", "requireAuth" ] }, { "method": "POST", "path": "/api/v1/player/shard/link", "handlers": 3, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "GET", "path": "/api/v1/player/shard/roster/:account", "handlers": 3, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "GET", "path": "/api/v1/player/shard/sales", "handlers": 1, "gates": [ "noindex", "requireAuth" ] }, { "method": "GET", "path": "/api/v1/player/shard/vendors/:account", "handlers": 3, "gates": [ "noindex", "requireAuth", "middleware", "validate" ] }, { "method": "GET", "path": "/api/v1/public/atlas/champions", "handlers": 5, "gates": [ "middleware", "validate", "siteMode" ] }, { "method": "GET", "path": "/api/v1/public/atlas/creatures", "handlers": 8, "gates": [ "middleware", "validate", "siteMode" ] }, { "method": "GET", "path": "/api/v1/public/atlas/creatures/:slug", "handlers": 7, "gates": [ "middleware", "validate", "siteMode" ] }, { "method": "GET", "path": "/api/v1/public/atlas/landmarks", "handlers": 6, "gates": [ "middleware", "validate", "siteMode" ] }, { "method": "GET", "path": "/api/v1/public/atlas/meta", "handlers": 3, "gates": [ "siteMode" ] }, { "method": "GET", "path": "/api/v1/public/atlas/regions", "handlers": 6, "gates": [ "middleware", "validate", "siteMode" ] }, { "method": "POST", "path": "/api/v1/public/contact", "handlers": 6, "gates": [ "middleware", "validate" ] }, { "method": "GET", "path": "/api/v1/public/pages/:id/preview/:token", "handlers": 1, "gates": [] }, { "method": "GET", "path": "/api/v1/public/pages/:slug", "handlers": 2, "gates": [ "siteMode" ] }, { "method": "GET", "path": "/api/v1/public/posts/:category", "handlers": 2, "gates": [ "siteMode" ] }, { "method": "GET", "path": "/api/v1/public/posts/:category/:idOrSlug", "handlers": 2, "gates": [ "siteMode" ] }, { "method": "GET", "path": "/api/v1/public/settings", "handlers": 1, "gates": [] }, { "method": "GET", "path": "/api/v1/public/shard/champs", "handlers": 2, "gates": [] }, { "method": "GET", "path": "/api/v1/public/shard/economy", "handlers": 4, "gates": [ "middleware", "validate" ] }, { "method": "GET", "path": "/api/v1/public/shard/features", "handlers": 1, "gates": [] }, { "method": "GET", "path": "/api/v1/public/shard/feed", "handlers": 5, "gates": [ "middleware", "validate" ] }, { "method": "GET", "path": "/api/v1/public/shard/governors", "handlers": 2, "gates": [] }, { "method": "GET", "path": "/api/v1/public/shard/governors/:city/history", "handlers": 5, "gates": [ "middleware", "validate" ] }, { "method": "GET", "path": "/api/v1/public/shard/guilds", "handlers": 2, "gates": [] }, { "method": "GET", "path": "/api/v1/public/shard/houses", "handlers": 2, "gates": [] }, { "method": "GET", "path": "/api/v1/public/shard/idoc", "handlers": 2, "gates": [] }, { "method": "GET", "path": "/api/v1/public/shard/online", "handlers": 2, "gates": [] }, { "method": "GET", "path": "/api/v1/public/shard/presence", "handlers": 2, "gates": [] }, { "method": "GET", "path": "/api/v1/public/shard/ruleset", "handlers": 2, "gates": [] }, { "method": "GET", "path": "/api/v1/public/shard/status", "handlers": 2, "gates": [] }, { "method": "GET", "path": "/api/v1/public/shard/stream", "handlers": 1, "gates": [] }, { "method": "GET", "path": "/api/v1/public/status", "handlers": 1, "gates": [] }, { "method": "GET", "path": "/api/v1/public/version", "handlers": 1, "gates": [] }, { "method": "GET", "path": "/api/v1/public/wiki", "handlers": 2, "gates": [ "siteMode" ] }, { "method": "GET", "path": "/api/v1/public/wiki/:slug", "handlers": 2, "gates": [ "siteMode" ] }, { "method": "GET", "path": "/api/v1/public/wiki/categories", "handlers": 2, "gates": [ "siteMode" ] }, { "method": "GET", "path": "/api/v1/public/wiki/tags", "handlers": 2, "gates": [ "siteMode" ] } ], "internal": [ { "method": "GET", "path": "/health", "handlers": 1, "gates": [] }, { "method": "GET", "path": "/internal/bot-config", "handlers": 1, "gates": [ "requireInternalKey" ] } ] }