Skip to content
Start here

Patch Waiting Room Rule

client.WaitingRooms.Rules.Edit(ctx, waitingRoomID, ruleID, params) (*SinglePage[WaitingRoomRule], error)
PATCH/zones/{zone_id}/waiting_rooms/{waiting_room_id}/rules/{rule_id}

Patches a rule for a waiting room.

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)
Waiting Rooms Write
ParametersExpand Collapse
waitingRoomID string
ruleID string

The ID of the rule.

params RuleEditParams
ZoneID param.Field[string]

Path param: Identifier.

maxLength32
Action param.Field[RuleEditParamsAction]

Body param: The action to take when the expression matches.

const RuleEditParamsActionBypassWaitingRoom RuleEditParamsAction = "bypass_waiting_room"
Expression param.Field[string]

Body param: Criteria defining when there is a match for the current rule.

Description param.Field[string]optional

Body param: The description of the rule.

Enabled param.Field[bool]optional

Body param: When set to true, the rule is enabled.

Position param.Field[RuleEditParamsPosition]optional

Body param: Reorder the position of a rule

type RuleEditParamsPositionIndex struct{…}
Index int64optional

Places the rule in the exact position specified by the integer number . Position numbers start with 1. Existing rules in the ruleset from the specified position number onward are shifted one position (no rule is overwritten).

type RuleEditParamsPositionBefore struct{…}
Before stringoptional

Places the rule before rule . Use this argument with an empty rule ID value ("") to set the rule as the first rule in the ruleset.

type RuleEditParamsPositionAfter struct{…}
After stringoptional

Places the rule after rule . Use this argument with an empty rule ID value ("") to set the rule as the last rule in the ruleset.

ReturnsExpand Collapse
type WaitingRoomRule struct{…}
ID stringoptional

The ID of the rule.

Action WaitingRoomRuleActionoptional

The action to take when the expression matches.

Description stringoptional

The description of the rule.

Enabled booloptional

When set to true, the rule is enabled.

Expression stringoptional

Criteria defining when there is a match for the current rule.

LastUpdated Timeoptional
formatdate-time
Version stringoptional

The version of the rule.

Patch Waiting Room Rule

package main

import (
  "context"
  "fmt"

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

func main() {
  client := cloudflare.NewClient(
    option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"),
  )
  page, err := client.WaitingRooms.Rules.Edit(
    context.TODO(),
    "699d98642c564d2e855e9661899b7252",
    "25756b2dfe6e378a06b033b670413757",
    waiting_rooms.RuleEditParams{
      ZoneID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
      Action: cloudflare.F(waiting_rooms.RuleEditParamsActionBypassWaitingRoom),
      Expression: cloudflare.F("ip.src in {10.20.30.40}"),
    },
  )
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", page)
}
{
  "errors": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "messages": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "success": true,
  "result": [
    {
      "id": "25756b2dfe6e378a06b033b670413757",
      "action": "bypass_waiting_room",
      "description": "allow all traffic from 10.20.30.40",
      "enabled": true,
      "expression": "ip.src in {10.20.30.40}",
      "last_updated": "2014-01-01T05:20:00.12345Z",
      "version": "1"
    }
  ],
  "result_info": {
    "count": 1,
    "page": 1,
    "per_page": 20,
    "total_count": 2000
  }
}
Returns Examples
{
  "errors": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "messages": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "success": true,
  "result": [
    {
      "id": "25756b2dfe6e378a06b033b670413757",
      "action": "bypass_waiting_room",
      "description": "allow all traffic from 10.20.30.40",
      "enabled": true,
      "expression": "ip.src in {10.20.30.40}",
      "last_updated": "2014-01-01T05:20:00.12345Z",
      "version": "1"
    }
  ],
  "result_info": {
    "count": 1,
    "page": 1,
    "per_page": 20,
    "total_count": 2000
  }
}