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": "VERSION_CONFLICT" }Codes to handle
| HTTP / code | Expected handling |
|---|---|
| 401 UNAUTHENTICATED / UNPAIRED | Restore the session or pair the device again. |
| 403 MFA_REQUIRED / REAUTH_REQUIRED | Complete MFA or sign in again for a fresh session. |
| 403 FORBIDDEN / INVALID_ORIGIN | Check permissions and origin; do not bypass the check. |
| 400 INVALID_PAIRING / INVALID_INVITATION | Have a new code or link prepared if needed. |
| 409 VERSION_CONFLICT / GROUP_CHANGED | Reread the room and check intent before another command. |
| 409 ID_CONFLICT | Do not reuse an identifier for different content. |
| 409 SERVICE_ALREADY_OPEN / SERVICE_CLOSED / NO_PLAN | Check the service and plan preparation. |
| 409 INVALID_TRANSITION / NOTHING_TO_UNDO | Reread available actions and canUndo. |
| 409 LAST_OWNER_REQUIRED | Keep at least one Owner; check the intended assignment. |
| 409 VISION_CONFLICT | Reread the plan version and experimental settings revision. |
| 429 RATE_LIMITED | Space out activation or pairing attempts. |
| 503 on /api/ready | The 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