Helios PostDeveloper docs
DocumentationErrors and recovery

LUCION MAIL DEVELOPER GUIDE · v0.4.17

Errors and recovery

Interpret API errors and retry only where the operation is safe.

Updated October 14, 2026Official product documentation

HTTP status codes

StatusMeaningCaller action
400Malformed JSON, invalid input, pagination, or unsupported field.Correct the request; do not retry unchanged.
401Missing, invalid, expired, revoked, or insufficient-scope key.Check key state and required scope.
403Sender address is not owned by this account.Use an owned personal sender address.
406Unsupported requested API version.Use a documented version.
413 / 415Request too large / unsupported content type.Reduce the payload / send JSON.
429Rate limit reached.Honor `Retry-After` and back off.
503Storage, provider, or request-protection dependency unavailable.Retry reads with bounded backoff; retry sends with the same idempotency key.

Error response

Errors return a JSON object with a safe `error` message, plus standard no-store and API-version headers on versioned routes. Do not depend on internal provider details or raw database messages being returned.

Retry policy

Do not retry a 400, 401, 403, 406, 413, or 415 without correcting the request or credential. On 429, obey `Retry-After`. For transient 503 or network failures, use bounded exponential backoff with jitter.

For a send with uncertain outcome, preserve the exact body and `Idempotency-Key`. See Idempotent sending.

Documentation for Helios Post 0.4.17. Check release history when upgrading.