Every error a Lantern server returns is application/problem+json (RFC 9457) with a real status code. Its type is one of these addresses, https://lantern.boreale.dev/errors/<name>; its code is the same name in snake case. The specification, § 10.
| Type | Status | code | When |
|---|---|---|---|
bad-request | 400 | bad_request | A malformed query or body; a cursor or since token the server never gave |
unauthorized | 401 | unauthorized | No token where one is needed, or an unknown, revoked or expired one (with WWW-Authenticate: Bearer) |
forbidden | 403 | forbidden | A scope missing |
account-frozen | 403 | account_frozen | A frozen account |
not-found | 404 | not_found | — |
bad-request | 405 | bad_request | A method the route does not take (with Allow) |
conflict | 409 | conflict | — |
gone | 410 | gone | An expired cursor, since token, pairing or file id |
too-large | 413 | too_large | A save above the server's limit |
bad-request | 416 | bad_request | A range outside the file (with Content-Range: bytes */<size>) |
unsupported-schema | 422 | unsupported_schema | A request document of a schema the server cannot read |
slow-down | 429 | slow_down | Too many requests, pairing attempts or polls (with Retry-After) |
internal | 500 | internal | A failure of the server itself; the client may try again later |
unavailable | 503 | unavailable | Scanning, maintenance (with Retry-After) |
detail is for people: a client shows it, bounded and without control characters.