## List Page Shield policies `page_shield.policies.list(PolicyListParams**kwargs) -> SyncSinglePage[PolicyListResponse]` **get** `/zones/{zone_id}/page_shield/policies` Lists all Page Shield policies. ### Parameters - `zone_id: str` Identifier ### Returns - `class PolicyListResponse: …` - `id: str` Identifier - `action: Literal["allow", "log", "add_reporting_directives"]` The action to take if the expression matches - `"allow"` - `"log"` - `"add_reporting_directives"` - `description: str` A description for the policy - `enabled: bool` Whether the policy is enabled - `expression: str` The expression which must match for the policy to be applied, using the Cloudflare Firewall rule expression syntax - `value: str` The policy which will be applied ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_email=os.environ.get("CLOUDFLARE_EMAIL"), # This is the default and can be omitted api_key=os.environ.get("CLOUDFLARE_API_KEY"), # This is the default and can be omitted ) page = client.page_shield.policies.list( zone_id="023e105f4ecef8ad9ca31a8372d0c353", ) page = page.result[0] print(page.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" } } ] } ```