curl --request POST \
--url https://console.advinservers.com/api/v1/client/private-networks \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Lambda Complex staging",
"location_id": 3,
"subnet": "10.24.1.0/24"
}
'import requests
url = "https://console.advinservers.com/api/v1/client/private-networks"
payload = {
"name": "Lambda Complex staging",
"location_id": 3,
"subnet": "10.24.1.0/24"
}
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({name: 'Lambda Complex staging', location_id: 3, subnet: '10.24.1.0/24'})
};
fetch('https://console.advinservers.com/api/v1/client/private-networks', 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/private-networks",
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([
'name' => 'Lambda Complex staging',
'location_id' => 3,
'subnet' => '10.24.1.0/24'
]),
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/private-networks"
payload := strings.NewReader("{\n \"name\": \"Lambda Complex staging\",\n \"location_id\": 3,\n \"subnet\": \"10.24.1.0/24\"\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/private-networks")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Lambda Complex staging\",\n \"location_id\": 3,\n \"subnet\": \"10.24.1.0/24\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://console.advinservers.com/api/v1/client/private-networks")
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 \"name\": \"Lambda Complex staging\",\n \"location_id\": 3,\n \"subnet\": \"10.24.1.0/24\"\n}"
response = http.request(request)
puts response.read_body{
"id": "5220f263-0e8e-4917-bf4f-4cae109ca4c5",
"name": "Lambda Complex staging",
"subnet": "10.24.1.0/24",
"location": "Kansas City, MO",
"attached": false,
"attachment_status": null,
"members": [],
"created_at": "2026-09-14T16:42:09+00:00"
}{
"message": "Unauthenticated."
}{
"message": "This API key is not allowed to do that in this team. It needs the \"snapshot.delete\" permission."
}{
"message": "The name field is required.",
"errors": {}
}{
"message": "Too Many Attempts."
}Create a private network
Overview
Creates an empty private network. Send name and location_id. Optionally send a private subnet; otherwise, one is assigned. Attach servers separately. They must be in the same 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/private-networks \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Lambda Complex staging",
"location_id": 3,
"subnet": "10.24.1.0/24"
}
'import requests
url = "https://console.advinservers.com/api/v1/client/private-networks"
payload = {
"name": "Lambda Complex staging",
"location_id": 3,
"subnet": "10.24.1.0/24"
}
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({name: 'Lambda Complex staging', location_id: 3, subnet: '10.24.1.0/24'})
};
fetch('https://console.advinservers.com/api/v1/client/private-networks', 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/private-networks",
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([
'name' => 'Lambda Complex staging',
'location_id' => 3,
'subnet' => '10.24.1.0/24'
]),
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/private-networks"
payload := strings.NewReader("{\n \"name\": \"Lambda Complex staging\",\n \"location_id\": 3,\n \"subnet\": \"10.24.1.0/24\"\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/private-networks")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Lambda Complex staging\",\n \"location_id\": 3,\n \"subnet\": \"10.24.1.0/24\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://console.advinservers.com/api/v1/client/private-networks")
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 \"name\": \"Lambda Complex staging\",\n \"location_id\": 3,\n \"subnet\": \"10.24.1.0/24\"\n}"
response = http.request(request)
puts response.read_body{
"id": "5220f263-0e8e-4917-bf4f-4cae109ca4c5",
"name": "Lambda Complex staging",
"subnet": "10.24.1.0/24",
"location": "Kansas City, MO",
"attached": false,
"attachment_status": null,
"members": [],
"created_at": "2026-09-14T16:42:09+00:00"
}{
"message": "Unauthenticated."
}{
"message": "This API key is not allowed to do that in this team. It needs the \"snapshot.delete\" permission."
}{
"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.
Body
Send a JSON object containing the fields below. Required fields are marked in the schema.
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"