Update group¶
PATCH/
Firewall Management API · Firewall Groups
Change firewall group name. You can also assign firewalls to group. Or remove firewalls from a group.
Parameters¶
| Name | In | Type | Required | Description |
|---|---|---|---|---|
X-Tenant-ID | header | string (uuid) | Yes | Tenant ID. |
groupId | path | string (uuid) | Yes | Firewall group ID. |
Request body¶
Content type: application/json
Request body fields
namestringNew group name.
Must be 3–40 characters long.
Must be 3–40 characters long.
assignFirewallsarray of string (uuid)IDs for the firewalls you're adding to the group.
Each item must be at least 1 character long.
Each item must be at least 1 character long.
unassignFirewallsarray of string (uuid)IDs for the firewalls you're removing from group.
Each item must be at least 1 character long.
Each item must be at least 1 character long.
Request samples¶
curl -X PATCH "https://api-<data-region>.central.sophos.com/firewall/v1/firewall-groups/<groupId>" -H "Authorization: Bearer <access-token>" -H "X-Tenant-ID: <tenant-id>" -H "Content-Type: application/json" -d "{
\"name\": \"New auto-scale group\"
}"
import requests
response = requests.patch(
"https://api-<data-region>.central.sophos.com/firewall/v1/firewall-groups/<groupId>",
headers={
"Authorization": "Bearer <access-token>",
"X-Tenant-ID": "<tenant-id>",
"Content-Type": "application/json",
},
json={'name': 'New auto-scale group'},
)
print(response.json())
$headers = @{
"Authorization" = "Bearer <access-token>"
"X-Tenant-ID" = "<tenant-id>"
"Content-Type" = "application/json"
}
$body = '{
"name": "New auto-scale group"
}'
Invoke-RestMethod -Method PATCH -Uri "https://api-<data-region>.central.sophos.com/firewall/v1/firewall-groups/<groupId>" -Headers $headers -Body $body -ContentType "application/json"
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
req, err := http.NewRequest("PATCH", "https://api-<data-region>.central.sophos.com/firewall/v1/firewall-groups/<groupId>", strings.NewReader(`{
"name": "New auto-scale group"
}`))
if err != nil {
panic(err)
}
req.Header.Set("Authorization", "Bearer <access-token>")
req.Header.Set("X-Tenant-ID", "<tenant-id>")
req.Header.Set("Content-Type", "application/json")
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}
const response = await fetch("https://api-<data-region>.central.sophos.com/firewall/v1/firewall-groups/<groupId>", {
method: "PATCH",
headers: {
"Authorization": "Bearer <access-token>",
"X-Tenant-ID": "<tenant-id>",
"Content-Type": "application/json",
},
body: JSON.stringify({
"name": "New auto-scale group"
}),
});
const data = await response.json();
console.log(data);
Responses¶
200 — Group updated successfully.¶
Response fields
idstring (uuid)requiredGroup ID.
namestringrequiredGroup name.
Must be 3–40 characters long.
Must be 3–40 characters long.
parentGroupobjectGroup ID.
Show child attributesHide child attributes
idstring (uuid)requiredGroup ID.
namestringGroup name.
Must be 1–250 characters long.
Must be 1–250 characters long.
tenantobjectrequiredTenant ID.
Show child attributesHide child attributes
idstring (uuid)requiredTenant ID.
lockedByManagingAccountbooleanrequiredShows if the group is locked by managing account.
firewallsobjectrequiredAssociated firewall IDs.
Show child attributesHide child attributes
totalintegerrequiredNumber of firewalls in this firewall group.
itemsCountintegerrequiredNumber of list items.
itemsarray of objectrequiredItems must be unique.
Firewall ID.
Show child attributesHide child attributes
idstring (uuid)requiredFirewall ID.
configImportobjectFirewall group configuration import status.
Show child attributesHide child attributes
sourceFirewallobjectrequiredFirewall ID.
Show child attributesHide child attributes
idstring (uuid)requiredFirewall ID.
percentCompleteintegerrequiredGroup creation progress (percentage).
Must be ≥ 0 and ≤ 100.
Must be ≥ 0 and ≤ 100.
statusstring (enum)requiredConfiguration import status.
Must be one of:
Must be one of:
success, initializing, initializingFailed, initializingFailedExport, uploaded, uploadFailed, downloadFailed, processing, failed.errorsarray of objectConfiguration import errors.
Show child attributesHide child attributes
entityNamestring (string)requiredsubEntityNamestring (string)messagesarray of objectrequiredError messages.
Show child attributesHide child attributes
codestringError code.
messagestringError message.
createdByobjectrequiredShow child attributesHide child attributes
idstringPrincipal email or client ID.
typestring (enum)Principal type.
Must be one of:
Must be one of:
user, service.namestringUser principal name.
accountTypestringrequiredAccount type.
Must be one of:
Must be one of:
partner, tenant.accountIdstring (uuid)requiredAccount ID.
createdAtstring (date-time)requiredupdatedByobjectShow child attributesHide child attributes
idstringPrincipal email or client ID.
typestring (enum)Principal type.
Must be one of:
Must be one of:
user, service.namestringUser principal name.
accountTypestringrequiredAccount type.
Must be one of:
Must be one of:
partner, tenant.accountIdstring (uuid)requiredAccount ID.
updatedAtstring (date-time)Errors¶
| Status | Meaning |
|---|---|
400 | Bad request. |
401 | Authentication required. |
403 | Authorization required. |
404 | Resource not found. |
500 | Unexpected error. |
All error responses share the same shape — see the error response object.
Response examples¶
200¶
{
"id": "4f0ed382-ce28-4a9a-8a3d-f3d577ca7e72",
"name": "UK Office",
"parentGroup": {
"id": "b88df1aa-1fc2-472b-983d-d77f5c96e525"
},
"tenant": {
"id": "3e382b8e-49fd-4cd9-8360-a364371d7650"
},
"lockedByManagingAccount": false,
"firewalls": {
"total": 10,
"itemsCount": 5,
"items": [
{
"id": "df1f8ccf-1223-46ed-9042-6672a8326b8c"
},
{
"id": "97483e58-55d7-44fb-b03f-9422f106ef66"
},
{
"id": "7e5605c1-da16-4995-9679-767a8b79328d"
},
{
"id": "8e5605c1-da16-4995-9679-767a8b79328d"
},
{
"id": "4e5605c1-da16-4995-9679-767a8b79328d"
}
]
},
"configImport": {
"sourceFirewall": {
"id": "902967e4-3df9-4dd0-8e23-1c917802b44c"
},
"percentComplete": 100,
"status": "success",
"errors": []
},
"createdBy": {
"id": "97483e58-55d7-44fb-b03f-9422f106ef66",
"type": "user",
"name": "example",
"accountId": "97483e58-55d7-44fb-b03f-9422f106ef66",
"accountType": "customer"
},
"createdAt": "2022-03-30T05:43:59.492Z",
"updatedBy": {
"id": "97483e58-55d7-44fb-b03f-9422f106ef66",
"type": "user",
"name": "example",
"accountId": "97483e58-55d7-44fb-b03f-9422f106ef66",
"accountType": "customer"
},
"updatedAt": "2022-03-30T05:43:59.492Z"
}
See the guide for a narrative walkthrough of this API.