Skip to content
Start here

Patch Waiting Room Rule

waiting_rooms.rules.edit(strrule_id, RuleEditParams**kwargs) -> SyncSinglePage[WaitingRoomRule]
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
zone_id: str

Identifier.

maxLength32
waiting_room_id: str
rule_id: str

The ID of the rule.

action: Literal["bypass_waiting_room"]

The action to take when the expression matches.

expression: str

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

description: Optional[str]

The description of the rule.

enabled: Optional[bool]

When set to true, the rule is enabled.

position: Optional[Position]

Reorder the position of a rule

One of the following:
class PositionIndex:
index: Optional[int]

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).

class PositionBefore:
before: Optional[str]

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.

class PositionAfter:
after: Optional[str]

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
class WaitingRoomRule:
id: Optional[str]

The ID of the rule.

action: Optional[Literal["bypass_waiting_room"]]

The action to take when the expression matches.

description: Optional[str]

The description of the rule.

enabled: Optional[bool]

When set to true, the rule is enabled.

expression: Optional[str]

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

last_updated: Optional[datetime]
formatdate-time
version: Optional[str]

The version of the rule.

Patch Waiting Room Rule

import os
from cloudflare import Cloudflare

client = Cloudflare(
    api_token=os.environ.get("CLOUDFLARE_API_TOKEN"),  # This is the default and can be omitted
)
page = client.waiting_rooms.rules.edit(
    rule_id="25756b2dfe6e378a06b033b670413757",
    zone_id="023e105f4ecef8ad9ca31a8372d0c353",
    waiting_room_id="699d98642c564d2e855e9661899b7252",
    action="bypass_waiting_room",
    expression="ip.src in {10.20.30.40}",
)
page = page.result[0]
print(page.id)
{
  "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
  }
}