# Rules ## List zone snippet rules `client.snippets.rules.list(RuleListParamsparams, RequestOptionsoptions?): RuleListResponse` **get** `/zones/{zone_id}/snippets/snippet_rules` Fetches all snippet rules belonging to the zone. ### Parameters - `params: RuleListParams` - `zone_id: string` Use this field to specify the unique ID of the zone. ### Returns - `RuleListResponse = unknown` Contain the response result. ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const rules = await client.snippets.rules.list({ zone_id: '9f1839b6152d298aca64c4e906b6d074' }); console.log(rules); ``` #### Response ```json { "errors": [ { "message": "something bad happened", "code": 10000 } ], "messages": [ { "message": "something bad happened", "code": 10000 } ], "result": {}, "success": true } ``` ## Update zone snippet rules `client.snippets.rules.update(RuleUpdateParamsparams, RequestOptionsoptions?): RuleUpdateResponse` **put** `/zones/{zone_id}/snippets/snippet_rules` Updates all snippet rules belonging to the zone. ### Parameters - `params: RuleUpdateParams` - `zone_id: string` Path param: Use this field to specify the unique ID of the zone. - `rules: Array` Body param: Lists snippet rules. - `id: string` Specify the unique ID of the rule. - `expression: string` Define the expression that determines which traffic matches the rule. - `last_updated: string` Specify the timestamp of when the rule was last modified. - `snippet_name: string` Identify the snippet. - `description?: string` Provide an informative description of the rule. - `enabled?: boolean` Indicate whether to execute the rule. ### Returns - `RuleUpdateResponse = unknown` Contain the response result. ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const rule = await client.snippets.rules.update({ zone_id: '9f1839b6152d298aca64c4e906b6d074', rules: [{ expression: 'ip.src eq 1.1.1.1', snippet_name: 'my_snippet' }], }); console.log(rule); ``` #### Response ```json { "errors": [ { "message": "something bad happened", "code": 10000 } ], "messages": [ { "message": "something bad happened", "code": 10000 } ], "result": {}, "success": true } ``` ## Delete zone snippet rules `client.snippets.rules.delete(RuleDeleteParamsparams, RequestOptionsoptions?): RuleDeleteResponse` **delete** `/zones/{zone_id}/snippets/snippet_rules` Deletes all snippet rules belonging to the zone. ### Parameters - `params: RuleDeleteParams` - `zone_id: string` Use this field to specify the unique ID of the zone. ### Returns - `RuleDeleteResponse = unknown` Contain the response result. ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const rule = await client.snippets.rules.delete({ zone_id: '9f1839b6152d298aca64c4e906b6d074' }); console.log(rule); ``` #### Response ```json { "errors": [ { "message": "something bad happened", "code": 10000 } ], "messages": [ { "message": "something bad happened", "code": 10000 } ], "result": {}, "success": true } ``` ## Domain Types ### Rule List Response - `RuleListResponse = unknown` Contain the response result. ### Rule Update Response - `RuleUpdateResponse = unknown` Contain the response result. ### Rule Delete Response - `RuleDeleteResponse = unknown` Contain the response result.