Rotation links

Every proxy has a secret rotation link that changes its IP without an API token. It is the rotation_url field of the proxy object and is shown on the proxy's page in the panel:

https://proxykite.com/r/<rotation_token>

Anyone who has the link can rotate that one proxy, so treat it like a password.

Rotating

Send a POST, or a GET with ?confirm=1 for tools that can only send GET. The call waits for the rotation to finish (up to about 60 seconds) — use a client timeout of at least 90 s.

curl
Python
Node.js
PHP
curl -X POST 'https://proxykite.com/r/<rotation_token>'
# GET-only tools:
curl 'https://proxykite.com/r/<rotation_token>?confirm=1'

A plain GET does not rotate

Chat apps, mail scanners and link previewers open pasted links. To stop them from rotating your IP, a plain GET (without confirm=1) does nothing:

  • a browser gets a small page with a Rotate now button (which sends a POST);
  • any other client gets 400 {"ok": false, "error": "confirm_required", "message": "…"}.

confirm=true and confirm=yes work too.

Answers

StatusBody
200{"ok": true, "old_ip": "100.64.1.2", "new_ip": "100.64.9.8"}
400confirm_required — plain GET, nothing rotated
403dongle_disabled — the proxy is disabled (also returned for a plain GET)
404not_found — unknown link (for example after a reset in the panel)
409rotation_in_progress — another rotation of this proxy is running
429rate_limited — more than 6 per minute for this link, or 30 per minute from your IP
501not_implemented — this dongle cannot rotate this way
502rotation_failed — the dongle did not get a new IP

Every error body is {"ok": false, "error": "<code>", "message": "…"}.

Rotation linkAPI rotate
Auththe secret in the URLbearer token (rotate level)
Scopeone proxyevery proxy the login can see
Answerok, old_ip, new_ipalso method, duration_ms
Rate limit6/min per link, 30/min per IP120/min per login