Skip to content

Update group

PATCH/firewall-groups/{groupId}

Firewall Management API · Firewall Groups

Change firewall group name. You can also assign firewalls to group. Or remove firewalls from a group.

Required permissionfwcm.firewall.group:write

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

namestring
New group name.
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.
unassignFirewallsarray of string (uuid)
IDs for the firewalls you're removing from group.
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)required
Group ID.
namestringrequired
Group name.
Must be 3–40 characters long.
parentGroupobject
Group ID.
Show child attributesHide child attributes
idstring (uuid)required
Group ID.
namestring
Group name.
Must be 1–250 characters long.
tenantobjectrequired
Tenant ID.
Show child attributesHide child attributes
idstring (uuid)required
Tenant ID.
lockedByManagingAccountbooleanrequired
Shows if the group is locked by managing account.
firewallsobjectrequired
Associated firewall IDs.
Show child attributesHide child attributes
totalintegerrequired
Number of firewalls in this firewall group.
itemsCountintegerrequired
Number of list items.
itemsarray of objectrequired
Items must be unique.
Firewall ID.
Show child attributesHide child attributes
idstring (uuid)required
Firewall ID.
configImportobject
Firewall group configuration import status.
Show child attributesHide child attributes
sourceFirewallobjectrequired
Firewall ID.
Show child attributesHide child attributes
idstring (uuid)required
Firewall ID.
percentCompleteintegerrequired
Group creation progress (percentage).
Must be ≥ 0 and ≤ 100.
statusstring (enum)required
Configuration import status.
Must be one of: success, initializing, initializingFailed, initializingFailedExport, uploaded, uploadFailed, downloadFailed, processing, failed.
errorsarray of object
Configuration import errors.
Show child attributesHide child attributes
entityNamestring (string)required
subEntityNamestring (string)
messagesarray of objectrequired
Error messages.
Show child attributesHide child attributes
codestring
Error code.
messagestring
Error message.
createdByobjectrequired
Show child attributesHide child attributes
idstring
Principal email or client ID.
typestring (enum)
Principal type.
Must be one of: user, service.
namestring
User principal name.
accountTypestringrequired
Account type.
Must be one of: partner, tenant.
accountIdstring (uuid)required
Account ID.
createdAtstring (date-time)required
updatedByobject
Show child attributesHide child attributes
idstring
Principal email or client ID.
typestring (enum)
Principal type.
Must be one of: user, service.
namestring
User principal name.
accountTypestringrequired
Account type.
Must be one of: partner, tenant.
accountIdstring (uuid)required
Account 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.