Skip to content
Start here

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.

Security

API Email + API Key

The previous authorization scheme for interacting with the Cloudflare API, used in conjunction with a Global API key.

Example:X-Auth-Email: user@example.com

The previous authorization scheme for interacting with the Cloudflare API. When possible, use API tokens instead of Global API keys.

Example:X-Auth-Key: 144c9defac04969c7bfad8efaa8ea194
Accepted Permissions (at least one required)
Page ShieldDomain Page ShieldZone Settings Write
ParametersExpand Collapse
policyID string

Identifier

maxLength32
params PolicyUpdateParams
ZoneID param.Field[string]

Path param: Identifier

maxLength32
Action param.Field[PolicyUpdateParamsAction]optional

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]optional

Body param: A description for the policy

Enabled param.Field[bool]optional

Body param: Whether the policy is enabled

Expression param.Field[string]optional

Body param: The expression which must match for the policy to be applied, using the Cloudflare Firewall rule expression syntax

Value param.Field[string]optional

Body param: The policy which will be applied

ReturnsExpand Collapse
type PolicyUpdateResponse struct{…}
ID string

Identifier

maxLength32
Action PolicyUpdateResponseAction

The action to take if the expression matches

One of the following:
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

Update a Page Shield policy

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)
}
{
  "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"
      }
    }
  ]
}
Returns Examples
{
  "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"
      }
    }
  ]
}