Skip to main content
Error responses use JSON and include an error code. Many also include a human-readable message and structured fields that should drive recovery.

Error matrix

Retry policy

Retry only failures that can recover without changing the logical request:
  • 409 idempotency_request_in_progress
  • 429 rate_limit_exceeded
  • 503 capacity_exceeded
  • selected network timeouts and 5xx responses
For those retries:
  1. Keep the exact same country, phone array, and idempotency key.
  2. Honor Retry-After when present.
  3. Add exponential backoff with jitter when no delay is provided.
  4. Set a bounded attempt count and total deadline.
  5. Never log the phone array or authorization header.
Do not automatically retry validation, entitlement, billing, quota, or idempotency-conflict errors.

Rate-limit headers

A technical rate-limit response can include:
X-RateLimit-Reset is a Unix timestamp.

Quotas count phone inputs

Monthly allowances count summary.total_checked inputs, not HTTP requests. API and CSV scrubs share the same country-specific allowance for the organization. Invalid inputs and duplicates count because they are submitted inputs.