Update an API path
curl --request PATCH \
--url https://api.gcore.com/waap/v1/domains/{domain_id}/api-paths/{path_id} \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"path": "/api/v1/paths/{path_id}",
"tags": [
"sensitivedataurl",
"highriskurl"
],
"api_groups": [
"accounts",
"internal"
]
}
'import requests
url = "https://api.gcore.com/waap/v1/domains/{domain_id}/api-paths/{path_id}"
payload = {
"path": "/api/v1/paths/{path_id}",
"tags": ["sensitivedataurl", "highriskurl"],
"api_groups": ["accounts", "internal"]
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
path: '/api/v1/paths/{path_id}',
tags: ['sensitivedataurl', 'highriskurl'],
api_groups: ['accounts', 'internal']
})
};
fetch('https://api.gcore.com/waap/v1/domains/{domain_id}/api-paths/{path_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/waap/v1/domains/{domain_id}/api-paths/{path_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'path' => '/api/v1/paths/{path_id}',
'tags' => [
'sensitivedataurl',
'highriskurl'
],
'api_groups' => [
'accounts',
'internal'
]
]),
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/waap/v1/domains/{domain_id}/api-paths/{path_id}"
payload := strings.NewReader("{\n \"path\": \"/api/v1/paths/{path_id}\",\n \"tags\": [\n \"sensitivedataurl\",\n \"highriskurl\"\n ],\n \"api_groups\": [\n \"accounts\",\n \"internal\"\n ]\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://api.gcore.com/waap/v1/domains/{domain_id}/api-paths/{path_id}")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"path\": \"/api/v1/paths/{path_id}\",\n \"tags\": [\n \"sensitivedataurl\",\n \"highriskurl\"\n ],\n \"api_groups\": [\n \"accounts\",\n \"internal\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gcore.com/waap/v1/domains/{domain_id}/api-paths/{path_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"path\": \"/api/v1/paths/{path_id}\",\n \"tags\": [\n \"sensitivedataurl\",\n \"highriskurl\"\n ],\n \"api_groups\": [\n \"accounts\",\n \"internal\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"type": "http-bad-request",
"title": "Bad Request",
"status": 400,
"detail": "Invalid domain name: ''''"
}{
"title": "Feature check fail",
"type": "feature-check",
"status": 401,
"detail": "This feature is not available under your current plan. Please upgrade your plan to access this feature."
}{
"detail": "Permission denied"
}{
"title": "Resource not found",
"type": "quota-check-no-resource",
"status": 404,
"detail": "The quota resource requested does not exist. Cannot enable WAAP for this domain. Please reach out to our support team."
}{
"type": "request-validation-failed",
"title": "Request validation error.",
"status": 422,
"detail": "One or more fields have validation errors.",
"errors": [
{
"loc": [
"body",
"name"
],
"detail": "Input should be a valid string"
},
{
"loc": [
"body",
"date"
],
"detail": "Field required"
},
{
"loc": [
"query",
"limit"
],
"detail": "Field required"
}
]
}{
"type": "internal-server-error",
"title": "Internal server error.",
"status": 500,
"detail": "An unexpected condition was encountered which prevented the server from fulfilling the request."
}API Discovery
Update an API path
Update a specific API path for a domain
PATCH
/
waap
/
v1
/
domains
/
{domain_id}
/
api-paths
/
{path_id}
Update an API path
curl --request PATCH \
--url https://api.gcore.com/waap/v1/domains/{domain_id}/api-paths/{path_id} \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"path": "/api/v1/paths/{path_id}",
"tags": [
"sensitivedataurl",
"highriskurl"
],
"api_groups": [
"accounts",
"internal"
]
}
'import requests
url = "https://api.gcore.com/waap/v1/domains/{domain_id}/api-paths/{path_id}"
payload = {
"path": "/api/v1/paths/{path_id}",
"tags": ["sensitivedataurl", "highriskurl"],
"api_groups": ["accounts", "internal"]
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
path: '/api/v1/paths/{path_id}',
tags: ['sensitivedataurl', 'highriskurl'],
api_groups: ['accounts', 'internal']
})
};
fetch('https://api.gcore.com/waap/v1/domains/{domain_id}/api-paths/{path_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/waap/v1/domains/{domain_id}/api-paths/{path_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'path' => '/api/v1/paths/{path_id}',
'tags' => [
'sensitivedataurl',
'highriskurl'
],
'api_groups' => [
'accounts',
'internal'
]
]),
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/waap/v1/domains/{domain_id}/api-paths/{path_id}"
payload := strings.NewReader("{\n \"path\": \"/api/v1/paths/{path_id}\",\n \"tags\": [\n \"sensitivedataurl\",\n \"highriskurl\"\n ],\n \"api_groups\": [\n \"accounts\",\n \"internal\"\n ]\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://api.gcore.com/waap/v1/domains/{domain_id}/api-paths/{path_id}")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"path\": \"/api/v1/paths/{path_id}\",\n \"tags\": [\n \"sensitivedataurl\",\n \"highriskurl\"\n ],\n \"api_groups\": [\n \"accounts\",\n \"internal\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gcore.com/waap/v1/domains/{domain_id}/api-paths/{path_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"path\": \"/api/v1/paths/{path_id}\",\n \"tags\": [\n \"sensitivedataurl\",\n \"highriskurl\"\n ],\n \"api_groups\": [\n \"accounts\",\n \"internal\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"type": "http-bad-request",
"title": "Bad Request",
"status": 400,
"detail": "Invalid domain name: ''''"
}{
"title": "Feature check fail",
"type": "feature-check",
"status": 401,
"detail": "This feature is not available under your current plan. Please upgrade your plan to access this feature."
}{
"detail": "Permission denied"
}{
"title": "Resource not found",
"type": "quota-check-no-resource",
"status": 404,
"detail": "The quota resource requested does not exist. Cannot enable WAAP for this domain. Please reach out to our support team."
}{
"type": "request-validation-failed",
"title": "Request validation error.",
"status": 422,
"detail": "One or more fields have validation errors.",
"errors": [
{
"loc": [
"body",
"name"
],
"detail": "Input should be a valid string"
},
{
"loc": [
"body",
"date"
],
"detail": "Field required"
},
{
"loc": [
"query",
"limit"
],
"detail": "Field required"
}
]
}{
"type": "internal-server-error",
"title": "Internal server error.",
"status": 500,
"detail": "An unexpected condition was encountered which prevented the server from fulfilling the request."
}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
Body
application/json
Request model for updating an API path
The updated API path. When updating the path, variables can be renamed, path parts can be converted to variables and vice versa.
Maximum string length:
1024Example:
"/api/v1/paths/{path_id}"
Maximum array length:
5A user defined tag. Tags must start with a letter and can contain only letters, numbers and spaces.
Maximum string length:
50Pattern:
^[a-zA-Z]+[ a-zA-Z0-9]*$Example:
["sensitivedataurl", "highriskurl"]
Example:
["accounts", "internal"]
The different statuses an API path can have
Available options:
CONFIRMED_API, POTENTIAL_API, NOT_API, DELISTED_API Response
Successful Response
Was this page helpful?
⌘I