curl --request GET \
--url https://console.advinservers.com/api/v1/client/servers/{server}/ddos-protection \
--header 'Authorization: Bearer <token>'import requests
url = "https://console.advinservers.com/api/v1/client/servers/{server}/ddos-protection"
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/servers/{server}/ddos-protection', 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}/ddos-protection",
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/servers/{server}/ddos-protection"
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/servers/{server}/ddos-protection")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://console.advinservers.com/api/v1/client/servers/{server}/ddos-protection")
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{
"addressId": "58213",
"address": "203.0.113.24",
"addresses": [
{
"id": "58213",
"address": "203.0.113.24"
},
{
"id": "58391",
"address": "203.0.113.88"
}
],
"settings": {
"symmetrical": true,
"symmetricalBasic": false,
"allowEgress": true,
"attackDuration": 30,
"defaultAction": "FILTER",
"discovery": true,
"autoMitigation": true
},
"profiles": [
{
"id": "a45afea6-a83e-4685-b7d5-029d0a91e81e",
"protocol": "TCP",
"minDstPort": 443,
"maxDstPort": 443,
"preset": {
"id": "19cfb2ea-daa8-4693-ad63-9d147b00b8f7",
"name": "HTTPS",
"protocol": "TCP"
},
"notes": "Black Mesa announcement system",
"createdAt": "2026-03-04T10:22:51Z",
"updatedAt": "2026-03-04T10:22:51Z"
}
],
"presets": [
{
"id": "19cfb2ea-daa8-4693-ad63-9d147b00b8f7",
"name": "HTTPS",
"protocol": "TCP",
"description": "Web traffic on port 443, with TLS handshakes validated before they reach the server.",
"action": "FILTER",
"filter": {
"filterId": 7,
"name": "https",
"id": 31
}
},
{
"id": "ce736ad0-0ad7-4b43-95b8-1156cccdf2be",
"name": "SSH",
"protocol": "TCP",
"description": "Remote shell access on port 22, rate limited per source address.",
"action": "FILTER",
"filter": {
"filterId": 3,
"name": "ssh",
"id": 12
}
}
],
"error": null
}{
"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": "Too Many Attempts."
}Get a server's DDoS protection
Overview
Lists the server’s protected addresses and protection details. addresses maps address IDs to IP addresses. Other endpoints in this section use the IP address itself. Send ?address_id= to select an address; otherwise, the first is used. If protection details are unavailable, the address list is still returned, error explains the problem, and other details are empty.
Permissions
Requires the network.read (View networking) permission for the selected team. Resources outside that team return 404.
curl --request GET \
--url https://console.advinservers.com/api/v1/client/servers/{server}/ddos-protection \
--header 'Authorization: Bearer <token>'import requests
url = "https://console.advinservers.com/api/v1/client/servers/{server}/ddos-protection"
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/servers/{server}/ddos-protection', 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}/ddos-protection",
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/servers/{server}/ddos-protection"
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/servers/{server}/ddos-protection")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://console.advinservers.com/api/v1/client/servers/{server}/ddos-protection")
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{
"addressId": "58213",
"address": "203.0.113.24",
"addresses": [
{
"id": "58213",
"address": "203.0.113.24"
},
{
"id": "58391",
"address": "203.0.113.88"
}
],
"settings": {
"symmetrical": true,
"symmetricalBasic": false,
"allowEgress": true,
"attackDuration": 30,
"defaultAction": "FILTER",
"discovery": true,
"autoMitigation": true
},
"profiles": [
{
"id": "a45afea6-a83e-4685-b7d5-029d0a91e81e",
"protocol": "TCP",
"minDstPort": 443,
"maxDstPort": 443,
"preset": {
"id": "19cfb2ea-daa8-4693-ad63-9d147b00b8f7",
"name": "HTTPS",
"protocol": "TCP"
},
"notes": "Black Mesa announcement system",
"createdAt": "2026-03-04T10:22:51Z",
"updatedAt": "2026-03-04T10:22:51Z"
}
],
"presets": [
{
"id": "19cfb2ea-daa8-4693-ad63-9d147b00b8f7",
"name": "HTTPS",
"protocol": "TCP",
"description": "Web traffic on port 443, with TLS handshakes validated before they reach the server.",
"action": "FILTER",
"filter": {
"filterId": 7,
"name": "https",
"id": 31
}
},
{
"id": "ce736ad0-0ad7-4b43-95b8-1156cccdf2be",
"name": "SSH",
"protocol": "TCP",
"description": "Remote shell access on port 22, rate limited per source address.",
"action": "FILTER",
"filter": {
"filterId": 3,
"name": "ssh",
"id": 12
}
}
],
"error": null
}{
"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": "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"
Query Parameters
The address id ID.
58213
Response
The record, as a JSON object. There is no envelope.
DDoS protection details for one server.
The address ID, or null when no protected address is selected.
"58213"
That address itself, as the per-address endpoints name it.
"203.0.113.24"
Every address on this server that DDoS protection covers.
Show child attributes
Show child attributes
[
{ "id": "58213", "address": "203.0.113.24" },
{ "id": "58391", "address": "203.0.113.88" }
]
The value of settings.
Show child attributes
Show child attributes
{
"symmetrical": true,
"symmetricalBasic": false,
"allowEgress": true,
"attackDuration": 30,
"defaultAction": "FILTER",
"discovery": true,
"autoMitigation": true
}
The value of profiles.
Show child attributes
Show child attributes
[
{
"id": "a45afea6-a83e-4685-b7d5-029d0a91e81e",
"protocol": "TCP",
"minDstPort": 443,
"maxDstPort": 443,
"preset": {
"id": "19cfb2ea-daa8-4693-ad63-9d147b00b8f7",
"name": "HTTPS",
"protocol": "TCP"
},
"notes": "Black Mesa announcement system",
"createdAt": "2026-03-04T10:22:51Z",
"updatedAt": "2026-03-04T10:22:51Z"
}
]
The value of presets.
Show child attributes
Show child attributes
[
{
"id": "19cfb2ea-daa8-4693-ad63-9d147b00b8f7",
"name": "HTTPS",
"protocol": "TCP",
"description": "Web traffic on port 443, with TLS handshakes validated before they reach the server.",
"action": "FILTER",
"filter": { "filterId": 7, "name": "https", "id": 31 }
},
{
"id": "ce736ad0-0ad7-4b43-95b8-1156cccdf2be",
"name": "SSH",
"protocol": "TCP",
"description": "Remote shell access on port 22, rate limited per source address.",
"action": "FILTER",
"filter": { "filterId": 3, "name": "ssh", "id": 12 }
}
]
What went wrong, when the filtering could not be read.
null