KelnaKelnaDocumentation
Browse the documentation

DevelopersTablet version · pilot

Errors and retries

Distinguish a rejected identity, an outdated command and an uncertain network response.

Kelna error format

Kelna routes generally return a { code } object. The Better Auth proxy preserves its library’s formats. Request validation errors become INVALID_REQUEST without exposing internal database details.

Code example
{ "code": "VERSION_CONFLICT" }

Codes to handle

HTTP / codeExpected handling
401 UNAUTHENTICATED / UNPAIREDRestore the session or pair the device again.
403 MFA_REQUIRED / REAUTH_REQUIREDComplete MFA or sign in again for a fresh session.
403 FORBIDDEN / INVALID_ORIGINCheck permissions and origin; do not bypass the check.
400 INVALID_PAIRING / INVALID_INVITATIONHave a new code or link prepared if needed.
409 VERSION_CONFLICT / GROUP_CHANGEDReread the room and check intent before another command.
409 ID_CONFLICTDo not reuse an identifier for different content.
409 SERVICE_ALREADY_OPEN / SERVICE_CLOSED / NO_PLANCheck the service and plan preparation.
409 INVALID_TRANSITION / NOTHING_TO_UNDOReread available actions and canUndo.
409 LAST_OWNER_REQUIREDKeep at least one Owner; check the intended assignment.
409 VISION_CONFLICTReread the plan version and experimental settings revision.
429 RATE_LIMITEDSpace out activation or pairing attempts.
503 on /api/readyThe initialized database is unavailable; do not consider the API ready.

No response does not mean rejection

The server may have recorded a write whose response was lost. Keep its command for an identical retry. A network error must not turn into a new business event.

Diagnostics and support tickets must contain no cookies, activation links, passwords or staff data.

Need a hand?

Describe the step that failed and the message shown. Keep passwords and sign-in codes private.

Contact the Kelna team