GuidesReference

Errors & status codes

What the gateway returns when something goes wrong, and what to do about it.

When the gateway itself rejects or can't complete a request, it answers with an HTTP status and an X-RiftIP-Error header naming the cause. Responses that come from the target are passed through untouched.

StatusX-RiftIP-ErrorMeaningWhat to do
407auth_failedWrong username or password, or an unknown optionCheck credentials and option spelling
402plan_exhaustedNo bandwidth, IPs or days left on the planTop up or renew in the dashboard
403target_restrictedThe target is restricted for your accountContact support to request access
429concurrency_limitToo many requests in flight for your planQueue requests; retry with backoff
502exit_failedThe exit couldn't connect to the targetRetry — you'll get a different exit
504target_timeoutThe target didn't answer in timeRetry, or raise your client timeout
522no_exit_availableNo exit matches your targeting right nowWiden targeting or retry later

#Retrying well

  • Retry 502, 504 and 522 with exponential backoff — a new attempt usually gets a new exit.
  • Don't retry 407, 402 or 403 automatically; they won't succeed until something changes.
  • For 429, slow down rather than retrying harder.

Note

Status codes from the target — a 403 from the website itself, say — have no X-RiftIP-Error header. That's how to tell a block from a gateway problem.