Undo the removal of a Cloud Defender domain's country rule
curl --request POST \
--url https://app.aegister.com/api/v1/cloud-defender/{id}/countries/restore \
--header 'X-Aegister-Token: <api-key>'import requests
url = "https://app.aegister.com/api/v1/cloud-defender/{id}/countries/restore"
headers = {"X-Aegister-Token": "<api-key>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {'X-Aegister-Token': '<api-key>'}};
fetch('https://app.aegister.com/api/v1/cloud-defender/{id}/countries/restore', 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://app.aegister.com/api/v1/cloud-defender/{id}/countries/restore",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"X-Aegister-Token: <api-key>"
],
]);
$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://app.aegister.com/api/v1/cloud-defender/{id}/countries/restore"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("X-Aegister-Token", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://app.aegister.com/api/v1/cloud-defender/{id}/countries/restore")
.header("X-Aegister-Token", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.aegister.com/api/v1/cloud-defender/{id}/countries/restore")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Aegister-Token"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"error": 0,
"messages": [],
"data": {
"action": "block",
"countries": [
"KP",
"RU"
],
"tor": true,
"unknown": false,
"mode": "test",
"test_hits": 0,
"test_since": "2026-10-28T09:30:00Z",
"created_at": "2026-10-28T09:30:00Z",
"edited_at": "2026-10-28T09:30:00Z"
}
}{
"error": 1,
"messages": [
"Invalid data provided"
]
}{
"error": 1,
"messages": []
}Protection lists
Undo the removal of a Cloud Defender country rule
Put back the domain’s country rule within 10 minutes of removing it, as it was. It answers 400 after 10 minutes, or when the domain already has a new rule. Owners and security officers with a live licence.
POST
/
api
/
v1
/
cloud-defender
/
{id}
/
countries
/
restore
Undo the removal of a Cloud Defender domain's country rule
curl --request POST \
--url https://app.aegister.com/api/v1/cloud-defender/{id}/countries/restore \
--header 'X-Aegister-Token: <api-key>'import requests
url = "https://app.aegister.com/api/v1/cloud-defender/{id}/countries/restore"
headers = {"X-Aegister-Token": "<api-key>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {'X-Aegister-Token': '<api-key>'}};
fetch('https://app.aegister.com/api/v1/cloud-defender/{id}/countries/restore', 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://app.aegister.com/api/v1/cloud-defender/{id}/countries/restore",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"X-Aegister-Token: <api-key>"
],
]);
$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://app.aegister.com/api/v1/cloud-defender/{id}/countries/restore"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("X-Aegister-Token", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://app.aegister.com/api/v1/cloud-defender/{id}/countries/restore")
.header("X-Aegister-Token", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.aegister.com/api/v1/cloud-defender/{id}/countries/restore")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Aegister-Token"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"error": 0,
"messages": [],
"data": {
"action": "block",
"countries": [
"KP",
"RU"
],
"tor": true,
"unknown": false,
"mode": "test",
"test_hits": 0,
"test_since": "2026-10-28T09:30:00Z",
"created_at": "2026-10-28T09:30:00Z",
"edited_at": "2026-10-28T09:30:00Z"
}
}{
"error": 1,
"messages": [
"Invalid data provided"
]
}{
"error": 1,
"messages": []
}
