curl --request GET \
--url https://console.advinservers.com/api/v1/client/ip-groups \
--header 'Authorization: Bearer <token>'import requests
url = "https://console.advinservers.com/api/v1/client/ip-groups"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://console.advinservers.com/api/v1/client/ip-groups', 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/ip-groups",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://console.advinservers.com/api/v1/client/ip-groups"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://console.advinservers.com/api/v1/client/ip-groups")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://console.advinservers.com/api/v1/client/ip-groups")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body[
{
"id": "145e6e6f-a6b0-4b9e-9060-2d4f017baff8",
"name": "Sector C lab",
"entries": [
{
"id": "90c1a65c-b273-44a4-ae39-9f9e3c08c8b7",
"value": "192.0.2.0/28",
"comment": "Anomalous Materials test lab LAN"
},
{
"id": "936a228e-b576-4779-892b-ac30590dbe18",
"value": "192.0.2.44",
"comment": "Black Mesa VPN gateway"
}
],
"rules_count": 1,
"created_at": "2026-03-02T19:24:51+00:00"
}
]{
"message": "Unauthenticated."
}{
"message": "This API key is not allowed to do that in this team. It needs the \"snapshot.delete\" permission."
}{
"message": "Too Many Attempts."
}List IP groups
Overview
Lists firewall IP groups in the current team. Each group is a reusable source address list for firewall rules. Entries include addresses and rules_count. Fetch an individual group for used_by, which identifies the firewall groups using it.
Permissions
Requires the firewall.read (View the firewall) permission for the selected team. Resources outside that team return 404.
curl --request GET \
--url https://console.advinservers.com/api/v1/client/ip-groups \
--header 'Authorization: Bearer <token>'import requests
url = "https://console.advinservers.com/api/v1/client/ip-groups"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://console.advinservers.com/api/v1/client/ip-groups', 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/ip-groups",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://console.advinservers.com/api/v1/client/ip-groups"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://console.advinservers.com/api/v1/client/ip-groups")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://console.advinservers.com/api/v1/client/ip-groups")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body[
{
"id": "145e6e6f-a6b0-4b9e-9060-2d4f017baff8",
"name": "Sector C lab",
"entries": [
{
"id": "90c1a65c-b273-44a4-ae39-9f9e3c08c8b7",
"value": "192.0.2.0/28",
"comment": "Anomalous Materials test lab LAN"
},
{
"id": "936a228e-b576-4779-892b-ac30590dbe18",
"value": "192.0.2.44",
"comment": "Black Mesa VPN gateway"
}
],
"rules_count": 1,
"created_at": "2026-03-02T19:24:51+00:00"
}
]{
"message": "Unauthenticated."
}{
"message": "This API key is not allowed to do that in this team. It needs the \"snapshot.delete\" permission."
}{
"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.
Response
The whole set, as a JSON array. There is no envelope and no paging.
The id ID.
"145e6e6f-a6b0-4b9e-9060-2d4f017baff8"
The name shown to customers.
"Sector C lab"
The value of entries.
Show child attributes
Show child attributes
[ { "id": "90c1a65c-b273-44a4-ae39-9f9e3c08c8b7", "value": "192.0.2.0/28", "comment": "Anomalous Materials test lab LAN" }, { "id": "936a228e-b576-4779-892b-ac30590dbe18", "value": "192.0.2.44", "comment": "Black Mesa VPN gateway" } ]
How many firewall rules point at this group - what makes it unsafe to delete, so the list needs it even without the detail below.
1
The date and time for created at, in UTC.
"2026-03-02T19:24:51+00:00"
Which firewall groups use this one, named.
Show child attributes
Show child attributes
[ { "id": "145e6e6f-a6b0-4b9e-9060-2d4f017baff8", "name": "Sector C lab", "entries": [ { "id": "90c1a65c-b273-44a4-ae39-9f9e3c08c8b7", "value": "192.0.2.0/28", "comment": "Anomalous Materials test lab LAN" }, { "id": "936a228e-b576-4779-892b-ac30590dbe18", "value": "192.0.2.44", "comment": "Black Mesa VPN gateway" } ], "rules_count": 1, "created_at": "2026-03-02T19:24:51+00:00" } ]