Skip to content
Start here

Update zone snippet rules

client.Snippets.Rules.Update(ctx, params) (*RuleUpdateResponse, error)
PUT/zones/{zone_id}/snippets/snippet_rules

Updates all snippet rules belonging to the zone.

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
Accepted Permissions (at least one required)
Snippets Write
ParametersExpand Collapse
params RuleUpdateParams
ZoneID param.Field[string]

Path param: Use this field to specify the unique ID of the zone.

Rules param.Field[[]RuleUpdateParamsRule]

Body param: Lists snippet rules.

ID string

Specify the unique ID of the rule.

Expression string

Define the expression that determines which traffic matches the rule.

minLength1
LastUpdated Time

Specify the timestamp of when the rule was last modified.

formatdate-time
SnippetName string

Identify the snippet.

Description stringoptional

Provide an informative description of the rule.

Enabled booloptional

Indicate whether to execute the rule.

ReturnsExpand Collapse
type RuleUpdateResponse interface{…}

Contain the response result.

Update zone snippet rules

package main

import (
  "context"
  "fmt"

  "github.com/cloudflare/cloudflare-go"
  "github.com/cloudflare/cloudflare-go/option"
  "github.com/cloudflare/cloudflare-go/snippets"
)

func main() {
  client := cloudflare.NewClient(
    option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"),
  )
  rule, err := client.Snippets.Rules.Update(context.TODO(), snippets.RuleUpdateParams{
    ZoneID: cloudflare.F("9f1839b6152d298aca64c4e906b6d074"),
    Rules: cloudflare.F([]snippets.RuleUpdateParamsRule{snippets.RuleUpdateParamsRule{
      Expression: cloudflare.F("ip.src eq 1.1.1.1"),
      SnippetName: cloudflare.F("my_snippet"),
    }}),
  })
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", rule)
}
{
  "errors": [
    {
      "message": "something bad happened",
      "code": 10000
    }
  ],
  "messages": [
    {
      "message": "something bad happened",
      "code": 10000
    }
  ],
  "result": {},
  "success": true
}
Returns Examples
{
  "errors": [
    {
      "message": "something bad happened",
      "code": 10000
    }
  ],
  "messages": [
    {
      "message": "something bad happened",
      "code": 10000
    }
  ],
  "result": {},
  "success": true
}