Skip to content
Start here

Delete all payment rules

client.Monetization.Rules.Delete(ctx, body) (*MonetizationRuleCollection, error)
DELETE/zones/{zone_id}/monetization/rules

Removes every Payment Required rule from the zone. Any rules the service does not own are preserved. Deleting a zone with no payment rules is a no-op. Returns the resulting (empty) rule collection.

Security
API Token

The preferred authorization scheme for interacting with the Cloudflare API. Create a token.

Example:Authorization: Bearer Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY
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
ParametersExpand Collapse
body RuleDeleteParams
ZoneID param.Field[string]

The unique ID of the zone.

ReturnsExpand Collapse
type MonetizationRuleCollection struct{…}

The zone’s payment rules. Mirrors the shape of the ruleset submitted to the deploy endpoint, so the response can be read back as the desired state.

The zone’s payment rules, in the order they are evaluated. Empty when the zone has no payment rules.

One of the following:
type MonetizationRuleMonetizationRulesMonetizationRuleInputFixedPrice struct{…}

Payment rule with a fixed price set at configuration time.

ID string

The server-assigned unique ID of the payment rule. Stable across full-ruleset replacements.

maxLength32
type MonetizationRuleMonetizationRulesMonetizationRuleInputOriginControlled struct{…}

Payment rule whose price the origin server sets dynamically. The rule carries no price and the price field must be omitted — any provided value, including “0”, is rejected because it would not be enforced.

ID string

The server-assigned unique ID of the payment rule. Stable across full-ruleset replacements.

maxLength32

Delete all payment rules

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.Delete(context.TODO(), monetization.RuleDeleteParams{
    ZoneID: cloudflare.F("9f1839b6152d298aca64c4e906b6d074"),
  })
  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
}