- API Shield Endpoint Management
- API Shield Settings
- ASN Intelligence
- Access Bookmark applications (Deprecated)
- Access applications
- Access authentication logs
- Access groups
- Access identity providers
- Access key configuration
- Access mTLS authentication
- Access policies
- Access service tokens
- Access short-lived certificate CAs
- Account Billing Profile
- Account Load Balancer Monitors
- Account Load Balancer Pools
- Account Load Balancer Search
- Account Members
- Account Railguns
- Account Roles
- Account Rulesets
- List account rulesets
- Create an account ruleset
- Get an account entry point ruleset
- Update an account entry point ruleset
- List an account entry point ruleset's versions
- Get an account entry point ruleset version
- Delete an account ruleset
- Get an account ruleset
- Update an account ruleset
- Create an account ruleset rule
- Delete an account ruleset rule
- Update an account ruleset rule
- List an account ruleset's versions
- Delete an account ruleset version
- Get an account ruleset version
- List an account ruleset version's rules by tag
- Account Subscriptions
- Account-Level Custom Nameservers
- Account-Level Custom Nameservers Usage for a Zone
- Accounts
- Analyze Certificate
- Argo Analytics for Geolocation
- Argo Analytics for Zone
- Argo Smart Routing
- Argo Tunnel
- Audit Logs
- Available Page Rules settings
- Cache Rules
- Certificate Packs
- Client
- Cloudflare IPs
- Cloudflare Images
- Cloudflare Images Keys
- Cloudflare Images Variants
- Cloudflare Tunnel
- Cloudflare Tunnel configuration
- Config Rules
- Custom Error Responses
- Custom Hostname Fallback Origin for a Zone
- Custom Hostname for a Zone
- Custom SSL for a Zone
- Custom pages for a zone
- Custom pages for an account
- DLP Pattern Validation
- DLP Profiles
- DNS Analytics
- DNS Firewall
- DNS Firewall (Legacy)
- DNS Firewall Analytics
- DNS Firewall Analytics (Legacy)
- DNS Records for a Zone
- DNSSEC
- Device Managed Networks
- Device Posture Integrations
- Device Posture Rules
- Devices
- List Devices
- List Device Settings Policies
- Get Default Device Settings Policy
- Update Default Device Settings Policy
- Create Device Settings Policy
- Get Split Tunnel Exclude List
- Set Split Tunnel Exclude List
- Get Local Domain Fallback List
- Set Local Domain Fallback List
- Get Split Tunnel Include List
- Set Split Tunnel Include List
- Delete Device Settings Policy
- Get Device Settings Policy by ID
- Update Device Settings Policy
- Get Split Tunnel Exclude List for a Device Settings Policy
- Set Split Tunnel Exclude List for a Device Settings Policy
- Get Local Domain Fallback List for a Device Settings Policy
- Set Local Domain Fallback List for a Device Settings Policy
- Get Split Tunnel Include List for a Device Settings Policy
- Set Split Tunnel Include List for a Device Settings Policy
- Revoke Devices
- Unrevoke Devices
- Device Details
- List Admin Override code for device
- Diagnostics
- Domain History
- Domain Intelligence
- Durable Objects Namespace
- Email Routing destination addresses
- Email Routing routing rules
- Email Routing settings
- Filters
- Firewall rules
- Health Checks
- IP Access rules for a user
- IP Access rules for a zone
- IP Access rules for an account
- IP Address Management Address Maps
- Remove an account membership from an Address Map
- Add an account membership to an Address Map
- List Address Maps
- Create Address Map
- Delete Address Map
- Address Map Details
- Update Address Map
- Remove an IP from an Address Map
- Add an IP to an Address Map
- Remove a zone membership from an Address Map
- Add a zone membership to an Address Map
- IP Address Management Dynamic Advertisement
- IP Address Management Prefix Delegation
- IP Address Management Prefixes
- IP Intelligence
- IP List
- Keyless SSL for a Zone
- Lists
- Load Balancer Healthcheck Events
- Load Balancer Monitors
- Load Balancer Pools
- Load Balancer Regions
- Load Balancers
- Logpush Jobs
- Logs Received
- Magic GRE tunnels
- Magic IPsec tunnels
- Magic Interconnects
- Magic Network Monitoring Configuration
- Magic Network Monitoring Rules
- Magic PCAP collection
- Magic Static Routes
- Managed Transforms
- Miscategorization
- Notification Alert Types
- Notification History
- Notification Mechanism Eligibility
- Notification destinations with PagerDuty
- Notification policies
- Notification webhooks
- Organization Invites
- Organization Members
- Organization Railgun
- Organization Roles
- Organizations (Deprecated)
- Origin CA
- Origin Rules
- Page Rules
- Page Shield
- Pages Deployment
- Pages Domains
- Pages Project
- Passive DNS by IP
- Per-hostname Authenticated Origin Pull
- Permission Groups
- Phishing URL Information
- Phishing URL Scanner
- Queue
- R2 Bucket
- Radar Annotations
- Radar Attacks
- Get a summary of layer 3 attacks
- Get layer 3 attacks time series
- Get layer 3 attacks by network protocol, over time
- Get a summary of layer 7 attacks
- Get attacks layer 7 time series
- Get layer 7 attacks by mitigation technique, over time
- Get layer 7 top origin ASes
- Get layer 7 top attack pairs (origin and target locations)
- Get layer 7 top origin locations
- Get layer 7 top target locations
- Radar BGP
- Radar DNS
- Radar Datasets
- Radar Entities
- Radar Http
- Get a summary of bot classes
- Get a summary of device types
- Get a summary of HTTP protocols
- Get a summary of HTTP versions
- Get a summary of IP versions
- Get a summary of operating systems
- Get a summary of TLS versions
- Get time series of bot classes
- Get time series of user agents
- Get time series of user agents aggregated in families
- Get time series of device types
- Get time series of HTTP protocols
- Get time series of HTTP versions
- Get time series of IP versions
- Get time series of operating systems
- Get time series of TLS versions
- Get top autonomous systems by HTTP requests
- Get top autonomous systems by bot class
- Get top autonomous systems by device type
- Get top autonomous systems by HTTP protocol
- Get top autonomous systems by HTTP version
- Get top autonomous systems by IP version
- Get top autonomous systems by operating system
- Get top autonomous systems by TLS version
- Get top user agents aggregated in families by HTTP requests
- Get top user agents by HTTP requests
- Get top locations by HTTP requests
- Get top locations by bot class
- Get top locations by device type
- Get top locations by HTTP protocol
- Get top locations by HTTP version
- Get top locations by IP version
- Get top locations by operating system
- Get top locations by TLS version
- Radar Netflows
- Radar Ranking
- Radar Search
- Radar Special Events
- Radar Verified Bots
- Railgun
- Railgun Connections
- Railgun Connections for a Zone
- Rate limits for a zone
- Registrar Domains
- SSL Verification
- SSL
- Secondary DNS (ACL)
- Secondary DNS (Peer)
- Secondary DNS (Primary Zone)
- Secondary DNS (Secondary Zone)
- Secondary DNS (TSIG)
- Single Redirect Rules
- Spectrum Aggregate Analytics
- Spectrum Analytics (By Time)
- Spectrum Analytics (Summary)
- Spectrum Applications
- Stream Live Inputs
- Stream MP4 Downloads
- Stream Signing Keys
- Stream Subtitles
- Stream Video Clipping
- Stream Videos
- Stream Watermark Profile
- Stream Webhook
- Total TLS
- Transform Rules
- Tunnel Virtual Network
- Tunnel route
- URL Normalization
- Universal SSL Settings for a Zone
- User
- User API Tokens
- User Agent Blocking rules
- User Billing History
- User Billing Profile
- User Subscription
- User's Account Memberships
- User's Invites
- User's Organizations
- WAF overrides
- WAF packages
- WAF rule groups
- WAF rules
- WHOIS Record
- Waiting Room
- List waiting roomsGET
- Create waiting roomPOST
- Create a custom waiting room page previewPOST
- Delete waiting roomDELETE
- Waiting room detailsGET
- Patch waiting roomPATCH
- Update waiting roomPUT
- List eventsGET
- Create eventPOST
- Delete eventDELETE
- Event detailsGET
- Patch eventPATCH
- Update eventPUT
- Preview active event detailsGET
- List Waiting Room RulesGET
- Create Waiting Room RulePOST
- Replace Waiting Room RulesPUT
- Delete Waiting Room RuleDELETE
- Patch Waiting Room RulePATCH
- Get waiting room statusGET
- Web3 Hostname
- List Web3 Hostnames
- Create Web3 Hostname
- Delete Web3 Hostname
- Web3 Hostname Details
- Edit Web3 Hostname
- IPFS Universal Path Gateway Content List Details
- Update IPFS Universal Path Gateway Content List
- List IPFS Universal Path Gateway Content List Entries
- Create IPFS Universal Path Gateway Content List Entry
- Delete IPFS Universal Path Gateway Content List Entry
- IPFS Universal Path Gateway Content List Entry Details
- Edit IPFS Universal Path Gateway Content List Entry
- Worker Account Settings
- Worker Binding (Deprecated)
- Worker Cron Trigger
- Worker Deployments
- Worker Domain
- Worker Filters (Deprecated)
- Worker Routes
- Worker Script
- Worker Script (Deprecated)
- Worker Subdomain
- Worker Tail Logs
- Workers KV Namespace
- Workers KV Request Analytics
- Workers KV Stored Data Analytics
- Zero Trust Gateway Application and Application Type mappings
- Zero Trust Gateway Categories
- Zero Trust Gateway Locations
- Zero Trust Gateway Proxy Endpoints
- Zero Trust Gateway Rules
- Zero Trust Lists
- Zero Trust accounts
- Get device settings for Zero Trust account
- Update device settings for the Zero Trust account
- Get Zero Trust account information
- Create Zero Trust account
- Get Zero Trust account configuration
- Update Zero Trust account configuration
- Get logging settings for the Zero Trust account
- Update logging settings for the Zero Trust account
- Zero Trust organization
- Zero Trust seats
- Zero Trust users
- Zone
- Zone Analytics (Deprecated)
- Zone Cache Settings
- Zone Lockdown
- Zone Rate Plan
- Zone Rulesets
- List zone rulesets
- Create a zone ruleset
- Get a zone entry point ruleset
- Update a zone entry point ruleset
- List a zone entry point ruleset's versions
- Get a zone entry point ruleset version
- Delete a zone ruleset
- Get a zone ruleset
- Update a zone ruleset
- Create a zone ruleset rule
- Delete a zone ruleset rule
- Update a zone ruleset rule
- List a zone ruleset's versions
- Delete a zone ruleset version
- Get a zone ruleset version
- Zone Settings
- Get all Zone settings
- Edit zone settings info
- Get 0-RTT session resumption setting
- Change 0-RTT session resumption setting
- Get Advanced DDOS setting
- Get Always Online setting
- Change Always Online setting
- Get Always Use HTTPS setting
- Change Always Use HTTPS setting
- Get Automatic HTTPS Rewrites setting
- Change Automatic HTTPS Rewrites setting
- Get Automatic Platform Optimization for WordPress settings
- Change Automatic Platform Optimization for WordPress settings
- Get Brotli setting
- Change Brotli setting
- Get Browser Cache TTL setting
- Change Browser Cache TTL setting
- Get Browser Check setting
- Change Browser Check setting
- Get Cache Level setting
- Change Cache Level setting
- Get Challenge TTL setting
- Change Challenge TTL setting
- Get ciphers setting
- Change ciphers setting
- Get Development Mode setting
- Change Development Mode setting
- Get Early Hints setting
- Change Early Hints setting
- Get Email Obfuscation setting
- Change Email Obfuscation setting
- Get HTTP/2 Edge Prioritization setting
- Change HTTP/2 Edge Prioritization setting
- Get Hotlink Protection setting
- Change Hotlink Protection setting
- Get HTTP2 setting
- Change HTTP2 setting
- Get HTTP3 setting
- Change HTTP3 setting
- Get Image Resizing setting
- Change Image Resizing setting
- Get IP Geolocation setting
- Change IP Geolocation setting
- Get IPv6 setting
- Change IPv6 setting
- Get Minimum TLS Version setting
- Change Minimum TLS Version setting
- Get Minify setting
- Change Minify setting
- Get Mirage setting
- Change Mirage setting
- Get Mobile Redirect setting
- Change Mobile Redirect setting
- Get Network Error Logging setting
- Change Network Error Logging setting
- Get Opportunistic Encryption setting
- Change Opportunistic Encryption setting
- Get Opportunistic Onion setting
- Change Opportunistic Onion setting
- Get Orange to Orange (O2O)
- Change Orange to Orange (O2O)
- Get Enable Error Pages On setting
- Change Enable Error Pages On setting
- Get Origin Max HTTP version setting
- Change Origin Max HTTP version setting
- Get Polish setting
- Change Polish setting
- Get prefetch preload setting
- Change prefetch preload setting
- Get Privacy Pass setting
- Change Privacy Pass setting
- Get Proxy Read Timeout setting
- Change Proxy Read Timeout setting
- Get Pseudo IPv4 setting
- Change Pseudo IPv4 setting
- Get Response Buffering setting
- Change Response Buffering setting
- Get Rocket Loader setting
- Change Rocket Loader setting
- Get Security Header (HSTS) setting
- Change Security Header (HSTS) setting
- Get Security Level setting
- Change Security Level setting
- Get Server Side Exclude setting
- Change Server Side Exclude setting
- Get Enable Query String Sort setting
- Change Enable Query String Sort setting
- Get SSL setting
- Change SSL setting
- Get SSL/TLS Recommender enrollment
- Change SSL/TLS Recommender enrollment
- Get TLS 1.3 setting enabled for a zone
- Change TLS 1.3 setting
- Get TLS Client Auth setting
- Change TLS Client Auth setting
- Get True Client IP setting
- Change True Client IP setting
- Get Web Application Firewall (WAF) setting
- Change Web Application Firewall (WAF) setting
- Get WebP setting
- Change WebP setting
- Get WebSockets setting
- Change WebSockets setting
- Zone Subscription
- Zone-Level Access applications
- Zone-Level Access groups
- Zone-Level Access identity providers
- Zone-Level Access mTLS authentication
- Zone-Level Access policies
- Zone-Level Access service tokens
- Zone-Level Access short-lived certificate CAs
- Zone-Level Authenticated Origin Pulls
- Zone-Level Zero Trust organization
- mTLS Certificate Management
Create waiting room
POST
https://api.cloudflare.com/client/v4/zones/{zone_identifier}/waiting_rooms
Waiting Room
Last modified:2022-12-16 13:48:35
Request
Path Params
zone_identifier
string
required
Body Params application/json
cookie_attributes
object (cookie_attributes)
optional
samesite
enum<string>
optional
auto
will be translated to lax
or none
depending if Always Use HTTPS is enabled. Note that when using value none
, the secure attribute cannot be set to never
.Allowed values:
autolaxnonestrict
Default:
auto
Example:
auto
secure
enum<string>
optional
always
indicates that the Secure attribute will be set in the Set-Cookie header, never
indicates that the Secure attribute will not be set, and auto
will set the Secure attribute depending if Always Use HTTPS is enabled.Allowed values:
autoalwaysnever
Default:
auto
Example:
auto
custom_page_html
string
optional
1.
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.2.
waitTimeFormatted
}} Estimated wait time for the user. For example, five minutes. Alternatively, you can use:3.
waitTime
}} Number of minutes of estimated wait for a user.4.
waitTimeHours
}} Number of hours of estimated wait for a user (Math.floor(waitTime/60)
).5.
waitTimeHourMinutes
}} Number of minutes above the waitTimeHours
value (waitTime%60
).6.
queueIsFull
}} Changes to true when no more people can be added to the queue.cfWaitingRoom
object described under the json_response_enabled
property in other Waiting Room API calls.Default:
Example:
{{#waitTimeKnown}} {{waitTime}} mins {{/waitTimeKnown}} {{^waitTimeKnown}} Queue all enabled {{/waitTimeKnown}}
default_template_language
enum<string>
optional
en-US
(English) will be used.Allowed values:
en-USes-ESde-DEfr-FRit-ITja-JPko-KRpt-BRzh-CNzh-TWnl-NLpl-PLid-IDtr-TRar-EG
Default:
en-US
Example:
es-ES
description
string
optional
Default:
Example:
Production - DO NOT MODIFY
disable_session_renewal
boolean
optional
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.Default:
false
Example:
false
host
string
required
Example:
shop.example.com
json_response_enabled
boolean
optional
true
, requests to the waiting room with the header Accept: application/json
will receive a JSON response object with information on the user's status in the waiting room as opposed to the configured static HTML page. This JSON response object has one property cfWaitingRoom
which is an object containing the following fields:1.
inWaitingRoom
: Boolean indicating if the user is in the waiting room (always true).2.
waitTimeKnown
: Boolean indicating if the current estimated wait times are accurate. If false, they are not available.3.
waitTime
: Valid only when waitTimeKnown
is true. Integer indicating the current estimated time in minutes the user will wait in the waiting room. When queueingMethod
is random, this is set to waitTime50Percentile
.4.
waitTime25Percentile
: Valid only when queueingMethod
is random and waitTimeKnown
is true. Integer indicating the current estimated maximum wait time for the 25% of users that gain entry the fastest (25th percentile).5.
waitTime50Percentile
: Valid only when queueingMethod
is random and waitTimeKnown
is true. Integer indicating the current estimated maximum wait time for the 50% of users that gain entry the fastest (50th percentile). In other words, half of the queued users are expected to let into the origin website before waitTime50Percentile
and half are expected to be let in after it.6.
waitTime75Percentile
: Valid only when queueingMethod
is random and waitTimeKnown
is true. Integer indicating the current estimated maximum wait time for the 75% of users that gain entry the fastest (75th percentile).7.
waitTimeFormatted
: String displaying the waitTime
formatted in English for users. If waitTimeKnown
is false, waitTimeFormatted
will display unavailable.8.
queueIsFull
: Boolean indicating if the waiting room's queue is currently full and not accepting new users at the moment.9.
queueAll
: Boolean indicating if all users will be queued in the waiting room and no one will be let into the origin website.10.
lastUpdated
: String displaying the timestamp as an ISO 8601 string of the user's last attempt to leave the waiting room and be let into the origin website. The user is able to make another attempt after refreshIntervalSeconds
past this time. If the user makes a request too soon, it will be ignored and lastUpdated
will not change.11.
refreshIntervalSeconds
: Integer indicating the number of seconds after lastUpdated
until the user is able to make another attempt to leave the waiting room and be let into the origin website. When the queueingMethod
is reject
, there is no specified refresh time — it will always be zero.12.
queueingMethod
: The queueing method currently used by the waiting room. It is either fifo, random, passthrough, or reject.13.
isFIFOQueue
: Boolean indicating if the waiting room uses a FIFO (First-In-First-Out) queue.14.
isRandomQueue
: Boolean indicating if the waiting room uses a Random queue where users gain access randomly.15.
isPassthroughQueue
: Boolean indicating if the waiting room uses a passthrough queue. Keep in mind that when passthrough is enabled, this JSON response will only exist when queueAll
is true or isEventPrequeueing
is true because in all other cases requests will go directly to the origin.16.
isRejectQueue
: Boolean indicating if the waiting room uses a reject queue.17.
isEventActive
: Boolean indicating if an event is currently occurring. Events are able to change a waiting room's behavior during a specified period of time. For additional information, look at the event properties prequeue_start_time
, event_start_time
, and event_end_time
in the documentation for creating waiting room events. Events are considered active between these start and end times, as well as during the prequeueing period if it exists.18.
isEventPrequeueing
: Valid only when isEventActive
is true. Boolean indicating if an event is currently prequeueing users before it starts.19.
timeUntilEventStart
: Valid only when isEventPrequeueing
is true. Integer indicating the number of minutes until the event starts.20.
timeUntilEventStartFormatted
: String displaying the timeUntilEventStart
formatted in English for users. If isEventPrequeueing
is false, timeUntilEventStartFormatted
will display unavailable.21.
timeUntilEventEnd
: Valid only when isEventActive
is true. Integer indicating the number of minutes until the event ends.22.
timeUntilEventEndFormatted
: String displaying the timeUntilEventEnd
formatted in English for users. If isEventActive
is false, timeUntilEventEndFormatted
will display unavailable.23.
shuffleAtEventStart
: Valid only when isEventActive
is true. Boolean indicating if the users in the prequeue are shuffled randomly when the event starts.-H "Accept: application/json"
json_response_enabled
is true and the request hits the waiting room, an example JSON response when queueingMethod
is fifo and no event is active could be:"cfWaitingRoom": {
"inWaitingRoom": true,
"waitTimeKnown": true,
"waitTime": 10,
"waitTime25Percentile": 0,
"waitTime50Percentile": 0,
"waitTime75Percentile": 0,
"waitTimeFormatted": "10 minutes",
"queueIsFull": false,
"queueAll": false,
"lastUpdated": "2020-08-03T23:46:00.000Z",
"refreshIntervalSeconds": 20,
"queueingMethod": "fifo",
"isFIFOQueue": true,
"isRandomQueue": false,
"isPassthroughQueue": false,
"isRejectQueue": false,
"isEventActive": false,
"isEventPrequeueing": false,
"timeUntilEventStart": 0,
"timeUntilEventStartFormatted": "unavailable",
"timeUntilEventEnd": 0,
"timeUntilEventEndFormatted": "unavailable",
"shuffleAtEventStart": false
}
}
json_response_enabled
is true and the request hits the waiting room, an example JSON response when queueingMethod
is random and an event is active could be:"cfWaitingRoom": {
"inWaitingRoom": true,
"waitTimeKnown": true,
"waitTime": 10,
"waitTime25Percentile": 5,
"waitTime50Percentile": 10,
"waitTime75Percentile": 15,
"waitTimeFormatted": "5 minutes to 15 minutes",
"queueIsFull": false,
"queueAll": false,
"lastUpdated": "2020-08-03T23:46:00.000Z",
"refreshIntervalSeconds": 20,
"queueingMethod": "random",
"isFIFOQueue": false,
"isRandomQueue": true,
"isPassthroughQueue": false,
"isRejectQueue": false,
"isEventActive": true,
"isEventPrequeueing": false,
"timeUntilEventStart": 0,
"timeUntilEventStartFormatted": "unavailable",
"timeUntilEventEnd": 15,
"timeUntilEventEndFormatted": "15 minutes",
"shuffleAtEventStart": true
}
}.
Default:
false
Example:
false
name
string
required
Example:
production_webinar
new_users_per_minute
integer
required
>= 200<= 2147483647
path
string
optional
Default:
/
Example:
/shop/checkout
queue_all
boolean
optional
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.Default:
false
Example:
true
queueing_method
enum<string>
optional
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:1.
fifo
(default): First-In-First-Out queue where customers gain access in the order they arrived.2.
random
: Random queue where customers gain access randomly, regardless of arrival time.3.
passthrough
: Users will pass directly through the waiting room and into the origin website. As a result, any configured limits will not be respected while this is enabled. This method can be used as an alternative to disabling a waiting room (with suspended
) so that analytics are still reported. This can be used if you wish to allow all traffic normally, but want to restrict traffic during a waiting room event, or vice versa.4.
reject
: Users will be immediately rejected from the waiting room. As a result, no users will reach the origin website while this is enabled. This can be used if you wish to reject all traffic while performing maintenance, block traffic during a specified period of time (an event), or block traffic while events are not occurring. Consider a waiting room used for vaccine distribution that only allows traffic during sign-up events, and otherwise blocks all traffic. For this case, the waiting room uses reject
, and its events override this with fifo
, random
, or passthrough
. When this queueing method is enabled and neither queueAll
is enabled nor an event is prequeueing, the waiting room page will not refresh automatically.Allowed values:
fiforandompassthroughreject
Default:
fifo
Example:
fifo
session_duration
integer
optional
>= 1<= 30
Default:
5
suspended
boolean
optional
true
, the traffic will not go to the waiting room.Default:
false
total_active_users
integer
required
>= 200<= 2147483647
Example
{
"cookie_attributes": {
"samesite": "auto",
"secure": "auto"
},
"custom_page_html": "{{#waitTimeKnown}} {{waitTime}} mins {{/waitTimeKnown}} {{^waitTimeKnown}} Queue all enabled {{/waitTimeKnown}}",
"default_template_language": "es-ES",
"description": "Production - DO NOT MODIFY",
"disable_session_renewal": false,
"host": "shop.example.com",
"json_response_enabled": false,
"name": "production_webinar",
"new_users_per_minute": 200,
"path": "/shop/checkout",
"queue_all": true,
"queueing_method": "fifo",
"session_duration": 5,
"suspended": false,
"total_active_users": 200
}
Request samples
Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST 'https://api.cloudflare.com/client/v4/zones//waiting_rooms' \
--header 'Content-Type: application/json' \
--data-raw '{
"cookie_attributes": {
"samesite": "auto",
"secure": "auto"
},
"custom_page_html": "{{#waitTimeKnown}} {{waitTime}} mins {{/waitTimeKnown}} {{^waitTimeKnown}} Queue all enabled {{/waitTimeKnown}}",
"default_template_language": "es-ES",
"description": "Production - DO NOT MODIFY",
"disable_session_renewal": false,
"host": "shop.example.com",
"json_response_enabled": false,
"name": "production_webinar",
"new_users_per_minute": 200,
"path": "/shop/checkout",
"queue_all": true,
"queueing_method": "fifo",
"session_duration": 5,
"suspended": false,
"total_active_users": 200
}'
Responses
🟢200Create waiting room response
application/json
Body
allOf {2}
optional
object (api-response-single)
optional
errors
array [object {2}]
messages
Example:
[]
messages
array [object {2}]
messages
Example:
[]
result
required
success
enum<boolean>
required
Allowed value:
true
Example:
true
object
optional
result
object (waitingroom)
optional
Example
{
"errors": [],
"messages": [],
"result": {
"cookie_attributes": {
"samesite": "auto",
"secure": "auto"
},
"created_on": "2014-01-01T05:20:00.12345Z",
"custom_page_html": "{{#waitTimeKnown}} {{waitTime}} mins {{/waitTimeKnown}} {{^waitTimeKnown}} Queue all enabled {{/waitTimeKnown}}",
"default_template_language": "es-ES",
"description": "Production - DO NOT MODIFY",
"disable_session_renewal": false,
"host": "shop.example.com",
"id": "699d98642c564d2e855e9661899b7252",
"json_response_enabled": false,
"modified_on": "2014-01-01T05:20:00.12345Z",
"name": "production_webinar",
"new_users_per_minute": 200,
"next_event_prequeue_start_time": "2021-09-28T15:00:00.000Z",
"next_event_start_time": "2021-09-28T15:00:00.000Z",
"path": "/shop/checkout",
"queue_all": true,
"queueing_method": "fifo",
"session_duration": 5,
"suspended": false,
"total_active_users": 200
},
"success": true
}
🟢200Create waiting room response failure