Deploy payment ruleset
client.Monetization.Rules.Update(ctx, params) (*MonetizationRuleCollection, error)
PUT/zones/{zone_id}/monetization/rules
Replaces the zone’s Payment Required ruleset with the submitted desired state. Submit an empty rules array to clear all payment rules.
Security
API Token
The preferred authorization scheme for interacting with the Cloudflare API. Create a token.
Example:
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:
Deploy payment ruleset
package main
import (
"context"
"fmt"
"github.com/cloudflare/cloudflare-go"
"github.com/cloudflare/cloudflare-go/monetization"
"github.com/cloudflare/cloudflare-go/option"
)
func main() {
client := cloudflare.NewClient(
option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"),
)
monetizationRuleCollection, err := client.Monetization.Rules.Update(context.TODO(), monetization.RuleUpdateParams{
ZoneID: cloudflare.F("9f1839b6152d298aca64c4e906b6d074"),
MonetizationRulesetInput: monetization.MonetizationRulesetInputParam{
Rules: cloudflare.F([]monetization.MonetizationRuleInputUnionParam{monetization.MonetizationRuleInputFixedPriceParam{
Address: cloudflare.F("0x1234567890abcdef1234567890abcdef12345678==="),
Expression: cloudflare.F(`(http.request.uri.path eq "/premium" and http.request.method in {"GET" "POST"})`),
Price: cloudflare.F("250000"),
Scheme: cloudflare.F(monetization.MonetizationRuleInputFixedPriceSchemeExact),
}}),
},
})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", monetizationRuleCollection.Rules)
}
{
"errors": [
{
"code": 0,
"message": "message"
}
],
"messages": [
{
"code": 0,
"message": "message"
}
],
"result": {
"rules": [
{
"address": "0x1234567890abcdef1234567890abcdef12345678===",
"expression": "(http.request.uri.path eq \"/premium\" and http.request.method in {\"GET\" \"POST\"})",
"price": "250000",
"scheme": "exact",
"id": "023e105f4ecef8ad9ca31a8372d0c353",
"description": "Premium API endpoint",
"enabled": true
}
]
},
"success": true
}Returns Examples
{
"errors": [
{
"code": 0,
"message": "message"
}
],
"messages": [
{
"code": 0,
"message": "message"
}
],
"result": {
"rules": [
{
"address": "0x1234567890abcdef1234567890abcdef12345678===",
"expression": "(http.request.uri.path eq \"/premium\" and http.request.method in {\"GET\" \"POST\"})",
"price": "250000",
"scheme": "exact",
"id": "023e105f4ecef8ad9ca31a8372d0c353",
"description": "Premium API endpoint",
"enabled": true
}
]
},
"success": true
}