Get site lists¶
GET/
Web Filtering API · Web Filter Site List Management
Fetch web filter site lists.
Parameters¶
| Name | In | Type | Required | Description |
|---|---|---|---|---|
X-Tenant-ID | header | string (uuid) | Yes | Tenant ID. |
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. |
search | query | string | No | Filter site lists for any lists whose name contains the term, or that include at least one site that contains the term. Matching is case-insensitive. Returns site lists whose name contains the term, or that include at least one site containing the term. Must be 3–100 characters long. |
Request samples¶
curl -X GET "https://api-<data-region>.central.sophos.com/web-filters/v1/site-lists" -H "Authorization: Bearer <access-token>" -H "X-Tenant-ID: <tenant-id>"
import requests
response = requests.get(
"https://api-<data-region>.central.sophos.com/web-filters/v1/site-lists",
headers={
"Authorization": "Bearer <access-token>",
"X-Tenant-ID": "<tenant-id>",
},
)
print(response.json())
$headers = @{
"Authorization" = "Bearer <access-token>"
"X-Tenant-ID" = "<tenant-id>"
}
Invoke-RestMethod -Method GET -Uri "https://api-<data-region>.central.sophos.com/web-filters/v1/site-lists" -Headers $headers
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, err := http.NewRequest("GET", "https://api-<data-region>.central.sophos.com/web-filters/v1/site-lists", nil)
if err != nil {
panic(err)
}
req.Header.Set("Authorization", "Bearer <access-token>")
req.Header.Set("X-Tenant-ID", "<tenant-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-<data-region>.central.sophos.com/web-filters/v1/site-lists", {
method: "GET",
headers: {
"Authorization": "Bearer <access-token>",
"X-Tenant-ID": "<tenant-id>",
},
});
const data = await response.json();
console.log(data);
Responses¶
200 — Success.¶
Response fields
itemsarray of objectrequiredThe list of web filter site lists.
A web filter site list summary.
Show child attributesHide child attributes
idstring (uuid)requiredSite list ID.
namestringrequiredSite list name.
Must be 1–50 characters long.
Must be 1–50 characters long.
descriptionstringSite list description.
Must be at most 250 characters long.
Must be at most 250 characters long.
numberOfSitesintegerrequiredNumber of sites in the site list.
updatedAtstring (date-time)Time the site list was last updated.
updatedByobjectShow child attributesHide child attributes
idstringrequiredPrincipal ID.
typestring (enum)requiredType of the Principal.
Must be one of:
Must be one of:
user, service, system.namestringPrincipal name.
accountTypestringAccount type.
Must be one of:
Must be one of:
partner, tenant, organization.accountIdstring (uuid)Account ID.
usedByarray of objectWeb filtering profiles that reference this site list via their site list actions.
A reference to a web filtering profile.
Show child attributesHide child attributes
idstring (uuid)requiredWeb filtering profile ID.
namestringrequiredWeb filtering profile name.
Must be at most 50 characters long.
Must be at most 50 characters long.
pagesobjectrequiredShow child attributesHide child attributes
currentintegerrequiredThe 1-based page number being returned.
sizeintegerrequiredThe 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.
maxSizeintegerrequiredThe maximum page size that can be requested.
Errors¶
| Status | Meaning |
|---|---|
400 | Invalid request. |
404 | Resource not found. |
500 | Unexpected error. |
All error responses share the same shape — see the error response object.
Response examples¶
200¶
{
"items": [
{
"id": "00000000-0000-0000-0000-000000000000",
"name": "string",
"description": "string",
"numberOfSites": 0,
"updatedAt": "2026-07-28T00:00:00Z",
"updatedBy": {
"id": "string",
"type": "user",
"name": "string",
"accountType": "partner",
"accountId": "00000000-0000-0000-0000-000000000000"
},
"usedBy": [
{
"id": "00000000-0000-0000-0000-000000000000",
"name": "string"
}
]
}
],
"pages": {
"current": 0,
"size": 0,
"total": 0,
"items": 0,
"maxSize": 0
}
}