Skip to main content
API odpovídá standardními HTTP statusy. JSON envelope (viz Formát odpovědi) vrací status: "error" a textovou message.

Souhrn

StatusKdy nastáváPříklad
400 Bad RequestChybný formát nebo validační chybaChybí povinné pole, špatný typ.
401 UnauthorizedNejste přihlášenýVolání chráněného endpointu bez session.
403 ForbiddenNemáte oprávněníUSER volá admin endpoint.
404 Not FoundZáznam neexistujeGET /character/<neznámé id>.
409 ConflictKonflikt stavůPozvánka pro uživatele, který už ve frakci je.
410 GoneZáznam zanikáMrtvá postava, kterou nelze upravit.
422 Unprocessable EntityValidní syntax, neplatná logika(zřídka — typicky 400).
429 Too Many RequestsRate limitPříliš mnoho pokusů o login.
500 Internal Server ErrorNeočekávaná chyba serveruBug, výjimka v PHP.

Speciální chybové scenarie

Login

SituaceStatusMessage
Špatné heslo401„Nesprávné uživatelské jméno nebo heslo.”
Neaktivní účet403„Účet není aktivován.”
2FA challenge200 (s data.challenge: true)
Rate limit429„Příliš mnoho pokusů, zkuste to za chvíli.”

Postava

SituaceStatusMessage
Více než 3 živé409„Můžete mít maximálně 3 živé postavy.”
Editace mrtvé410„Postavu nelze upravit po smrti.”
Schválení bez práv403

Frakce

SituaceStatus
Pozvat uživatele, který už je členem409
Opustit jako LEADER s ostatními409
Rozpustit s členy409

Whitelist

SituaceStatus
Druhá žádost při existující PENDING409
Schválení bez admin role403

Diagnostika

V developer_mode = true (config/app.json) chybové odpovědi obsahují i pole data.exception se stack trace. V produkci developer_mode vypněte, aby se citlivé info nevypisovalo.

Logování

Všechny 500-tky se logují do logs/error.log s timestampem, požadavkem a stack trace. Cron joby logují do logs/cron.log.