curl --request POST \
--url https://console.advinservers.com/api/v1/client/servers/{server}/private-networks/{privateNetwork}/attach \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"ip_address": "10.24.0.10"
}
'import requests
url = "https://console.advinservers.com/api/v1/client/servers/{server}/private-networks/{privateNetwork}/attach"
payload = { "ip_address": "10.24.0.10" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({ip_address: '10.24.0.10'})
};
fetch('https://console.advinservers.com/api/v1/client/servers/{server}/private-networks/{privateNetwork}/attach', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://console.advinservers.com/api/v1/client/servers/{server}/private-networks/{privateNetwork}/attach",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'ip_address' => '10.24.0.10'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://console.advinservers.com/api/v1/client/servers/{server}/private-networks/{privateNetwork}/attach"
payload := strings.NewReader("{\n \"ip_address\": \"10.24.0.10\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://console.advinservers.com/api/v1/client/servers/{server}/private-networks/{privateNetwork}/attach")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"ip_address\": \"10.24.0.10\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://console.advinservers.com/api/v1/client/servers/{server}/private-networks/{privateNetwork}/attach")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"ip_address\": \"10.24.0.10\"\n}"
response = http.request(request)
puts response.read_body{
"id": "5220f263-0e8e-4917-bf4f-4cae109ca4c5",
"name": "Sector C backbone",
"subnet": "10.24.0.0/24",
"location": "Kansas City, MO",
"attached": true,
"attachment_status": "attaching",
"members": [
{
"server_id": "ecc6f4f1-c89b-4dce-a20b-a330641c5b0b",
"uuid_short": "ecc6f4f1",
"name": "lambda-core",
"hostname": "lambda-core.blackmesa.example.com",
"template_name": "Ubuntu 24.04",
"template_icon_url": "https://img.icons8.com/color/48/ubuntu.png",
"windows": false,
"nic_index": null,
"ip_address": "10.24.0.10",
"status": "attaching",
"is_current": true
},
{
"server_id": "304e1794-a5b7-41f2-9a20-c0d444eb6683",
"uuid_short": "304e1794",
"name": "sector-c-db",
"hostname": "sector-c-db.blackmesa.example.com",
"template_name": "Debian 13",
"template_icon_url": "https://img.icons8.com/color/48/debian.png",
"windows": false,
"nic_index": 1,
"ip_address": "10.24.0.11",
"status": "attached",
"is_current": false
}
],
"created_at": "2026-05-11T09:20:47+00:00"
}{
"message": "Unauthenticated."
}{
"message": "This API key is not allowed to do that in this team. It needs the \"snapshot.delete\" permission."
}{
"message": "Not found."
}{
"message": "The name field is required.",
"errors": {}
}{
"message": "Too Many Attempts."
}Attach a server to a private network
Overview
Attaches a server to the private network. Optionally send ip_address; otherwise, the lowest available address is assigned. The member list includes the assigned address immediately. Network configuration runs in the background, with status attaching until complete. Poll the network to check progress. The server and network must share the same account and location.
Permissions
Requires the network.update (Change networking) permission for the selected team. Resources outside that team return 404.
curl --request POST \
--url https://console.advinservers.com/api/v1/client/servers/{server}/private-networks/{privateNetwork}/attach \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"ip_address": "10.24.0.10"
}
'import requests
url = "https://console.advinservers.com/api/v1/client/servers/{server}/private-networks/{privateNetwork}/attach"
payload = { "ip_address": "10.24.0.10" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({ip_address: '10.24.0.10'})
};
fetch('https://console.advinservers.com/api/v1/client/servers/{server}/private-networks/{privateNetwork}/attach', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://console.advinservers.com/api/v1/client/servers/{server}/private-networks/{privateNetwork}/attach",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'ip_address' => '10.24.0.10'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://console.advinservers.com/api/v1/client/servers/{server}/private-networks/{privateNetwork}/attach"
payload := strings.NewReader("{\n \"ip_address\": \"10.24.0.10\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://console.advinservers.com/api/v1/client/servers/{server}/private-networks/{privateNetwork}/attach")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"ip_address\": \"10.24.0.10\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://console.advinservers.com/api/v1/client/servers/{server}/private-networks/{privateNetwork}/attach")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"ip_address\": \"10.24.0.10\"\n}"
response = http.request(request)
puts response.read_body{
"id": "5220f263-0e8e-4917-bf4f-4cae109ca4c5",
"name": "Sector C backbone",
"subnet": "10.24.0.0/24",
"location": "Kansas City, MO",
"attached": true,
"attachment_status": "attaching",
"members": [
{
"server_id": "ecc6f4f1-c89b-4dce-a20b-a330641c5b0b",
"uuid_short": "ecc6f4f1",
"name": "lambda-core",
"hostname": "lambda-core.blackmesa.example.com",
"template_name": "Ubuntu 24.04",
"template_icon_url": "https://img.icons8.com/color/48/ubuntu.png",
"windows": false,
"nic_index": null,
"ip_address": "10.24.0.10",
"status": "attaching",
"is_current": true
},
{
"server_id": "304e1794-a5b7-41f2-9a20-c0d444eb6683",
"uuid_short": "304e1794",
"name": "sector-c-db",
"hostname": "sector-c-db.blackmesa.example.com",
"template_name": "Debian 13",
"template_icon_url": "https://img.icons8.com/color/48/debian.png",
"windows": false,
"nic_index": 1,
"ip_address": "10.24.0.11",
"status": "attached",
"is_current": false
}
],
"created_at": "2026-05-11T09:20:47+00:00"
}{
"message": "Unauthenticated."
}{
"message": "This API key is not allowed to do that in this team. It needs the \"snapshot.delete\" permission."
}{
"message": "Not found."
}{
"message": "The name field is required.",
"errors": {}
}{
"message": "Too Many Attempts."
}Authorizations
Your API key, sent as a bearer token. Create one in the control panel under API Keys, give it only the permissions the integration needs, and copy it when it is created. It cannot be shown again. Each key is restricted to one owned team. The key determines the team for every request.
Path Parameters
The server UUID
"ecc6f4f1"
The private network UUID
"5220f263-0e8e-4917-bf4f-4cae109ca4c5"
Body
Send a JSON object containing the fields below. Required fields are marked in the schema.
The value of ip_address.
Response
The record, as a JSON object. There is no envelope.
An isolated segment carrying traffic between the account's own servers in one city.
The id ID.
"5220f263-0e8e-4917-bf4f-4cae109ca4c5"
The name shown to customers.
"Sector C backbone"
The range members are addressed out of, and below, the address each one holds on it.
"10.24.0.0/24"
The network's city name, shared by locations in the same city. Used in the account-wide network list.
"Kansas City, MO"
Whether the requested server is attached to this network.
true
The requested server's attachment status, or null when it is not attached.
attaching, attached, detaching, null "attached"
The value of members.
Show child attributes
Show child attributes
[
{
"server_id": "ecc6f4f1-c89b-4dce-a20b-a330641c5b0b",
"uuid_short": "ecc6f4f1",
"name": "lambda-core",
"hostname": "lambda-core.blackmesa.example.com",
"template_name": "Ubuntu 24.04",
"template_icon_url": "https://img.icons8.com/color/48/ubuntu.png",
"windows": false,
"nic_index": 1,
"ip_address": "10.24.0.10",
"status": "attached",
"is_current": true
},
{
"server_id": "304e1794-a5b7-41f2-9a20-c0d444eb6683",
"uuid_short": "304e1794",
"name": "sector-c-db",
"hostname": "sector-c-db.blackmesa.example.com",
"template_name": "Debian 13",
"template_icon_url": "https://img.icons8.com/color/48/debian.png",
"windows": false,
"nic_index": 1,
"ip_address": "10.24.0.11",
"status": "attached",
"is_current": false
}
]
The date and time for created at, in UTC.
"2026-05-11T09:20:47+00:00"