Skip to content

Get site lists

GET/site-lists

Web Filtering API · Web Filter Site List Management

Fetch web filter site lists.

Required permissionweb-profiles:read

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 objectrequired
The list of web filter site lists.
A web filter site list summary.
Show child attributesHide child attributes
idstring (uuid)required
Site list ID.
namestringrequired
Site list name.
Must be 1–50 characters long.
descriptionstring
Site list description.
Must be at most 250 characters long.
numberOfSitesintegerrequired
Number of sites in the site list.
updatedAtstring (date-time)
Time the site list was last updated.
updatedByobject
Show child attributesHide child attributes
idstringrequired
Principal ID.
typestring (enum)required
Type of the Principal.
Must be one of: user, service, system.
namestring
Principal name.
accountTypestring
Account type.
Must be one of: partner, tenant, organization.
accountIdstring (uuid)
Account ID.
usedByarray of object
Web 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)required
Web filtering profile ID.
namestringrequired
Web filtering profile name.
Must be at most 50 characters long.
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
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
  }
}