Upgrade firewall¶
POST/
Firewall Management API · Firewalls
Upgrade firewalls.
Parameters¶
| Name | In | Type | Required | Description |
|---|---|---|---|---|
X-Tenant-ID | header | string (uuid) | Yes | Tenant ID. |
Request body¶
Content type: application/json
Request body fields
firewallsarray of objectrequiredItems must be unique.
Upgrade information for firewall.
Show child attributesHide child attributes
idstring (uuid)requiredFirewall ID.
upgradeToVersionstring (string)Version of the firewall to you want to upgrade to.
upgradeAtstring (date-time)Schedule time in "yyyy-MM-dd'T'HH
ss.SSS'Z'". If not present, considered to be schedule now.
Request samples¶
curl -X POST "https://api-<data-region>.central.sophos.com/firewall/v1/firewalls/actions/firmware-upgrade" -H "Authorization: Bearer <access-token>" -H "X-Tenant-ID: <tenant-id>" -H "Content-Type: application/json" -d "{
\"firewalls\": [
{
\"id\": \"00000000-0000-0000-0000-000000000000\",
\"upgradeToVersion\": \"string\",
\"upgradeAt\": \"2026-07-28T00:00:00Z\"
}
]
}"
import requests
response = requests.post(
"https://api-<data-region>.central.sophos.com/firewall/v1/firewalls/actions/firmware-upgrade",
headers={
"Authorization": "Bearer <access-token>",
"X-Tenant-ID": "<tenant-id>",
"Content-Type": "application/json",
},
json={ 'firewalls': [ { 'id': '00000000-0000-0000-0000-000000000000',
'upgradeToVersion': 'string',
'upgradeAt': '2026-07-28T00:00:00Z'}]},
)
print(response.json())
$headers = @{
"Authorization" = "Bearer <access-token>"
"X-Tenant-ID" = "<tenant-id>"
"Content-Type" = "application/json"
}
$body = '{
"firewalls": [
{
"id": "00000000-0000-0000-0000-000000000000",
"upgradeToVersion": "string",
"upgradeAt": "2026-07-28T00:00:00Z"
}
]
}'
Invoke-RestMethod -Method POST -Uri "https://api-<data-region>.central.sophos.com/firewall/v1/firewalls/actions/firmware-upgrade" -Headers $headers -Body $body -ContentType "application/json"
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
req, err := http.NewRequest("POST", "https://api-<data-region>.central.sophos.com/firewall/v1/firewalls/actions/firmware-upgrade", strings.NewReader(`{
"firewalls": [
{
"id": "00000000-0000-0000-0000-000000000000",
"upgradeToVersion": "string",
"upgradeAt": "2026-07-28T00:00:00Z"
}
]
}`))
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/firewalls/actions/firmware-upgrade", {
method: "POST",
headers: {
"Authorization": "Bearer <access-token>",
"X-Tenant-ID": "<tenant-id>",
"Content-Type": "application/json",
},
body: JSON.stringify({
"firewalls": [
{
"id": "00000000-0000-0000-0000-000000000000",
"upgradeToVersion": "string",
"upgradeAt": "2026-07-28T00:00:00Z"
}
]
}),
});
const data = await response.json();
console.log(data);
Responses¶
201 — Firewall upgrade scheduled successfully.¶
Response fields
firewallsarray of objectItems must be unique.
Firewall firmware upgrade status.
Show child attributesHide child attributes
idstring (uuid)requiredFirewall ID.
statusstringrequiredFirewall upgrade status.
upgradeToVersionstring (string)Version of the firewall you want to upgrade to.
upgradedAtstring (date-time)Schedule time in "yyyy-MM-dd'T'HH
ss.SSS'Z'". If not present, considered to be schedule now.
Errors¶
| Status | Meaning |
|---|---|
400 | Invalid request. |
401 | Authentication required. |
403 | Authorization required. |
404 | Can't find firewall. |
500 | Unexpected error. |
All error responses share the same shape — see the error response object.
See the guide for a narrative walkthrough of this API.