Skip to content

Get firewalls

GET/licenses/firewalls

Licensing API · Licensing

Get firewalls claimed by tenant or managed by the partner.

Required permissionfirewall-license:read

Parameters

Name In Type Required Description
X-Tenant-ID header string (uuid) No The unique identifier (UUID) of the Tenant. Provide either this header or X-Partner-ID, but not both. Required when the request context belongs to a Tenant.
X-Partner-ID header string (uuid) No The unique identifier (UUID) of the Partner. Provide either this header or X-Tenant-ID, but not both. Required when the request context belongs to a Partner.
page query integer No The page number to fetch, starting with 1.
pageSize query integer No The size of the page requested.
pageTotal query boolean No Whether the number of pages should be calculated and returned in the response.
sort query string No Sort the list based on the column.
Must match the pattern (^[^:]+$)|(^[^:]+:(asc|desc)$).

Request samples

curl -X GET "https://api.central.sophos.com/licenses/v1/licenses/firewalls" -H "Authorization: Bearer <access-token>" -H "X-Tenant-ID: <tenant-id>" -H "X-Partner-ID: <partner-id>"

import requests

response = requests.get(
    "https://api.central.sophos.com/licenses/v1/licenses/firewalls",
    headers={
        "Authorization": "Bearer <access-token>",
        "X-Tenant-ID": "<tenant-id>",
        "X-Partner-ID": "<partner-id>",
    },
)
print(response.json())

$headers = @{
    "Authorization" = "Bearer <access-token>"
    "X-Tenant-ID" = "<tenant-id>"
    "X-Partner-ID" = "<partner-id>"
}
Invoke-RestMethod -Method GET -Uri "https://api.central.sophos.com/licenses/v1/licenses/firewalls" -Headers $headers

package main

import (
    "fmt"
    "io"
    "net/http"
)

func main() {
    req, err := http.NewRequest("GET", "https://api.central.sophos.com/licenses/v1/licenses/firewalls", nil)
    if err != nil {
        panic(err)
    }
    req.Header.Set("Authorization", "Bearer <access-token>")
    req.Header.Set("X-Tenant-ID", "<tenant-id>")
    req.Header.Set("X-Partner-ID", "<partner-id>")

    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.central.sophos.com/licenses/v1/licenses/firewalls", {
  method: "GET",
  headers: {
    "Authorization": "Bearer <access-token>",
    "X-Tenant-ID": "<tenant-id>",
    "X-Partner-ID": "<partner-id>",
  },
});
const data = await response.json();
console.log(data);

Responses

200 — Firewalls.

Response fields

itemsarray of objectrequired
List of firewalls.
Firewall object.
Show child attributesHide child attributes
serialNumberstringrequired
Firewall serial number.
ownerobjectrequired
License owner.
Show child attributesHide child attributes
idstring (uuid)required
Owner ID.
typestringrequired
Owner type.
Must be one of: partner, organization.
organizationobject
Tenant's organization.
Show child attributesHide child attributes
idstring (uuid)required
Organization ID.
partnerobject
Tenant's partner.
Show child attributesHide child attributes
idstring (uuid)required
Partner ID.
tenantobject
Linked tenant.
Show child attributesHide child attributes
idstring (uuid)required
Tenant ID.
billingTenantobject
Linked tenant.
Show child attributesHide child attributes
idstring (uuid)required
Tenant ID.
modelstringrequired
Firewall model.
modelTypestringrequired
Firewall model type.
Must be one of: virtual, hardware.
lastSeenAtstring
Date and time the firewall last checked for licenses.
Must match the pattern date-time.
licensesarray of objectrequired
License object.
Show child attributesHide child attributes
idstringrequired
License ID.
licenseIdentifierstringrequired
License identifier.
productobjectrequired
Licensed product.
Show child attributesHide child attributes
codestringrequired
Product code.
namestring
Product name.
genericCodestring
Generic product code.
startDatestring (date)required
License start date. The license is valid from the start of the day in the UTC timezone.
endDatestring (date)
License end date. The license is valid until the end of the day in the UTC timezone. Not present for perpetual licenses.
perpetualbooleanrequired
Whether the license is perpetual or not.
typestringrequired
License type.
Must be one of: trial, term, usage, ordered, enterprise, perpetual.
quantityinteger
Assigned quantity.
unlimitedbooleanrequired
True if quantity is missing.
usageobject
License usage records.
Show child attributesHide child attributes
currentobjectrequired
License usage count for a specific date.
Show child attributesHide child attributes
countintegerrequired
License usage count.
datestring (date)required
License usage date.
collectedAtstring (date-time)required
Date and time when the usage was collected.
pagesobjectrequired
Show child attributesHide child attributes
currentintegerrequired
The 1-based page number being returned.
sizeintegerrequired
The size of the page being returned.
totalinteger
(Optional) The total number of pages that exist, if pageTotal=true in the request.
itemsinteger
(Optional) The total number of items across all pages.
maxSizeintegerrequired
The maximum page size that can be requested.

Errors

Status Meaning
500 Unexpected error.

All error responses share the same shape — see the error response object.

Response examples

200

{
  "items": [
    {
      "serialNumber": "string",
      "owner": {
        "id": "00000000-0000-0000-0000-000000000000",
        "type": "partner"
      },
      "organization": {
        "id": "00000000-0000-0000-0000-000000000000"
      },
      "partner": {
        "id": "00000000-0000-0000-0000-000000000000"
      },
      "tenant": {
        "id": "00000000-0000-0000-0000-000000000000"
      },
      "billingTenant": {
        "id": "00000000-0000-0000-0000-000000000000"
      },
      "model": "string",
      "modelType": "virtual",
      "lastSeenAt": "string",
      "licenses": [
        {
          "id": "string",
          "licenseIdentifier": "string",
          "product": {
            "code": "string",
            "name": "string",
            "genericCode": "string"
          },
          "startDate": "2026-07-28",
          "endDate": "2026-07-28",
          "perpetual": true,
          "type": "trial",
          "quantity": 0,
          "unlimited": true,
          "usage": {
            "current": {
              "count": 0,
              "date": "2026-07-28",
              "collectedAt": "2026-07-28T00:00:00Z"
            }
          }
        }
      ]
    }
  ],
  "pages": {
    "current": 0,
    "size": 0,
    "total": 0,
    "items": 0,
    "maxSize": 0
  }
}

See the guide for a narrative walkthrough of this API.