Uživatelé
GET /api/v1/admin/users
Seznam s filtrem.
Query: q, page, order (newest/last_seen/sessions/role).
Odpověď: username, e-mail (redacted pro lower-tier moderátory), last_seen, role, session_count.
DELETE /api/v1/admin/users?id=:uuid
Smaže/anonymizuje účet. Pouze pro management role. Nelze smazat vyšší role.
Postavy
GET /api/v1/admin/characters
Query: page, limit (default 20), status (PENDING/APPROVED/DENIED).
Odpověď: kombinace polí postavy + údaje o vlastníkovi.
Schvalování / zamítnutí: PUT /api/v1/character/:id (běžný endpoint, ale s admin middleware).
Whitelist
GET /api/v1/admin/whitelists
Query: page, limit, status.
Odpověď: seznam s rozšířenými poli (label otázek z lokalizace, steamid, discord_id).
GET /api/v1/admin/whitelist-export
Export schválených Steam64 IDs pro herní server.
Bany
GET /api/v1/admin/bans
Seznam aktivních banů.
POST /api/v1/admin/bans
Vytvoří ban.
Body: user_id, reason, banned_until.
DELETE /api/v1/admin/bans/:id
Zruší ban.
Webhooky
GET /api/v1/admin/config/webhooks
Seznam nakonfigurovaných webhooků.
POST /api/v1/admin/config/webhooks
Vytvoří webhook.
Body:
PUT /api/v1/admin/config/webhook/:id
Update.
DELETE /api/v1/admin/config/webhook/:id
Smaže webhook.
Detail eventů a šablon: Subsystémy → Webhooky.
Skupiny / Role
GET /api/v1/admin/config/groups
Seznam rolí.
PUT /api/v1/admin/config/group/:id
Update role (name max 16, primary_color, secondary_color).
Pravidla: Skupiny ADMIN a BOT jsou protected a nelze upravit.
Lokalizace
GET /api/v1/admin/config/localization
Vrátí všechny custom překlady (overrides) per locale.
POST /api/v1/admin/config/localization
Přidá / přepíše překlad.
Body: { "locale": "cs_CZ", "key": "_custom.something", "value": "Něco" }.
Pravidlo: klíč musí začínat _.
DELETE /api/v1/admin/config/localization
Smaže překlad.
Body: { "locale": "...", "key": "..." }.
Mailing
POST /api/v1/admin/mailing
Hromadný e-mail. Filtruje uživatele (role, faction, verified) a zařadí do fronty SMTP.
Audit log
GET /api/v1/admin/audit-log
Záznamy o klíčových akcích (login, character kill, faction creation, whitelist decision, …).
Query: user_id, type, from, to.
Relay ingest
POST /api/v1/admin/relay-ingest
Manuální upload NDJSON souboru (alternativa k automatickému SFTP polling).
POST /api/v1/admin/adm-ingest
Manuální upload .ADM souboru.