## List Page Shield policies `client.pageShield.policies.list(PolicyListParamsparams, RequestOptionsoptions?): SinglePage` **get** `/zones/{zone_id}/page_shield/policies` Lists all Page Shield policies. ### Parameters - `params: PolicyListParams` - `zone_id: string` Identifier ### Returns - `PolicyListResponse` - `id: string` Identifier - `action: "allow" | "log" | "add_reporting_directives"` The action to take if the expression matches - `"allow"` - `"log"` - `"add_reporting_directives"` - `description: string` A description for the policy - `enabled: boolean` Whether the policy is enabled - `expression: string` The expression which must match for the policy to be applied, using the Cloudflare Firewall rule expression syntax - `value: string` The policy which will be applied ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiEmail: process.env['CLOUDFLARE_EMAIL'], // This is the default and can be omitted apiKey: process.env['CLOUDFLARE_API_KEY'], // This is the default and can be omitted }); // Automatically fetches more pages as needed. for await (const policyListResponse of client.pageShield.policies.list({ zone_id: '023e105f4ecef8ad9ca31a8372d0c353', })) { console.log(policyListResponse.id); } ``` #### Response ```json { "result": [ { "id": "023e105f4ecef8ad9ca31a8372d0c353", "action": "allow", "description": "Checkout page CSP policy", "enabled": true, "expression": "ends_with(http.request.uri.path, \"/checkout\")", "value": "script-src 'none';" } ], "result_info": { "count": 1, "page": 1, "per_page": 20, "total_count": 2000, "total_pages": 100 }, "success": true, "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ] } ```