Skip to content

Update a local site

PATCH/settings/web-control/local-sites/{localSiteId}

Endpoint API · Web Control

Update a local site definition.

Required permissionendpoint-state:update

Parameters

Name In Type Required Description
X-Tenant-ID header string (uuid) Yes Tenant ID.
localSiteId path string (uuid) Yes Local site ID.

Request body

Content type: application/json

Request body fields

categoryIdinteger
Category ID associated with this local site. Either categoryId or tags must be provided.
Must be ≥ 1 and ≤ 57.
tagsarray of string
Array of tags associated with this local site setting. Either categoryId or tags must be provided.
Each item must be 1–50 characters long.
urlstring
Must be 1–2048 characters long.
commentstring
Must be at most 300 characters long.

Request samples

curl -X PATCH "https://api-<data-region>.central.sophos.com/endpoint/v1/settings/web-control/local-sites/<localSiteId>" -H "Authorization: Bearer <access-token>" -H "X-Tenant-ID: <tenant-id>" -H "Content-Type: application/json" -d "{
  \"categoryId\": 50,
  \"url\": \"https://www.example.com\",
  \"comment\": \"Reason for LocalSitePatch Request\"
}"

import requests

response = requests.patch(
    "https://api-<data-region>.central.sophos.com/endpoint/v1/settings/web-control/local-sites/<localSiteId>",
    headers={
        "Authorization": "Bearer <access-token>",
        "X-Tenant-ID": "<tenant-id>",
        "Content-Type": "application/json",
    },
    json={   'categoryId': 50,
    'url': 'https://www.example.com',
    'comment': 'Reason for LocalSitePatch Request'},
)
print(response.json())

$headers = @{
    "Authorization" = "Bearer <access-token>"
    "X-Tenant-ID" = "<tenant-id>"
    "Content-Type" = "application/json"
}
$body = '{
  "categoryId": 50,
  "url": "https://www.example.com",
  "comment": "Reason for LocalSitePatch Request"
}'
Invoke-RestMethod -Method PATCH -Uri "https://api-<data-region>.central.sophos.com/endpoint/v1/settings/web-control/local-sites/<localSiteId>" -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/endpoint/v1/settings/web-control/local-sites/<localSiteId>", strings.NewReader(`{
  "categoryId": 50,
  "url": "https://www.example.com",
  "comment": "Reason for LocalSitePatch Request"
}`))
    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/endpoint/v1/settings/web-control/local-sites/<localSiteId>", {
  method: "PATCH",
  headers: {
    "Authorization": "Bearer <access-token>",
    "X-Tenant-ID": "<tenant-id>",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
  "categoryId": 50,
  "url": "https://www.example.com",
  "comment": "Reason for LocalSitePatch Request"
}),
});
const data = await response.json();
console.log(data);

Responses

200 — Local site updated.

Response fields

idstring (uuid)required
Local site ID.
categoryIdinteger
Local site category ID.
Must be ≥ 1 and ≤ 57.
tagsarray of string
Tags associated with this local site.
urlstringrequired
Local site URL.
commentstring
Comment indicating why the local site was added.
Must be at most 300 characters long.

Errors

Status Meaning
404 Can't find local site.
500 Unexpected error.

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

Response examples

200

{
  "id": "00000000-0000-0000-0000-000000000000",
  "categoryId": 0,
  "tags": [
    "string"
  ],
  "url": "string",
  "comment": "string"
}

See the guide for a narrative walkthrough of this API.