---
title: Rules
---

[Skip to content](#%5Ftop) 

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

[Firewall](https://developers.cloudflare.com/api/typescript/resources/firewall)

Copy Markdown

Open in **Claude**

Open in **ChatGPT**

Open in **Cursor**

---

**Copy Markdown**

**View as Markdown**

# Rules

##### [List firewall rules](https://developers.cloudflare.com/api/typescript/resources/firewall/subresources/rules/methods/list)

Deprecated

client.firewall.rules.list(RuleListParams { zone\_id, id, action, 4 more } params, RequestOptionsoptions?): V4PagePaginationArray<[FirewallRule](https://developers.cloudflare.com/api/typescript/resources/firewall#%28resource%29%20firewall.rules%20%3E%20%28model%29%20firewall%5Frule%20%3E%20%28schema%29) { id, action, description, 5 more } \>

GET/zones/{zone\_id}/firewall/rules

##### [Get a firewall rule](https://developers.cloudflare.com/api/typescript/resources/firewall/subresources/rules/methods/get)

Deprecated

client.firewall.rules.get(stringruleID, RuleGetParams { zone\_id } params, RequestOptionsoptions?): [FirewallRule](https://developers.cloudflare.com/api/typescript/resources/firewall#%28resource%29%20firewall.rules%20%3E%20%28model%29%20firewall%5Frule%20%3E%20%28schema%29) { id, action, description, 5 more } 

GET/zones/{zone\_id}/firewall/rules/{rule\_id}

##### [Create firewall rules](https://developers.cloudflare.com/api/typescript/resources/firewall/subresources/rules/methods/create)

Deprecated

client.firewall.rules.create(RuleCreateParams { zone\_id, action, filter } params, RequestOptionsoptions?): SinglePage<[FirewallRule](https://developers.cloudflare.com/api/typescript/resources/firewall#%28resource%29%20firewall.rules%20%3E%20%28model%29%20firewall%5Frule%20%3E%20%28schema%29) { id, action, description, 5 more } \>

POST/zones/{zone\_id}/firewall/rules

##### [Update a firewall rule](https://developers.cloudflare.com/api/typescript/resources/firewall/subresources/rules/methods/update)

Deprecated

client.firewall.rules.update(stringruleID, RuleUpdateParams { zone\_id, action, filter } params, RequestOptionsoptions?): [FirewallRule](https://developers.cloudflare.com/api/typescript/resources/firewall#%28resource%29%20firewall.rules%20%3E%20%28model%29%20firewall%5Frule%20%3E%20%28schema%29) { id, action, description, 5 more } 

PUT/zones/{zone\_id}/firewall/rules/{rule\_id}

##### [Update priority of a firewall rule](https://developers.cloudflare.com/api/typescript/resources/firewall/subresources/rules/methods/edit)

Deprecated

client.firewall.rules.edit(stringruleID, RuleEditParams { zone\_id } params, RequestOptionsoptions?): SinglePage<[FirewallRule](https://developers.cloudflare.com/api/typescript/resources/firewall#%28resource%29%20firewall.rules%20%3E%20%28model%29%20firewall%5Frule%20%3E%20%28schema%29) { id, action, description, 5 more } \>

PATCH/zones/{zone\_id}/firewall/rules/{rule\_id}

##### [Delete a firewall rule](https://developers.cloudflare.com/api/typescript/resources/firewall/subresources/rules/methods/delete)

Deprecated

client.firewall.rules.delete(stringruleID, RuleDeleteParams { zone\_id } params, RequestOptionsoptions?): [FirewallRule](https://developers.cloudflare.com/api/typescript/resources/firewall#%28resource%29%20firewall.rules%20%3E%20%28model%29%20firewall%5Frule%20%3E%20%28schema%29) { id, action, description, 5 more } 

DELETE/zones/{zone\_id}/firewall/rules/{rule\_id}

##### [Update firewall rules](https://developers.cloudflare.com/api/typescript/resources/firewall/subresources/rules/methods/bulk%5Fupdate)

Deprecated

client.firewall.rules.bulkUpdate(RuleBulkUpdateParams { zone\_id, body } params, RequestOptionsoptions?): SinglePage<[FirewallRule](https://developers.cloudflare.com/api/typescript/resources/firewall#%28resource%29%20firewall.rules%20%3E%20%28model%29%20firewall%5Frule%20%3E%20%28schema%29) { id, action, description, 5 more } \>

PUT/zones/{zone\_id}/firewall/rules

##### [Update priority of firewall rules](https://developers.cloudflare.com/api/typescript/resources/firewall/subresources/rules/methods/bulk%5Fedit)

Deprecated

client.firewall.rules.bulkEdit(RuleBulkEditParams { zone\_id, body } params, RequestOptionsoptions?): SinglePage<[FirewallRule](https://developers.cloudflare.com/api/typescript/resources/firewall#%28resource%29%20firewall.rules%20%3E%20%28model%29%20firewall%5Frule%20%3E%20%28schema%29) { id, action, description, 5 more } \>

PATCH/zones/{zone\_id}/firewall/rules

##### [Delete firewall rules](https://developers.cloudflare.com/api/typescript/resources/firewall/subresources/rules/methods/bulk%5Fdelete)

Deprecated

client.firewall.rules.bulkDelete(RuleBulkDeleteParams { zone\_id } params, RequestOptionsoptions?): SinglePage<[FirewallRule](https://developers.cloudflare.com/api/typescript/resources/firewall#%28resource%29%20firewall.rules%20%3E%20%28model%29%20firewall%5Frule%20%3E%20%28schema%29) { id, action, description, 5 more } \>

DELETE/zones/{zone\_id}/firewall/rules

##### ModelsExpand Collapse 

DeletedFilter { id, deleted } 

id: string

The unique identifier of the filter.

maxLength32

minLength32

deleted: boolean

When true, indicates that the firewall rule was deleted.

FirewallRule { id, action, description, 5 more } 

id?: string

The unique identifier of the firewall rule.

maxLength32

action?: [Action](https://developers.cloudflare.com/api/typescript/resources/rate%5Flimits#%28resource%29%20rate%5Flimits%20%3E%20%28model%29%20action%20%3E%20%28schema%29)

The action to apply to a matched request. The `log` action is only available on an Enterprise plan.

description?: string

An informative summary of the firewall rule.

maxLength500

filter?: [FirewallFilter](https://developers.cloudflare.com/api/typescript/resources/filters#%28resource%29%20filters%20%3E%20%28model%29%20firewall%5Ffilter%20%3E%20%28schema%29) { id, description, expression, 2 more } | [DeletedFilter](https://developers.cloudflare.com/api/typescript/resources/firewall#%28resource%29%20firewall.rules%20%3E%20%28model%29%20deleted%5Ffilter%20%3E%20%28schema%29) { id, deleted } 

One of the following:

FirewallFilter { id, description, expression, 2 more } 

id?: string

The unique identifier of the filter.

maxLength32

minLength32

description?: string

An informative summary of the filter.

maxLength500

expression?: string

The filter expression. For more information, refer to [Expressions](https://developers.cloudflare.com/ruleset-engine/rules-language/expressions/).

paused?: boolean

When true, indicates that the filter is currently paused.

ref?: string

A short reference tag. Allows you to select related filters.

maxLength50

DeletedFilter { id, deleted } 

id: string

The unique identifier of the filter.

maxLength32

minLength32

deleted: boolean

When true, indicates that the firewall rule was deleted.

paused?: boolean

When true, indicates that the firewall rule is currently paused.

priority?: number

The priority of the rule. Optional value used to define the processing order. A lower number indicates a higher priority. If not provided, rules with a defined priority will be processed before rules without a priority.

maximum2147483647

minimum0

products?: Array<[Product](https://developers.cloudflare.com/api/typescript/resources/firewall#%28resource%29%20firewall.rules%20%3E%20%28model%29%20product%20%3E%20%28schema%29)\>

One of the following:

"zoneLockdown"

"uaBlock"

"bic"

"hot"

"securityLevel"

"rateLimit"

"waf"

ref?: string

A short reference tag. Allows you to select related firewall rules.

maxLength50

Product \= "zoneLockdown" | "uaBlock" | "bic" | 4 more

A list of products to bypass for a request when using the `bypass` action.

One of the following:

"zoneLockdown"

"uaBlock"

"bic"

"hot"

"securityLevel"

"rateLimit"

"waf"