Delete a security group
curl --request DELETE \
--url https://api.aion.xyz/api/v1/accounts/{accountId}/projects/{projectId}/security-groups/{securityGroupId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.aion.xyz/api/v1/accounts/{accountId}/projects/{projectId}/security-groups/{securityGroupId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.aion.xyz/api/v1/accounts/{accountId}/projects/{projectId}/security-groups/{securityGroupId}', 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.aion.xyz/api/v1/accounts/{accountId}/projects/{projectId}/security-groups/{securityGroupId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
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://api.aion.xyz/api/v1/accounts/{accountId}/projects/{projectId}/security-groups/{securityGroupId}"
req, _ := http.NewRequest("DELETE", 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.delete("https://api.aion.xyz/api/v1/accounts/{accountId}/projects/{projectId}/security-groups/{securityGroupId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aion.xyz/api/v1/accounts/{accountId}/projects/{projectId}/security-groups/{securityGroupId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"success": true,
"message": "Security group deleted successfully"
}{
"error": "Validation failed: name is required",
"code": "BAD_REQUEST"
}{
"error": "account_id mismatch between header and path",
"code": "UNAUTHORIZED"
}{
"error": "Security group not found",
"code": "NOT_FOUND"
}{
"error": "<string>",
"code": "<string>",
"details": {}
}{
"error": "Internal server error",
"code": "INTERNAL_ERROR"
}Firewall
Delete a Security Groups
Deletes a security group and all its associated rules.
Note: A security group cannot be deleted if it is currently attached to any resources.
DELETE
/
api
/
v1
/
accounts
/
{accountId}
/
projects
/
{projectId}
/
security-groups
/
{securityGroupId}
Delete a security group
curl --request DELETE \
--url https://api.aion.xyz/api/v1/accounts/{accountId}/projects/{projectId}/security-groups/{securityGroupId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.aion.xyz/api/v1/accounts/{accountId}/projects/{projectId}/security-groups/{securityGroupId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.aion.xyz/api/v1/accounts/{accountId}/projects/{projectId}/security-groups/{securityGroupId}', 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.aion.xyz/api/v1/accounts/{accountId}/projects/{projectId}/security-groups/{securityGroupId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
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://api.aion.xyz/api/v1/accounts/{accountId}/projects/{projectId}/security-groups/{securityGroupId}"
req, _ := http.NewRequest("DELETE", 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.delete("https://api.aion.xyz/api/v1/accounts/{accountId}/projects/{projectId}/security-groups/{securityGroupId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aion.xyz/api/v1/accounts/{accountId}/projects/{projectId}/security-groups/{securityGroupId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"success": true,
"message": "Security group deleted successfully"
}{
"error": "Validation failed: name is required",
"code": "BAD_REQUEST"
}{
"error": "account_id mismatch between header and path",
"code": "UNAUTHORIZED"
}{
"error": "Security group not found",
"code": "NOT_FOUND"
}{
"error": "<string>",
"code": "<string>",
"details": {}
}{
"error": "Internal server error",
"code": "INTERNAL_ERROR"
}Authorizations
JWT token from authentication service
Headers
Account ID from authentication (must match path accountId)
User ID performing the action
Unique request ID for tracing
Path Parameters
Account external ID
Pattern:
^acct-[a-zA-Z0-9]+-v1$Project external ID
Pattern:
^proj-[a-zA-Z0-9]+-v1$Security group external ID
Pattern:
^sg-[a-zA-Z0-9]+-v1$⌘I
