Getting Started
Markdown

Errors

HTTP status codes, machine-readable error envelopes, and retry strategies.

Every non-2xx response returns a JSON object with an error key containing a stable code string and a human-readable message. Branch on error.code in your application logic.

400 Bad Request
{
  "error": {
    "code": "invalid_ip",
    "message": "'999.0.0.1' is not a valid IPv4 or IPv6 address."
  }
}

# Status codes and error codes

HTTPCodeMeaningRetry?
400invalid_ipThe IP address in the path or batch array is malformed.No
400invalid_cidrThe CIDR prefix in /v1/network/{cidr} is malformed.No
400invalid_fieldsAn unknown field_families value was requested.No
400batch_too_largeThe batch array exceeds 100 addresses.No, split into chunks of 100
401missing_api_keyNo API key was supplied.No
401invalid_api_keyThe API key is unknown or revoked.No
403forbidden_field_familyA requested field family is not included in the key’s plan.No
404not_foundThe path does not match any endpoint.No
429rate_limitedPer-second burst limit exceeded. Wait Retry-After seconds.Yes, with backoff
429quota_exceededMonthly quota reached and prepaid wallet auto-top-up is disabled.After refill or reset
500internal_errorUnexpected server fault.Yes, with backoff
503unavailableNode is draining or temporarily overloaded.Yes, with backoff

# Retry discipline

Retry only 429 (rate_limited), 500, 502, 503 and 504, plus network timeouts. All official server SDKs implement exponential backoff with jitter and honour the Retry-After header out of the box.