Skip to main content

Cloudflare/waiting Rooms

@swamp/cloudflare/waiting-roomsv2026.10.23.1· AGPL-3.0-or-later· 3d agoBEHAVIORS
01README

Cloudflare waiting-rooms infrastructure models

02Release Notes
  • Updated: waiting_rooms
03Behaviors1
@swamp/cloudflare/waiting-rooms/waiting-roomsv2026.10.23.1waiting_rooms.ts

Global Arguments

ArgumentTypeDescription
zone_idstringCloudflare zone ID
additional_routes?arrayOnly available for the Waiting Room Advanced subscription. Additional hostname and path combinations to which this waiting room will be applied. There is an implied wildcard at the end of the path. The hostname and path combination must be unique to this and all other waiting rooms.
cookie_attributes?objectConfigures cookie attributes for the waiting room cookie. This encrypted cookie stores a user's status in the waiting room, such as queue position.
cookie_suffix?stringAppends a '_' + a custom suffix to the end of Cloudflare Waiting Room's cookie name(__cf_waitingroom). If `cookie_suffix` is \
custom_page_html?stringOnly available for the Waiting Room Advanced subscription. This is a template html file that will be rendered at the edge. If no custom_page_html is provided, the default waiting room will be used. The template is based on mustache ( https://mustache.github.io/ ). There are several variables that are evaluated by the Cloudflare edge:\n1. {{`waitTimeKnown`}} Acts like a boolean value that indicates the behavior to take when wait time is not available, for instance when queue_all is **true**.\n2.
default_template_language?enumThe language of the default page template. If no default_template_language is provided, then `en-US` (English) will be used.
description?stringA note that you can use to add more details about the waiting room.
disable_session_renewal?booleanOnly available for the Waiting Room Advanced subscription. Disables automatic renewal of session cookies. If `true`, an accepted user will have session_duration minutes to browse the site. After that, they will have to go through the waiting room again. If `false`, a user's session cookie will be automatically renewed on every request.
enabled_origin_commands?arrayA list of enabled origin commands.
host?stringThe host name to which the waiting room will be applied (no wildcards). Please do not include the scheme (http:// or https://). The host and path combination must be unique.
json_response_enabled?booleanOnly available for the Waiting Room Advanced subscription. If `true`, requests to the waiting room with the header `Accept: application/json` will receive a JSON response object with information on the user\
name?stringA unique name to identify the waiting room. Only alphanumeric characters, hyphens and underscores are allowed.
new_users_per_minute?numberSets the number of new users that will be let into the route every minute. This value is used as baseline for the number of users that are let in per minute. So it is possible that there is a little more or little less traffic coming to the route based on the traffic patterns at that time around the world.
path?stringSets the path within the host to enable the waiting room on. The waiting room will be enabled for all subpaths as well. If there are two waiting rooms on the same subpath, the waiting room for the most specific path will be chosen. Wildcards and query parameters are not supported.
queue_all?booleanIf queue_all is `true`, all the traffic that is coming to a route will be sent to the waiting room. No new traffic can get to the route once this field is set and estimated time will become unavailable.
queueing_method?enumSets the queueing method used by the waiting room. Changing this parameter from the **default** queueing method is only available for the Waiting Room Advanced subscription. Regardless of the queueing method, if `queue_all` is enabled or an event is prequeueing, users in the waiting room will not be accepted to the origin. These users will always see a waiting room page that refreshes automatically. The valid queueing methods are:\n1. `fifo` **(default)**: First-In-First-Out queue where customer
queueing_status_code?unionHTTP status code returned to a user while in the queue.
session_duration?numberLifetime of a cookie (in minutes) set by Cloudflare for users who get access to the route. If a user is not seen by Cloudflare again in that time period, they will be treated as a new user that visits the route.
suspended?booleanSuspends or allows traffic going to the waiting room. If set to `true`, the traffic will not go to the waiting room.
total_active_users?numberSets the total number of active user sessions on the route at a point in time. A route is a combination of host and path on which a waiting room is available. This value is used as a baseline for the total number of active user sessions on the route. It is possible to have a situation where there are more or less active users sessions on the route based on the traffic patterns at that time around the world.
turnstile_action?enumWhich action to take when a bot is detected using Turnstile. `log` will\nhave no impact on queueing behavior, simply keeping track of how many\nbots are detected in Waiting Room Analytics. `infinite_queue` will send\nbots to a false queueing state, where they will never reach your\norigin. `infinite_queue` requires Advanced Waiting Room.\n
turnstile_mode?enumWhich Turnstile widget type to use for detecting bot traffic. See\n[the Turnstile documentation](https://developers.cloudflare.com/turnstile/concepts/widget/#widget-types)\nfor the definitions of these widget types. Set to `off` to disable the\nTurnstile integration entirely. Setting this to anything other than\n`off` or `invisible` requires Advanced Waiting Room.\n
apiToken?stringCloudflare API token; overrides the CLOUDFLARE_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault.
apiKey?stringCloudflare API key for the legacy key+email auth path; overrides the CLOUDFLARE_API_KEY environment variable. Wire with a vault.get(...) expression. Requires email.
email?stringCloudflare account email for the legacy key+email auth path; overrides the CLOUDFLARE_EMAIL environment variable. Requires apiKey.
fn create()
Create a Waiting Rooms
fn get(id: string)
Get a Waiting Rooms
ArgumentTypeDescription
idstringThe ID of the Waiting Rooms
fn lookup(allowMissing?: boolean)
Look up an existing Waiting Rooms by matching global argument values and import it into state
ArgumentTypeDescription
allowMissing?booleanSucceed and record found: false in lookupResult when nothing matches, instead of failing
fn adopt(id: string)
Import an existing Waiting Rooms by ID into state for management
ArgumentTypeDescription
idstringThe ID of the Waiting Rooms to import
fn update(identifier?: string)
Update Waiting Rooms attributes
ArgumentTypeDescription
identifier?stringTarget a specific Waiting Rooms by id (e.g. one discovered by list)
fn delete(id: string)
Delete the Waiting Rooms
ArgumentTypeDescription
idstringThe ID of the Waiting Rooms
fn sync(identifier?: string)
Sync Waiting Rooms state from Cloudflare
ArgumentTypeDescription
identifier?stringTarget a specific Waiting Rooms by id (e.g. one discovered by list)

Resources

state(infinite)— Waiting Rooms resource state
lookupResult(infinite)— Outcome of the most recent lookup
04Previous Versions14
2026.10.20.1AGPL-3.0-or-later
  • Updated: waiting_rooms

Modified 1 behaviors

2026.10.16.1AGPL-3.0-or-later(was none)
2026.10.13.1
  • Updated: waiting_rooms
2026.09.29.1
  • Updated: waiting_rooms
2026.09.25.1
  • Updated: waiting_rooms
2026.08.26.1
  • Updated: waiting_rooms
2026.08.25.2
  • Updated: waiting_rooms
2026.08.25.1
  • Updated: waiting_rooms
2026.08.05.1
  • Updated: waiting_rooms
2026.07.21.1
  • Updated: waiting_rooms
2026.07.18.2

Modified 1 behaviors

2026.06.08.2
  • Updated: waiting_rooms
2026.05.29.1
  • Updated: waiting_rooms
2026.05.22.1
  • Added: waiting_rooms
05Stats
A
100 / 100
Downloads
25
Archive size
22.6 KB
Verified by Swamp
  • Has README or module doc2/2earned
  • README has a code example1/1earned
  • README is substantive1/1earned
  • Most symbols documented1/1earned
  • No slow types (deprecated)1/1earned
  • Dependencies pass trust audit2/2earned
  • Docs keep secrets in a vault1/1earned
  • Has description1/1earned
  • Platform support declared (or universal)2/2earned
  • License2/2earned
  • Verified public repository2/2earned
06Platforms
07Labels