Skip to content

Update setting

PATCH/policies/{policyType}/base/settings/{settingKey}

Endpoint API · Policy Management

Update a setting in the base policy.

Required permissionendpoint-policy:update

Parameters

Name In Type Required Description
X-Tenant-ID header string (uuid) Yes Tenant ID.
policyType path string Yes Policy type.
Must be one of: threat-protection, peripheral-control, application-control, data-collection-and-investigation, device-encryption, web-control, agent-updating, windows-firewall, endpoint-dns-protection, server-threat-protection, server-peripheral-control, server-application-control, server-web-control, server-lockdown, server-agent-updating, server-windows-firewall, server-file-integrity-monitoring, server-linux-runtime-detection, server-data-collection-and-investigation.
settingKey path string Yes Setting key.
Must match the pattern ^[-a-z0-9.]+$.

Request body

Content type: application/json

Request body fields

commentstring
User comment explaining why this setting value was chosen.
Must be at most 100 characters long.

Request samples

curl -X PATCH "https://api-<data-region>.central.sophos.com/endpoint/v1/policies/threat-protection/base/settings/<settingKey>" -H "Authorization: Bearer <access-token>" -H "X-Tenant-ID: <tenant-id>" -H "Content-Type: application/json" -d "{
  \"value\": true
}"

import requests

response = requests.patch(
    "https://api-<data-region>.central.sophos.com/endpoint/v1/policies/threat-protection/base/settings/<settingKey>",
    headers={
        "Authorization": "Bearer <access-token>",
        "X-Tenant-ID": "<tenant-id>",
        "Content-Type": "application/json",
    },
    json={'value': True},
)
print(response.json())

$headers = @{
    "Authorization" = "Bearer <access-token>"
    "X-Tenant-ID" = "<tenant-id>"
    "Content-Type" = "application/json"
}
$body = '{
  "value": true
}'
Invoke-RestMethod -Method PATCH -Uri "https://api-<data-region>.central.sophos.com/endpoint/v1/policies/threat-protection/base/settings/<settingKey>" -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/policies/threat-protection/base/settings/<settingKey>", strings.NewReader(`{
  "value": true
}`))
    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/policies/threat-protection/base/settings/<settingKey>", {
  method: "PATCH",
  headers: {
    "Authorization": "Bearer <access-token>",
    "X-Tenant-ID": "<tenant-id>",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
  "value": true
}),
});
const data = await response.json();
console.log(data);

Responses

200 — Updated setting.

Response fields

commentstring
User comment explaining why this setting value was chosen.
Must be at most 100 characters long.

Errors

Status Meaning
404 Setting key not found.
409 Can't update base policies and policies locked by a managing account.
500 Unexpected error.

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

Response examples

200

{
  "comment": "string"
}

See the guide for a narrative walkthrough of this API.