Skip to main content

API reference · /api/v1

Errors

Failed responses use a consistent envelope with a machine-readable code and message.

{
  "success": false,
  "error": {
    "code": "invalid_credentials",
    "message": "Invalid API credentials."
  }
}
HTTP Code Meaning
401 invalid_credentials Missing or invalid API key/secret.
403 ip_not_allowed Request IP is not on the credential allowlist.
403 api_disabled API access is disabled for this reseller account.
404 not_found Requested domain was not found in your account.
422 invalid_domain Domain name failed validation/normalization.
422 validation_failed Request fields failed validation; see error.fields.
422 not_allowed A DNS rule refused the change (conflict, protected NS record, add-on missing…).
409 zone_exists A DNS zone already exists for the domain; it is never overwritten. Contact support.
409 zone_not_active Records can be changed once the domain uses our nameservers.
409 domain_not_active The domain is not active, so it cannot be managed.
503 dns_unavailable DNS hosting is temporarily unavailable.
401 invalid_signature The request signature does not match.
401 request_expired X-DomainAf-Timestamp is more than 5 minutes from server time.
401 replayed_request The nonce was already used.
401 signature_required This endpoint only accepts signed requests.
403 credential_upgrade_required The key predates request signing. Generate a new key.
403 scope_denied The key is not allowed this operation.
400 idempotency_key_required Billable calls need an Idempotency-Key header.
422 idempotency_conflict The Idempotency-Key was used for a different request.
409 request_in_progress The same request is still being processed.
402 insufficient_balance Account credit does not cover the order; see error.required and error.available.
422 domain_unavailable The domain cannot be registered or transferred into this account.
422 tld_not_supported The extension is not offered.
422 invalid_period The number of years is outside the extension's limits.
422 invalid_nameserver Between 2 and 5 valid nameserver host names are required.
409 expiry_mismatch current_expiry does not match: the domain was already renewed. Sync first.
409 renewal_in_progress A paid renewal is still being processed.
409 transfer_in_progress A paid transfer is still being processed.
423 domain_protected Domain Protection prevents this change (unlock, EPP code).
403 requires_portal_verification Domain Protection can only be removed in the reseller portal.
502 registry_error The registry did not complete the request. Safe to retry later.
429 rate_limited Too many requests for this credential.