---
title: Policies
---

[Skip to content](#%5Ftop) 

[API Reference](https://developers.cloudflare.com/api/typescript)

[Alerting](https://developers.cloudflare.com/api/typescript/resources/alerting)

Copy Markdown

Open in **Claude**

Open in **ChatGPT**

Open in **Cursor**

---

**Copy Markdown**

**View as Markdown**

# Policies

##### [List Notification policies](https://developers.cloudflare.com/api/typescript/resources/alerting/subresources/policies/methods/list)

client.alerting.policies.list(PolicyListParams { account\_id } params, RequestOptionsoptions?): SinglePage<[Policy](https://developers.cloudflare.com/api/typescript/resources/alerting#%28resource%29%20alerting.policies%20%3E%20%28model%29%20policy%20%3E%20%28schema%29) { id, alert\_interval, alert\_type, 7 more } \>

GET/accounts/{account\_id}/alerting/v3/policies

##### [Get a Notification policy](https://developers.cloudflare.com/api/typescript/resources/alerting/subresources/policies/methods/get)

client.alerting.policies.get(stringpolicyID, PolicyGetParams { account\_id } params, RequestOptionsoptions?): [Policy](https://developers.cloudflare.com/api/typescript/resources/alerting#%28resource%29%20alerting.policies%20%3E%20%28model%29%20policy%20%3E%20%28schema%29) { id, alert\_interval, alert\_type, 7 more } 

GET/accounts/{account\_id}/alerting/v3/policies/{policy\_id}

##### [Create a Notification policy](https://developers.cloudflare.com/api/typescript/resources/alerting/subresources/policies/methods/create)

client.alerting.policies.create(PolicyCreateParams { account\_id, alert\_type, enabled, 5 more } params, RequestOptionsoptions?): [PolicyCreateResponse](https://developers.cloudflare.com/api/typescript/resources/alerting#%28resource%29%20alerting.policies%20%3E%20%28model%29%20policy%5Fcreate%5Fresponse%20%3E%20%28schema%29) { id } 

POST/accounts/{account\_id}/alerting/v3/policies

##### [Update a Notification policy](https://developers.cloudflare.com/api/typescript/resources/alerting/subresources/policies/methods/update)

client.alerting.policies.update(stringpolicyID, PolicyUpdateParams { account\_id, alert\_interval, alert\_type, 5 more } params, RequestOptionsoptions?): [PolicyUpdateResponse](https://developers.cloudflare.com/api/typescript/resources/alerting#%28resource%29%20alerting.policies%20%3E%20%28model%29%20policy%5Fupdate%5Fresponse%20%3E%20%28schema%29) { id } 

PUT/accounts/{account\_id}/alerting/v3/policies/{policy\_id}

##### [Delete a Notification policy](https://developers.cloudflare.com/api/typescript/resources/alerting/subresources/policies/methods/delete)

client.alerting.policies.delete(stringpolicyID, PolicyDeleteParams { account\_id } params, RequestOptionsoptions?): [PolicyDeleteResponse](https://developers.cloudflare.com/api/typescript/resources/alerting#%28resource%29%20alerting.policies%20%3E%20%28model%29%20policy%5Fdelete%5Fresponse%20%3E%20%28schema%29) { errors, messages, success, result\_info } 

DELETE/accounts/{account\_id}/alerting/v3/policies/{policy\_id}

##### ModelsExpand Collapse 

Mechanism { email, pagerduty, webhooks } 

List of IDs that will be used when dispatching a notification. IDs for email type will be the email address.

email?: Array<Email\>

id?: string

The email address

pagerduty?: Array<Pagerduty\>

id?: string

UUID

maxLength32

webhooks?: Array<Webhook\>

id?: string

UUID

maxLength32

Policy { id, alert\_interval, alert\_type, 7 more } 

id?: string

The unique identifier of a notification policy

maxLength32

alert\_interval?: string

Optional specification of how often to re-alert from the same incident, not support on all alert types.

alert\_type?: "abuse\_report\_alert" | "access\_custom\_certificate\_expiration\_type" | "advanced\_ddos\_attack\_l4\_alert" | 66 more

Refers to which event will trigger a Notification dispatch. You can use the endpoint to get available alert types which then will give you a list of possible values.

One of the following:

"abuse\_report\_alert"

"access\_custom\_certificate\_expiration\_type"

"advanced\_ddos\_attack\_l4\_alert"

"advanced\_ddos\_attack\_l7\_alert"

"advanced\_http\_alert\_error"

"bgp\_hijack\_notification"

"billing\_usage\_alert"

"block\_notification\_block\_removed"

"block\_notification\_new\_block"

"block\_notification\_review\_rejected"

"bot\_traffic\_basic\_alert"

"brand\_protection\_alert"

"brand\_protection\_digest"

"clickhouse\_alert\_fw\_anomaly"

"clickhouse\_alert\_fw\_ent\_anomaly"

"cloudforce\_one\_request\_notification"

"cni\_maintenance\_notification"

"custom\_analytics"

"custom\_bot\_detection\_alert"

"custom\_ssl\_certificate\_event\_type"

"dedicated\_ssl\_certificate\_event\_type"

"device\_connectivity\_anomaly\_alert"

"dos\_attack\_l4"

"dos\_attack\_l7"

"expiring\_service\_token\_alert"

"failing\_logpush\_job\_disabled\_alert"

"fbm\_auto\_advertisement"

"fbm\_dosd\_attack"

"fbm\_volumetric\_attack"

"health\_check\_status\_notification"

"hostname\_aop\_custom\_certificate\_expiration\_type"

"http\_alert\_edge\_error"

"http\_alert\_origin\_error"

"image\_notification"

"image\_resizing\_notification"

"incident\_alert"

"load\_balancing\_health\_alert"

"load\_balancing\_pool\_enablement\_alert"

"logo\_match\_alert"

"magic\_tunnel\_health\_check\_event"

"magic\_wan\_tunnel\_health"

"maintenance\_event\_notification"

"mtls\_certificate\_store\_certificate\_expiration\_type"

"pages\_event\_alert"

"radar\_notification"

"real\_origin\_monitoring"

"scriptmonitor\_alert\_new\_code\_change\_detections"

"scriptmonitor\_alert\_new\_hosts"

"scriptmonitor\_alert\_new\_malicious\_hosts"

"scriptmonitor\_alert\_new\_malicious\_scripts"

"scriptmonitor\_alert\_new\_malicious\_url"

"scriptmonitor\_alert\_new\_max\_length\_resource\_url"

"scriptmonitor\_alert\_new\_resources"

"secondary\_dns\_all\_primaries\_failing"

"secondary\_dns\_primaries\_failing"

"secondary\_dns\_warning"

"secondary\_dns\_zone\_successfully\_updated"

"secondary\_dns\_zone\_validation\_warning"

"security\_insights\_alert"

"sentinel\_alert"

"stream\_live\_notifications"

"synthetic\_test\_latency\_alert"

"synthetic\_test\_low\_availability\_alert"

"traffic\_anomalies\_alert"

"tunnel\_health\_event"

"tunnel\_update\_event"

"universal\_ssl\_event\_type"

"web\_analytics\_metrics\_update"

"zone\_aop\_custom\_certificate\_expiration\_type"

created?: string

formatdate-time

description?: string

Optional description for the Notification policy.

enabled?: boolean

Whether or not the Notification policy is enabled.

filters?: [PolicyFilter](https://developers.cloudflare.com/api/typescript/resources/alerting#%28resource%29%20alerting.policies%20%3E%20%28model%29%20policy%5Ffilter%20%3E%20%28schema%29) { actions, affected\_asns, affected\_components, 40 more } 

Optional filters that allow you to be alerted only on a subset of events for that alert type based on some criteria. This is only available for select alert types. See alert type documentation for more details.

mechanisms?: [Mechanism](https://developers.cloudflare.com/api/typescript/resources/alerting#%28resource%29%20alerting.policies%20%3E%20%28model%29%20mechanism%20%3E%20%28schema%29) { email, pagerduty, webhooks } 

List of IDs that will be used when dispatching a notification. IDs for email type will be the email address.

modified?: string

formatdate-time

name?: string

Name of the policy.

PolicyFilter { actions, affected\_asns, affected\_components, 40 more } 

Optional filters that allow you to be alerted only on a subset of events for that alert type based on some criteria. This is only available for select alert types. See alert type documentation for more details.

actions?: Array<string\>

Usage depends on specific alert type

affected\_asns?: Array<string\>

Used for configuring radar\_notification

affected\_components?: Array<string\>

Used for configuring incident\_alert

affected\_locations?: Array<string\>

Used for configuring radar\_notification

airport\_code?: Array<string\>

Used for configuring maintenance\_event\_notification

alert\_trigger\_preferences?: Array<string\>

Usage depends on specific alert type

alert\_trigger\_preferences\_value?: Array<string\>

Usage depends on specific alert type

enabled?: Array<string\>

Used for configuring load\_balancing\_pool\_enablement\_alert

environment?: Array<string\>

Used for configuring pages\_event\_alert

event?: Array<string\>

Used for configuring pages\_event\_alert

event\_source?: Array<string\>

Used for configuring load\_balancing\_health\_alert

event\_type?: Array<string\>

Usage depends on specific alert type

group\_by?: Array<string\>

Usage depends on specific alert type

health\_check\_id?: Array<string\>

Used for configuring health\_check\_status\_notification

incident\_impact?: Array<"INCIDENT\_IMPACT\_NONE" | "INCIDENT\_IMPACT\_MINOR" | "INCIDENT\_IMPACT\_MAJOR" | "INCIDENT\_IMPACT\_CRITICAL"\>

Used for configuring incident\_alert

One of the following:

"INCIDENT\_IMPACT\_NONE"

"INCIDENT\_IMPACT\_MINOR"

"INCIDENT\_IMPACT\_MAJOR"

"INCIDENT\_IMPACT\_CRITICAL"

input\_id?: Array<string\>

Used for configuring stream\_live\_notifications

insight\_class?: Array<string\>

Used for configuring security\_insights\_alert

limit?: Array<string\>

Used for configuring billing\_usage\_alert

logo\_tag?: Array<string\>

Used for configuring logo\_match\_alert

megabits\_per\_second?: Array<string\>

Used for configuring advanced\_ddos\_attack\_l4\_alert

new\_health?: Array<string\>

Used for configuring load\_balancing\_health\_alert

new\_status?: Array<string\>

Used for configuring tunnel\_health\_event

packets\_per\_second?: Array<string\>

Used for configuring advanced\_ddos\_attack\_l4\_alert

pool\_id?: Array<string\>

Usage depends on specific alert type

pop\_names?: Array<string\>

Usage depends on specific alert type

product?: Array<string\>

Used for configuring billing\_usage\_alert

project\_id?: Array<string\>

Used for configuring pages\_event\_alert

protocol?: Array<string\>

Used for configuring advanced\_ddos\_attack\_l4\_alert

query\_tag?: Array<string\>

Usage depends on specific alert type

requests\_per\_second?: Array<string\>

Used for configuring advanced\_ddos\_attack\_l7\_alert

selectors?: Array<string\>

Usage depends on specific alert type

services?: Array<string\>

Used for configuring clickhouse\_alert\_fw\_ent\_anomaly

slo?: Array<string\>

Usage depends on specific alert type

status?: Array<string\>

Used for configuring health\_check\_status\_notification

target\_hostname?: Array<string\>

Used for configuring advanced\_ddos\_attack\_l7\_alert

target\_ip?: Array<string\>

Used for configuring advanced\_ddos\_attack\_l4\_alert

target\_zone\_name?: Array<string\>

Used for configuring advanced\_ddos\_attack\_l7\_alert

traffic\_exclusions?: Array<"security\_events"\>

Used for configuring traffic\_anomalies\_alert

tunnel\_id?: Array<string\>

Used for configuring tunnel\_health\_event

tunnel\_name?: Array<string\>

Usage depends on specific alert type

type?: Array<string\>

Usage depends on specific alert type

where?: Array<string\>

Usage depends on specific alert type

zones?: Array<string\>

Usage depends on specific alert type

PolicyCreateResponse { id } 

id?: string

UUID

maxLength32

PolicyUpdateResponse { id } 

id?: string

UUID

maxLength32

PolicyDeleteResponse { errors, messages, success, result\_info } 

errors: Array<Error\>

message: string

code?: number

minimum1000

messages: Array<Message\>

message: string

code?: number

minimum1000

success: true

Whether the API call was successful

result\_info?: ResultInfo { count, page, per\_page, total\_count } 

count?: number

Total number of results for the requested service

page?: number

Current page within paginated list of results

per\_page?: number

Number of results per page of results

total\_count?: number

Total results available without any search parameters