Reseller API

Rate limits and blocking

ZoltVPN Reseller API limits per minute and per day, the rate-limit headers on every answer, the 24-hour block, and how to stay inside the limits.

LimitDefaultWhat happens
Per minute60 callsCalls over the limit answer 429 rate_limited with a Retry-After header in seconds. Slow down and retry.
Per day (UTC)10,000 callsGoing over blocks the API for your account for 24 hours. Every call answers 403 api_blocked with blockedUntil.
  • Your account manager may set different limits for your account. GET /me shows yours.
  • Every call counts, including refused ones. A client that keeps retrying after 429 uses up the daily allowance and gets blocked.
  • Every answer carries:
    • X-RateLimit-Limit-Minute, X-RateLimit-Remaining-Minute;
    • X-RateLimit-Limit-Day, X-RateLimit-Remaining-Day.
  • Only we can lift a block early. Contact support.
  • More than 30 calls with a wrong key in 10 minutes from one address refuse that address for an hour with 429 too_many_failed_attempts.

How to stay inside the limits:

  • Sync incrementally: page through GET /clients?sort=expiresAt instead of fetching each client one by one.
  • Cache GET /plans. Prices change rarely.
  • Back off exponentially on 429 and 5xx.