curl --request PUT \
--url https://api.gcore.com/security/sifter/v3/protected_networks/{protected_network_id} \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"comment": "Updated GRE endpoint for improved routing",
"gre_endpoint": "203.0.113.10",
"is_active": true,
"profile_id": 42
}
'import requests
url = "https://api.gcore.com/security/sifter/v3/protected_networks/{protected_network_id}"
payload = {
"comment": "Updated GRE endpoint for improved routing",
"gre_endpoint": "203.0.113.10",
"is_active": True,
"profile_id": 42
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
comment: 'Updated GRE endpoint for improved routing',
gre_endpoint: '203.0.113.10',
is_active: true,
profile_id: 42
})
};
fetch('https://api.gcore.com/security/sifter/v3/protected_networks/{protected_network_id}', 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://api.gcore.com/security/sifter/v3/protected_networks/{protected_network_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'comment' => 'Updated GRE endpoint for improved routing',
'gre_endpoint' => '203.0.113.10',
'is_active' => true,
'profile_id' => 42
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"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://api.gcore.com/security/sifter/v3/protected_networks/{protected_network_id}"
payload := strings.NewReader("{\n \"comment\": \"Updated GRE endpoint for improved routing\",\n \"gre_endpoint\": \"203.0.113.10\",\n \"is_active\": true,\n \"profile_id\": 42\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "<api-key>")
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.put("https://api.gcore.com/security/sifter/v3/protected_networks/{protected_network_id}")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"comment\": \"Updated GRE endpoint for improved routing\",\n \"gre_endpoint\": \"203.0.113.10\",\n \"is_active\": true,\n \"profile_id\": 42\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gcore.com/security/sifter/v3/protected_networks/{protected_network_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"comment\": \"Updated GRE endpoint for improved routing\",\n \"gre_endpoint\": \"203.0.113.10\",\n \"is_active\": true,\n \"profile_id\": 42\n}"
response = http.request(request)
puts response.read_body{
"as_number": 65001,
"client_id": 150,
"comment": "Production network for web services",
"created_at": "2025-06-15T10:30:00Z",
"documents": [
{
"id": 501,
"name": "network_authorization.pdf"
},
{
"id": 502,
"name": "service_agreement.pdf"
}
],
"gre_endpoint": "203.0.113.10",
"id": 1024,
"is_active": true,
"is_error": false,
"is_processing": false,
"lifecycle_status": "APPROVED",
"modified_at": "2025-07-20T14:45:00Z",
"network": "198.51.100.0/24",
"profile": {
"id": 42,
"name": "Standard DDoS Protection"
},
"protection_status": "ACTIVE",
"status": "ENABLED"
}{}{}{}{}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Update protected network
Update protected network
curl --request PUT \
--url https://api.gcore.com/security/sifter/v3/protected_networks/{protected_network_id} \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"comment": "Updated GRE endpoint for improved routing",
"gre_endpoint": "203.0.113.10",
"is_active": true,
"profile_id": 42
}
'import requests
url = "https://api.gcore.com/security/sifter/v3/protected_networks/{protected_network_id}"
payload = {
"comment": "Updated GRE endpoint for improved routing",
"gre_endpoint": "203.0.113.10",
"is_active": True,
"profile_id": 42
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
comment: 'Updated GRE endpoint for improved routing',
gre_endpoint: '203.0.113.10',
is_active: true,
profile_id: 42
})
};
fetch('https://api.gcore.com/security/sifter/v3/protected_networks/{protected_network_id}', 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://api.gcore.com/security/sifter/v3/protected_networks/{protected_network_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'comment' => 'Updated GRE endpoint for improved routing',
'gre_endpoint' => '203.0.113.10',
'is_active' => true,
'profile_id' => 42
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"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://api.gcore.com/security/sifter/v3/protected_networks/{protected_network_id}"
payload := strings.NewReader("{\n \"comment\": \"Updated GRE endpoint for improved routing\",\n \"gre_endpoint\": \"203.0.113.10\",\n \"is_active\": true,\n \"profile_id\": 42\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "<api-key>")
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.put("https://api.gcore.com/security/sifter/v3/protected_networks/{protected_network_id}")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"comment\": \"Updated GRE endpoint for improved routing\",\n \"gre_endpoint\": \"203.0.113.10\",\n \"is_active\": true,\n \"profile_id\": 42\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gcore.com/security/sifter/v3/protected_networks/{protected_network_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"comment\": \"Updated GRE endpoint for improved routing\",\n \"gre_endpoint\": \"203.0.113.10\",\n \"is_active\": true,\n \"profile_id\": 42\n}"
response = http.request(request)
puts response.read_body{
"as_number": 65001,
"client_id": 150,
"comment": "Production network for web services",
"created_at": "2025-06-15T10:30:00Z",
"documents": [
{
"id": 501,
"name": "network_authorization.pdf"
},
{
"id": 502,
"name": "service_agreement.pdf"
}
],
"gre_endpoint": "203.0.113.10",
"id": 1024,
"is_active": true,
"is_error": false,
"is_processing": false,
"lifecycle_status": "APPROVED",
"modified_at": "2025-07-20T14:45:00Z",
"network": "198.51.100.0/24",
"profile": {
"id": 42,
"name": "Standard DDoS Protection"
},
"protection_status": "ACTIVE",
"status": "ENABLED"
}{}{}{}{}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Authorizations
API key for authentication. Make sure to include the word apikey, followed by a single space and then your token.
Example: apikey 1234_abcdef
Path Parameters
A positive integer ID
1 <= x <= 1000000000Body
Response
Successful Response
Identifier for the protected network
Identifier of the client owning this network
IP network address (IPv4 or IPv6)
Autonomous System number associated with the network
65000
GRE tunnel endpoint IP address
"172.16.31.10"
Current administrative status of the network
PENDING, ACTIVE, INACTIVE, NEED_INFO, PROCESSING, ERROR Current protection status of the network (ACTIVE, INACTIVE, NONE)
NONE, ACTIVE, INACTIVE, ACTIVATING, DEACTIVATING, UPDATING, ERROR Current lifecycle status of the network (PENDING, APPROVED, REJECTED)
PENDING, APPROVED, REJECTED, DELETED Optional comment or note about the network
List of associated documents
Show child attributes
Show child attributes
Timestamp when the network was created
Timestamp of the last modification
Associated protection profile
Show child attributes
Show child attributes
{
"id": 42,
"name": "Standard DDoS Protection"
}
Whether the network protection is currently active
Whether the network is currently being processed
Whether the network is in an error state
Was this page helpful?