Status codes
Error envelope
Errors return a JSON body with a stable shape:error.code: a short, machine-readable string you can branch on.error.message: a human-readable description. Do not surface this directly to end users.error.field: present on some400and422errors. The name of the request field that caused the problem, for exampleemail.
Error codes
See Limits for the quota and rate limit on each plan.
Handling errors in your signup flow
1
Distinguish request errors, account errors, and platform errors
Treat
400, 405, and 422 responses as problems with the request (fix your integration or the input). Treat 401 and 402 as problems with your account. Treat 429 as a limit, and 5xx and network errors as transient AuthFlame issues.2
Fail closed on auth errors
A
401 means your integration is misconfigured. Log the incident and stop sending traffic with that key until it is fixed.3
Act on billing errors
A
402 means checks will keep failing until your subscription is active again. Alert your team and fix billing, and decide up front how signups are handled in the meantime.4
Fail open on transient errors
For
5xx responses and timeouts, decide up front whether to allow the signup, queue it for later review, or fall back to a lightweight local check. Blocking every signup during an outage is usually the wrong tradeoff.5
Handle each kind of 429 differently
For
rate_limited, wait for the number of seconds in the Retry-After header and retry, with exponential backoff if it persists. Bursting signups in a loop will keep you rate limited longer. For quota_exceeded, do not retry: the quota will not recover until it resets, so alert your team, consider upgrading, and apply the same fallback you use for transient errors..png?fit=max&auto=format&n=I1VHCABaGN8XUrA3&q=85&s=a6ef4d31dcedaa6714272989ceab62a2)
.png?fit=max&auto=format&n=I1VHCABaGN8XUrA3&q=85&s=d9708474bd0c0cd8c6223006c4baeca5)