Add a public address
POST/api/v1/vms/{vm_uuid}/public-ip
Gives the server its own public IPv4 and IPv6 address, billed by the hour while it has them. This is the server's own pair, not a floating IP.
Parameters
| Name | In | Description |
|---|---|---|
| vm_uuid | path, stringrequired | Server id, from Create a VM or List VMs |
Example request
curl -X POST "https://platform.serverscamp.com/api/v1/vms/$VM_UUID/public-ip" \
-H "Authorization: Bearer $API_TOKEN"import os, requests
token = os.environ["API_TOKEN"]
vm_uuid = "6f1c2a9e-4b3d-4e8a-9c71-2d5e8f0a1b34"
r = requests.post(
f"https://platform.serverscamp.com/api/v1/vms/{vm_uuid}/public-ip",
headers={"Authorization": f"Bearer {token}"},
)
r.raise_for_status()
print(r.json())const vmUuid = '6f1c2a9e-4b3d-4e8a-9c71-2d5e8f0a1b34';
const r = await fetch(`https://platform.serverscamp.com/api/v1/vms/${vmUuid}/public-ip`, {
method: 'POST',
headers: { Authorization: `Bearer ${process.env.API_TOKEN}` },
});
console.log(r.status, await r.json());Answer
Status 200 with this body.
| Field | Type | Description |
|---|---|---|
| public_ip_v4 | string, optional | Public IPv4 address; null after a release |
| public_ip_v6 | string, optional | Public IPv6 address; null after a release |
{
"public_ip_v4": "185.236.10.44",
"public_ip_v6": "2a01:ea05:20:1::44"
}Errors
| Status | When |
|---|---|
400 | The server's network is not on a router |
401 | No token, or a token that is not valid |
409 | The server has an address already, or is not active |
422 | The body or a parameter is not what the operation takes |
Every operation can also answer 401 without a valid token. All errors