API ReferenceIPs
Replace an IP
Swap a blocked or degraded dedicated IP for a fresh one in the same market.
POST
https://api.riftip.com/v1/ips/{ip}/replaceReleases the IP and assigns a new one from the same network and country. The new IP keeps the original's expiry date.
#Path parameters
| Parameter | Type | Description |
|---|---|---|
ip | string, required | The IP to replace, e.g. 203.0.113.24. |
#Body parameters
| Parameter | Type | Description |
|---|---|---|
city | string | Prefer a replacement in this city, when available. |
reason | string | blocked, slow or other — helps us improve the pool. |
#Request
curl -X POST https://api.riftip.com/v1/ips/203.0.113.24/replace \
-H "Authorization: Bearer $RIFTIP_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "reason": "blocked" }'const res = await fetch("https://api.riftip.com/v1/ips/203.0.113.24/replace", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.RIFTIP_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({ reason: "blocked" }),
});requests.post(
"https://api.riftip.com/v1/ips/203.0.113.24/replace",
headers={"Authorization": f"Bearer {API_KEY}"},
json={"reason": "blocked"},
)#Response
JSON
{
"replaced": "203.0.113.24",
"ip": "203.0.113.91",
"network": "isp",
"country": "US",
"city": "Ashburn",
"expires_at": "2026-11-07T00:00:00Z"
}Replacements are free within your plan's monthly allowance; past it, the endpoint returns 409 with code replacement_limit.