Skip to main content

Error Handling

Only one non-200 response is defined in the current OpenAPI: domain registration may return HTTP 400 with an error object when the domain already exists.

{
"error": "Registrar Error: \nObject exists; Domain is: newdomain.test.ly requested by client: registrar_test"
}

Error Reference

ScenarioHTTP statusResponse formatRetry guidanceStatus
Missing usernameVALIDATION REQUIREDVALIDATION REQUIREDNo; correct credentials first.Needs validation
Invalid tokenVALIDATION REQUIREDVALIDATION REQUIREDRegenerate using the verified algorithm.Needs validation
Expired tokenVALIDATION REQUIREDVALIDATION REQUIREDRegenerate only after expiry behavior is confirmed.Needs validation
Invalid parameterVALIDATION REQUIREDVALIDATION REQUIREDNo; correct the request first.Needs validation
Domain unavailable during registration400 for the published “Object exists” example{ "error": "Registrar Error: ..." }No; recheck availability and domain state.Partial
Unsupported TLDVALIDATION REQUIREDVALIDATION REQUIREDNo; confirm TLD support first.Needs validation
Insufficient creditVALIDATION REQUIREDVALIDATION REQUIREDNo; fund or reconcile the account first.Needs validation
Registry rejectionVALIDATION REQUIREDVALIDATION REQUIREDDepends on the verified rejection type.Needs validation
Registry timeoutVALIDATION REQUIREDVALIDATION REQUIREDConditional; verify transaction state first.Needs validation
Rate limitVALIDATION REQUIREDVALIDATION REQUIREDRetry later only after rate-limit behavior is confirmed.Needs validation
Server errorVALIDATION REQUIREDVALIDATION REQUIREDConditional; verify transaction state first.Needs validation

Safe Failure Handling

  • Parse the HTTP status and raw JSON shape separately; do not assume every error contains error.
  • Keep sanitized request/response details and timestamps for support, excluding credentials and EPP codes.
  • Do not automatically retry registration, renewal, contact, nameserver, glue, lock, sync, or EPP operations until their idempotency is documented.
  • Never retry a non-idempotent write operation blindly. Verify the previous transaction state first where financial or domain state may have changed.
  • Safe retry behavior must be confirmed endpoint by endpoint.
  • Never log the API key, generated token, or EPP code.