---
title: "Change reserved IP"
method: POST
path: "/api/v1/ips/{id}/change"
tags: ["Networking"]
---

# Change reserved IP

`POST /api/v1/ips/{id}/change`

Swap a reserved IP for a different one from the available pool. The subscription stays the same — no extra charge, no refund. Useful if the current IP is blacklisted somewhere.

The IP must be reserved (not currently attached to a VM).

## Path parameters

- `id` string, uuid, required

## Headers

- `X-Project-ID` string, uuid, required

## Response `200`

IP changed

- object
  - `success` boolean
  - `old_ip` FloatingIP — A floating public IP address.
    - `id` string, uuid, required — IP identifier.
    - `account_id` string, uuid
    - `project_id` string, uuid
    - `created_by` string, uuid — User who reserved the IP.
    - `ip_address` string, required — The IP address.
    - `type` 'IPv4' | 'IPv6', required — IP family.
    - `status` 'free' | 'in-use', required — - `free` — IP is in the pool, not currently attached to any VM. - `in-use` — currently attached to a VM.
    - `reserved` boolean, required — Whether the IP is reserved (held for the account regardless of VM attachment). A reserved IP can be either `free` (held but not attached) or `in-use` (held and attached).
    - `region` 'us-east'
    - `created_at` string, date-time
    - `updated_at` string, date-time
  - `new_ip` FloatingIP — A floating public IP address.
    - `id` string, uuid, required — IP identifier.
    - `account_id` string, uuid
    - `project_id` string, uuid
    - `created_by` string, uuid — User who reserved the IP.
    - `ip_address` string, required — The IP address.
    - `type` 'IPv4' | 'IPv6', required — IP family.
    - `status` 'free' | 'in-use', required — - `free` — IP is in the pool, not currently attached to any VM. - `in-use` — currently attached to a VM.
    - `reserved` boolean, required — Whether the IP is reserved (held for the account regardless of VM attachment). A reserved IP can be either `free` (held but not attached) or `in-use` (held and attached).
    - `region` 'us-east'
    - `created_at` string, date-time
    - `updated_at` string, date-time

## Other responses

- `400` — Invalid request parameters
- `401` — Authentication required
- `404` — Resource not found

---

[API](https://skmtc.dev/rafftechnologies/apis/raff-api.md) · [All operations](https://skmtc.dev/rafftechnologies/apis/raff-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/rafftechnologies/raff-api/revisions/2f4df56be77c/schema)
