## Update a Page Shield policy `client.PageShield.Policies.Update(ctx, policyID, params) (*PolicyUpdateResponse, error)` **put** `/zones/{zone_id}/page_shield/policies/{policy_id}` Update a Page Shield policy by ID. ### Parameters - `policyID string` Identifier - `params PolicyUpdateParams` - `ZoneID param.Field[string]` Path param: Identifier - `Action param.Field[PolicyUpdateParamsAction]` Body param: The action to take if the expression matches - `const PolicyUpdateParamsActionAllow PolicyUpdateParamsAction = "allow"` - `const PolicyUpdateParamsActionLog PolicyUpdateParamsAction = "log"` - `const PolicyUpdateParamsActionAddReportingDirectives PolicyUpdateParamsAction = "add_reporting_directives"` - `Description param.Field[string]` Body param: A description for the policy - `Enabled param.Field[bool]` Body param: Whether the policy is enabled - `Expression param.Field[string]` Body param: The expression which must match for the policy to be applied, using the Cloudflare Firewall rule expression syntax - `Value param.Field[string]` Body param: The policy which will be applied ### Returns - `type PolicyUpdateResponse struct{…}` - `ID string` Identifier - `Action PolicyUpdateResponseAction` The action to take if the expression matches - `const PolicyUpdateResponseActionAllow PolicyUpdateResponseAction = "allow"` - `const PolicyUpdateResponseActionLog PolicyUpdateResponseAction = "log"` - `const PolicyUpdateResponseActionAddReportingDirectives PolicyUpdateResponseAction = "add_reporting_directives"` - `Description string` A description for the policy - `Enabled bool` 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 ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/page_shield" ) func main() { client := cloudflare.NewClient( option.WithAPIKey("144c9defac04969c7bfad8efaa8ea194"), option.WithAPIEmail("user@example.com"), ) policy, err := client.PageShield.Policies.Update( context.TODO(), "023e105f4ecef8ad9ca31a8372d0c353", page_shield.PolicyUpdateParams{ ZoneID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", policy.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';" }, "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" } } ] } ```