CentralCSP
APIAlerts

Update an alert rule

Changes a rule's name, cooldown, settings, channels, or enabled state. Sending channelIds replaces the whole set. The event type cannot be changed; create another rule instead.

Requires the manager role on the website and the alerting plan feature.

PATCH
/v1/workspaces/{workspaceId}/websites/{websiteId}/alerts/rules/{ruleId}

Authorization

headerAuthorizationBearer <JWT>

An OpenID Connect access token from signing in to CentralCSP, acting as the signed-in user.

Path Parameters

workspaceId*string

The workspace's id.

websiteId*string

The website's id.

ruleId*string

The alert rule's id.

Request Body

application/json
  1. body
name?string

New display name.

Length1 <= length <= 255
cooldownSeconds?|

How long to collect findings before sending, in seconds, up to 24 hours. Everything found in that time arrives as one notification. Defaults to 900.

Range0 <= value <= 86400
config?|

Replace the rule's settings, or send null to go back to the defaults. Per-rule settings, shaped by the event type: spike thresholds for a *:spike rule, a minimum severity for sbom:new-cve, the watched statuses for sbom:version-status. Rejected on any other type.

channelIds?array<string>

Ids of the channels to notify, all from this website. An empty list notifies nobody.

Itemsitems <= 20
enabled?boolean

Turn the rule on or off.

Response Body

What a website notifies about.

application/json
  1. response
id*string

The rule's id.

workspaceId*string

The workspace's id.

websiteId*string

The website's id.

name*string

Display name.

eventType*AlertEventType

What to notify about.

  • csp-violation:new-type: a new CSP directive and blocked origin pair appears in the reports.
  • csp-hash:new-script-origin: a script loads from a new origin.
  • network-error:new-failing-origin: a new origin starts failing network requests.
  • coop:new-violation, coep:new-violation: a new COOP or COEP violation type appears.
  • permissions-policy:new-violation: a new Permissions Policy violation appears.
  • deprecation:new-api: a deprecated API is reported for the first time.
  • intervention:new-type: a browser intervention is reported for the first time.
  • connection-allowlist:new-blocked-origin: a new blocked connection origin appears.
  • compliance:new-script: a script never seen before runs on a payment page and no reviewer or inventory rule has justified it yet.
  • compliance:script-changed: a payment-page script serves different content and no reviewer or inventory rule has justified the new content yet.
  • csp-violation:spike, integrity-violation:spike, network-error:spike, crash:spike: an hour's report count reaches at least 50 and 3 times the hourly average of the previous 24 hours. Both thresholds are adjustable with config.
  • sbom:new-cve: a technology on the website gains a known vulnerability at or above the rule's minimum severity.
  • sbom:version-status: a technology is detected with, or moves to, one of the rule's statuses.
  • sbom:new-technology: the website starts loading a technology, or a version of one, it did not load before.
Value in"csp-violation:new-type""csp-violation:spike""csp-hash:new-script-origin""integrity-violation:spike""compliance:new-script""compliance:script-changed""network-error:new-failing-origin""network-error:spike""crash:spike""coop:new-violation""coep:new-violation""permissions-policy:new-violation""deprecation:new-api""intervention:new-type""connection-allowlist:new-blocked-origin""sbom:new-cve""sbom:version-status""sbom:new-technology"
cooldownSeconds*|

How long findings are collected before a notification is sent, in seconds.

config*|

Per-rule settings, shaped by the event type: spike thresholds for a *:spike rule, a minimum severity for sbom:new-cve, the watched statuses for sbom:version-status. null when the rule uses the defaults or its type has no settings.

enabled*boolean

A disabled rule sends nothing.

channelIds*array<string>

Ids of the channels this rule notifies.

createdAt*string

When the rule was created.

Formatdate-time
updatedAt*string

When the rule was last changed.

Formatdate-time
Example Request
curl -X PATCH 'https://api.centralcsp.com/v1/workspaces/01936b7a-6f2e-7c31-9a4d-2f8e1c5b7d90/websites/01936b7a-6f2e-7c31-9a4d-2f8e1c5b7d90/alerts/rules/01936b7a-6f2e-7c31-9a4d-2f8e1c5b7d90' \  -H 'Content-Type: application/json' \  -d '{}'
Example Response
{  "id": "string",  "workspaceId": "string",  "websiteId": "string",  "name": "New third-party script",  "eventType": "csp-violation:new-type",  "cooldownSeconds": 0,  "config": {    "multiplier": 3,    "floor": 50,    "minSeverity": "medium",    "statuses": [      "deprecated"    ]  },  "enabled": true,  "channelIds": [    "string"  ],  "createdAt": "2019-08-24T14:15:22Z",  "updatedAt": "2019-08-24T14:15:22Z"}