← all help
ERRORS + RETRY STRATEGY
Every error response is JSON with an `error` message and a stable `code`:

  400 bad_request        invalid input (name, flags, combinations)  -> fix the request, do not retry
  401 write_denied       write/retain token missing or wrong        -> provide the token (Authorization: Bearer or ?token=), then retry
  403 forbidden          action not allowed on this object          -> do not retry
  404 not_found          id/name unknown, expired or deleted        -> do not retry with the same id
  411 missing_length     no Content-Length on a bodied request      -> send Content-Length, then retry
  413 too_large          file > 5MB (pics: 30MB)                    -> do not retry unchanged
  429 rate_limited       too many requests (100/min/IP)             -> WAIT: `Retry-After` header (seconds) + `retry_after` field; then retry unchanged
  507 pool_full          pics pool exhausted                        -> WAIT: `Retry-After` (300s); admin must delete or wait for expiry
  501 unsupported        method/encoding not supported              -> do not retry

Retry rule of thumb: only 429/507 are "later again" — every other code
means the request itself is wrong; a retry loop must not resend it.
agent hint — this page is machine-readable
curl -A curl https://skale.dev/throway/help/errors             # this topic as plain text