Create a Page Shield policy
client.PageShield.Policies.New(ctx, params) (*PolicyNewResponse, error)
POST/zones/{zone_id}/page_shield/policies
Create a Page Shield policy.
Security
API Email + API Key
The previous authorization scheme for interacting with the Cloudflare API, used in conjunction with a Global API key.
Example:
The previous authorization scheme for interacting with the Cloudflare API. When possible, use API tokens instead of Global API keys.
Example:
Accepted Permissions (at least one required)
Create 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.New(context.TODO(), page_shield.PolicyNewParams{
ZoneID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
Policy: page_shield.PolicyParam{
Action: cloudflare.F(page_shield.PolicyActionAllow),
Description: cloudflare.F("Checkout page CSP policy"),
Enabled: cloudflare.F(true),
Expression: cloudflare.F(`ends_with(http.request.uri.path, "/checkout")`),
Value: cloudflare.F("script-src 'none';"),
},
})
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"
}
}
]
}