curl --request GET \
--url https://console.advinservers.com/api/v1/client/servers/{server}/ddos-protection/ip/{ip}/attacks \
--header 'Authorization: Bearer <token>'import requests
url = "https://console.advinservers.com/api/v1/client/servers/{server}/ddos-protection/ip/{ip}/attacks"
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/ip/{ip}/attacks', 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/ip/{ip}/attacks",
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/ip/{ip}/attacks"
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/ip/{ip}/attacks")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://console.advinservers.com/api/v1/client/servers/{server}/ddos-protection/ip/{ip}/attacks")
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": "96803df8-cd1b-4f25-b661-2da1072b88d0",
"startedAt": "2026-09-12T03:18:44Z",
"endedAt": "2026-09-12T03:31:09Z",
"sampleRate": 1000,
"address": "203.0.113.24",
"signatures": [
{
"id": "4578f2ec-8eaa-4e21-96b6-430c36033f33",
"name": "DNS amplification",
"description": "Large DNS responses from source port 53 that the address never asked for."
}
]
}
]{
"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."
}List DDoS attacks on an IP address
Overview
Lists attacks against this address, including start times, traffic details and sample sizes. An attack with no endedAt is ongoing. Attacks before the address was assigned to this account are omitted.
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/ip/{ip}/attacks \
--header 'Authorization: Bearer <token>'import requests
url = "https://console.advinservers.com/api/v1/client/servers/{server}/ddos-protection/ip/{ip}/attacks"
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/ip/{ip}/attacks', 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/ip/{ip}/attacks",
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/ip/{ip}/attacks"
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/ip/{ip}/attacks")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://console.advinservers.com/api/v1/client/servers/{server}/ddos-protection/ip/{ip}/attacks")
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": "96803df8-cd1b-4f25-b661-2da1072b88d0",
"startedAt": "2026-09-12T03:18:44Z",
"endedAt": "2026-09-12T03:31:09Z",
"sampleRate": 1000,
"address": "203.0.113.24",
"signatures": [
{
"id": "4578f2ec-8eaa-4e21-96b6-430c36033f33",
"name": "DNS amplification",
"description": "Large DNS responses from source port 53 that the address never asked for."
}
]
}
]{
"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"
The ip ID.
"203.0.113.24"
Response
The whole set, as a JSON array. There is no envelope and no paging.
The id ID.
"96803df8-cd1b-4f25-b661-2da1072b88d0"
The date and time for started at, in UTC.
"2026-09-12T03:18:44Z"
The date and time for ended at, in UTC.
"2026-09-12T03:31:09Z"
How much of the attack's traffic was sampled to identify it.
1000
The address the attack was aimed at.
"203.0.113.24"
The value of signatures.
Show child attributes
Show child attributes
[
{
"id": "4578f2ec-8eaa-4e21-96b6-430c36033f33",
"name": "DNS amplification",
"description": "Large DNS responses from source port 53 that the address never asked for."
}
]
[
{
"id": "96803df8-cd1b-4f25-b661-2da1072b88d0",
"startedAt": "2026-09-12T03:18:44Z",
"endedAt": "2026-09-12T03:31:09Z",
"sampleRate": 1000,
"address": "203.0.113.24",
"signatures": [
{
"id": "4578f2ec-8eaa-4e21-96b6-430c36033f33",
"name": "DNS amplification",
"description": "Large DNS responses from source port 53 that the address never asked for."
}
]
}
]