1. Packages
  2. Cloudflare Provider
  3. API Docs
  4. getWaitingRooms
Cloudflare v6.1.2 published on Monday, Apr 28, 2025 by Pulumi

cloudflare.getWaitingRooms

Explore with Pulumi AI

cloudflare logo
Cloudflare v6.1.2 published on Monday, Apr 28, 2025 by Pulumi

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as cloudflare from "@pulumi/cloudflare";
    
    const exampleWaitingRooms = cloudflare.getWaitingRooms({
        accountId: "account_id",
        zoneId: "zone_id",
    });
    
    import pulumi
    import pulumi_cloudflare as cloudflare
    
    example_waiting_rooms = cloudflare.get_waiting_rooms(account_id="account_id",
        zone_id="zone_id")
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-cloudflare/sdk/v6/go/cloudflare"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := cloudflare.LookupWaitingRooms(ctx, &cloudflare.LookupWaitingRoomsArgs{
    			AccountId: pulumi.StringRef("account_id"),
    			ZoneId:    pulumi.StringRef("zone_id"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Cloudflare = Pulumi.Cloudflare;
    
    return await Deployment.RunAsync(() => 
    {
        var exampleWaitingRooms = Cloudflare.GetWaitingRooms.Invoke(new()
        {
            AccountId = "account_id",
            ZoneId = "zone_id",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.cloudflare.CloudflareFunctions;
    import com.pulumi.cloudflare.inputs.GetWaitingRoomsArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            final var exampleWaitingRooms = CloudflareFunctions.getWaitingRooms(GetWaitingRoomsArgs.builder()
                .accountId("account_id")
                .zoneId("zone_id")
                .build());
    
        }
    }
    
    variables:
      exampleWaitingRooms:
        fn::invoke:
          function: cloudflare:getWaitingRooms
          arguments:
            accountId: account_id
            zoneId: zone_id
    

    Using getWaitingRooms

    Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.

    function getWaitingRooms(args: GetWaitingRoomsArgs, opts?: InvokeOptions): Promise<GetWaitingRoomsResult>
    function getWaitingRoomsOutput(args: GetWaitingRoomsOutputArgs, opts?: InvokeOptions): Output<GetWaitingRoomsResult>
    def get_waiting_rooms(account_id: Optional[str] = None,
                          max_items: Optional[int] = None,
                          zone_id: Optional[str] = None,
                          opts: Optional[InvokeOptions] = None) -> GetWaitingRoomsResult
    def get_waiting_rooms_output(account_id: Optional[pulumi.Input[str]] = None,
                          max_items: Optional[pulumi.Input[int]] = None,
                          zone_id: Optional[pulumi.Input[str]] = None,
                          opts: Optional[InvokeOptions] = None) -> Output[GetWaitingRoomsResult]
    func LookupWaitingRooms(ctx *Context, args *LookupWaitingRoomsArgs, opts ...InvokeOption) (*LookupWaitingRoomsResult, error)
    func LookupWaitingRoomsOutput(ctx *Context, args *LookupWaitingRoomsOutputArgs, opts ...InvokeOption) LookupWaitingRoomsResultOutput

    > Note: This function is named LookupWaitingRooms in the Go SDK.

    public static class GetWaitingRooms 
    {
        public static Task<GetWaitingRoomsResult> InvokeAsync(GetWaitingRoomsArgs args, InvokeOptions? opts = null)
        public static Output<GetWaitingRoomsResult> Invoke(GetWaitingRoomsInvokeArgs args, InvokeOptions? opts = null)
    }
    public static CompletableFuture<GetWaitingRoomsResult> getWaitingRooms(GetWaitingRoomsArgs args, InvokeOptions options)
    public static Output<GetWaitingRoomsResult> getWaitingRooms(GetWaitingRoomsArgs args, InvokeOptions options)
    
    fn::invoke:
      function: cloudflare:index/getWaitingRooms:getWaitingRooms
      arguments:
        # arguments dictionary

    The following arguments are supported:

    AccountId string
    The Account ID to use for this endpoint. Mutually exclusive with the Zone ID.
    MaxItems int
    Max items to fetch, default: 1000
    ZoneId string
    The Zone ID to use for this endpoint. Mutually exclusive with the Account ID.
    AccountId string
    The Account ID to use for this endpoint. Mutually exclusive with the Zone ID.
    MaxItems int
    Max items to fetch, default: 1000
    ZoneId string
    The Zone ID to use for this endpoint. Mutually exclusive with the Account ID.
    accountId String
    The Account ID to use for this endpoint. Mutually exclusive with the Zone ID.
    maxItems Integer
    Max items to fetch, default: 1000
    zoneId String
    The Zone ID to use for this endpoint. Mutually exclusive with the Account ID.
    accountId string
    The Account ID to use for this endpoint. Mutually exclusive with the Zone ID.
    maxItems number
    Max items to fetch, default: 1000
    zoneId string
    The Zone ID to use for this endpoint. Mutually exclusive with the Account ID.
    account_id str
    The Account ID to use for this endpoint. Mutually exclusive with the Zone ID.
    max_items int
    Max items to fetch, default: 1000
    zone_id str
    The Zone ID to use for this endpoint. Mutually exclusive with the Account ID.
    accountId String
    The Account ID to use for this endpoint. Mutually exclusive with the Zone ID.
    maxItems Number
    Max items to fetch, default: 1000
    zoneId String
    The Zone ID to use for this endpoint. Mutually exclusive with the Account ID.

    getWaitingRooms Result

    The following output properties are available:

    Id string
    The provider-assigned unique ID for this managed resource.
    Results List<GetWaitingRoomsResult>
    The items returned by the data source
    AccountId string
    The Account ID to use for this endpoint. Mutually exclusive with the Zone ID.
    MaxItems int
    Max items to fetch, default: 1000
    ZoneId string
    The Zone ID to use for this endpoint. Mutually exclusive with the Account ID.
    Id string
    The provider-assigned unique ID for this managed resource.
    Results []GetWaitingRoomsResult
    The items returned by the data source
    AccountId string
    The Account ID to use for this endpoint. Mutually exclusive with the Zone ID.
    MaxItems int
    Max items to fetch, default: 1000
    ZoneId string
    The Zone ID to use for this endpoint. Mutually exclusive with the Account ID.
    id String
    The provider-assigned unique ID for this managed resource.
    results List<GetWaitingRoomsResult>
    The items returned by the data source
    accountId String
    The Account ID to use for this endpoint. Mutually exclusive with the Zone ID.
    maxItems Integer
    Max items to fetch, default: 1000
    zoneId String
    The Zone ID to use for this endpoint. Mutually exclusive with the Account ID.
    id string
    The provider-assigned unique ID for this managed resource.
    results GetWaitingRoomsResult[]
    The items returned by the data source
    accountId string
    The Account ID to use for this endpoint. Mutually exclusive with the Zone ID.
    maxItems number
    Max items to fetch, default: 1000
    zoneId string
    The Zone ID to use for this endpoint. Mutually exclusive with the Account ID.
    id str
    The provider-assigned unique ID for this managed resource.
    results Sequence[GetWaitingRoomsResult]
    The items returned by the data source
    account_id str
    The Account ID to use for this endpoint. Mutually exclusive with the Zone ID.
    max_items int
    Max items to fetch, default: 1000
    zone_id str
    The Zone ID to use for this endpoint. Mutually exclusive with the Account ID.
    id String
    The provider-assigned unique ID for this managed resource.
    results List<Property Map>
    The items returned by the data source
    accountId String
    The Account ID to use for this endpoint. Mutually exclusive with the Zone ID.
    maxItems Number
    Max items to fetch, default: 1000
    zoneId String
    The Zone ID to use for this endpoint. Mutually exclusive with the Account ID.

    Supporting Types

    GetWaitingRoomsResult

    AdditionalRoutes List<GetWaitingRoomsResultAdditionalRoute>
    Only 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.
    CookieAttributes GetWaitingRoomsResultCookieAttributes
    Configures cookie attributes for the waiting room cookie. This encrypted cookie stores a user's status in the waiting room, such as queue position.
    CookieSuffix string
    Appends a '' + a custom suffix to the end of Cloudflare Waiting Room's cookie name(cfwaitingroom). If cookie_suffix is "abcd", the cookie name will be __cf_waitingroom_abcd. This field is required if using additional_routes.
    CreatedOn string
    CustomPageHtml string
    Only available for the Waiting Room Advanced subscription. This is a template html file that will be rendered at the edge. If no custompagehtml 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:
    DefaultTemplateLanguage string
    The language of the default page template. If no default_template_language is provided, then en-US (English) will be used. Available values: "en-US", "es-ES", "de-DE", "fr-FR", "it-IT", "ja-JP", "ko-KR", "pt-BR", "zh-CN", "zh-TW", "nl-NL", "pl-PL", "id-ID", "tr-TR", "ar-EG", "ru-RU", "fa-IR", "bg-BG", "hr-HR", "cs-CZ", "da-DK", "fi-FI", "lt-LT", "ms-MY", "nb-NO", "ro-RO", "el-GR", "he-IL", "hi-IN", "hu-HU", "sr-BA", "sk-SK", "sl-SI", "sv-SE", "tl-PH", "th-TH", "uk-UA", "vi-VN".
    Description string
    A note that you can use to add more details about the waiting room.
    DisableSessionRenewal bool
    Only 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.
    EnabledOriginCommands List<string>
    A list of enabled origin commands.
    Host string
    The 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.
    Id string
    JsonResponseEnabled bool

    Only 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'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.

    An example cURL to a waiting room could be:

    curl -X GET "https://example.com/waitingroom" \
        -H "Accept: application/json"
    

    If 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
        }
    }
    

    If 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
        }
    }.
    
    ModifiedOn string
    Name string
    A unique name to identify the waiting room. Only alphanumeric characters, hyphens and underscores are allowed.
    NewUsersPerMinute int
    Sets 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.
    NextEventPrequeueStartTime string
    An ISO 8601 timestamp that marks when the next event will begin queueing.
    NextEventStartTime string
    An ISO 8601 timestamp that marks when the next event will start.
    Path string
    Sets 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.
    QueueAll bool
    If 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.
    QueueingMethod string
    Sets 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:

    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. Available values: "fifo", "random", "passthrough", "reject".
    QueueingStatusCode int
    HTTP status code returned to a user while in the queue. Available values: 200, 202, 429.
    SessionDuration int
    Lifetime 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 bool
    Suspends or allows traffic going to the waiting room. If set to true, the traffic will not go to the waiting room.
    TotalActiveUsers int
    Sets 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.
    TurnstileAction string
    Which action to take when a bot is detected using Turnstile. log will have no impact on queueing behavior, simply keeping track of how many bots are detected in Waiting Room Analytics. infinite_queue will send bots to a false queueing state, where they will never reach your origin. infinite_queue requires Advanced Waiting Room. Available values: "log", "infinite_queue".
    TurnstileMode string
    Which Turnstile widget type to use for detecting bot traffic. See the Turnstile documentation for the definitions of these widget types. Set to off to disable the Turnstile integration entirely. Setting this to anything other than off or invisible requires Advanced Waiting Room. Available values: "off", "invisible", "visible_non_interactive", "visible_managed".
    AdditionalRoutes []GetWaitingRoomsResultAdditionalRoute
    Only 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.
    CookieAttributes GetWaitingRoomsResultCookieAttributes
    Configures cookie attributes for the waiting room cookie. This encrypted cookie stores a user's status in the waiting room, such as queue position.
    CookieSuffix string
    Appends a '' + a custom suffix to the end of Cloudflare Waiting Room's cookie name(cfwaitingroom). If cookie_suffix is "abcd", the cookie name will be __cf_waitingroom_abcd. This field is required if using additional_routes.
    CreatedOn string
    CustomPageHtml string
    Only available for the Waiting Room Advanced subscription. This is a template html file that will be rendered at the edge. If no custompagehtml 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:
    DefaultTemplateLanguage string
    The language of the default page template. If no default_template_language is provided, then en-US (English) will be used. Available values: "en-US", "es-ES", "de-DE", "fr-FR", "it-IT", "ja-JP", "ko-KR", "pt-BR", "zh-CN", "zh-TW", "nl-NL", "pl-PL", "id-ID", "tr-TR", "ar-EG", "ru-RU", "fa-IR", "bg-BG", "hr-HR", "cs-CZ", "da-DK", "fi-FI", "lt-LT", "ms-MY", "nb-NO", "ro-RO", "el-GR", "he-IL", "hi-IN", "hu-HU", "sr-BA", "sk-SK", "sl-SI", "sv-SE", "tl-PH", "th-TH", "uk-UA", "vi-VN".
    Description string
    A note that you can use to add more details about the waiting room.
    DisableSessionRenewal bool
    Only 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.
    EnabledOriginCommands []string
    A list of enabled origin commands.
    Host string
    The 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.
    Id string
    JsonResponseEnabled bool

    Only 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'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.

    An example cURL to a waiting room could be:

    curl -X GET "https://example.com/waitingroom" \
        -H "Accept: application/json"
    

    If 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
        }
    }
    

    If 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
        }
    }.
    
    ModifiedOn string
    Name string
    A unique name to identify the waiting room. Only alphanumeric characters, hyphens and underscores are allowed.
    NewUsersPerMinute int
    Sets 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.
    NextEventPrequeueStartTime string
    An ISO 8601 timestamp that marks when the next event will begin queueing.
    NextEventStartTime string
    An ISO 8601 timestamp that marks when the next event will start.
    Path string
    Sets 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.
    QueueAll bool
    If 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.
    QueueingMethod string
    Sets 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:

    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. Available values: "fifo", "random", "passthrough", "reject".
    QueueingStatusCode int
    HTTP status code returned to a user while in the queue. Available values: 200, 202, 429.
    SessionDuration int
    Lifetime 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 bool
    Suspends or allows traffic going to the waiting room. If set to true, the traffic will not go to the waiting room.
    TotalActiveUsers int
    Sets 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.
    TurnstileAction string
    Which action to take when a bot is detected using Turnstile. log will have no impact on queueing behavior, simply keeping track of how many bots are detected in Waiting Room Analytics. infinite_queue will send bots to a false queueing state, where they will never reach your origin. infinite_queue requires Advanced Waiting Room. Available values: "log", "infinite_queue".
    TurnstileMode string
    Which Turnstile widget type to use for detecting bot traffic. See the Turnstile documentation for the definitions of these widget types. Set to off to disable the Turnstile integration entirely. Setting this to anything other than off or invisible requires Advanced Waiting Room. Available values: "off", "invisible", "visible_non_interactive", "visible_managed".
    additionalRoutes List<GetWaitingRoomsResultAdditionalRoute>
    Only 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.
    cookieAttributes GetWaitingRoomsResultCookieAttributes
    Configures cookie attributes for the waiting room cookie. This encrypted cookie stores a user's status in the waiting room, such as queue position.
    cookieSuffix String
    Appends a '' + a custom suffix to the end of Cloudflare Waiting Room's cookie name(cfwaitingroom). If cookie_suffix is "abcd", the cookie name will be __cf_waitingroom_abcd. This field is required if using additional_routes.
    createdOn String
    customPageHtml String
    Only available for the Waiting Room Advanced subscription. This is a template html file that will be rendered at the edge. If no custompagehtml 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:
    defaultTemplateLanguage String
    The language of the default page template. If no default_template_language is provided, then en-US (English) will be used. Available values: "en-US", "es-ES", "de-DE", "fr-FR", "it-IT", "ja-JP", "ko-KR", "pt-BR", "zh-CN", "zh-TW", "nl-NL", "pl-PL", "id-ID", "tr-TR", "ar-EG", "ru-RU", "fa-IR", "bg-BG", "hr-HR", "cs-CZ", "da-DK", "fi-FI", "lt-LT", "ms-MY", "nb-NO", "ro-RO", "el-GR", "he-IL", "hi-IN", "hu-HU", "sr-BA", "sk-SK", "sl-SI", "sv-SE", "tl-PH", "th-TH", "uk-UA", "vi-VN".
    description String
    A note that you can use to add more details about the waiting room.
    disableSessionRenewal Boolean
    Only 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.
    enabledOriginCommands List<String>
    A list of enabled origin commands.
    host String
    The 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.
    id String
    jsonResponseEnabled Boolean

    Only 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'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.

    An example cURL to a waiting room could be:

    curl -X GET "https://example.com/waitingroom" \
        -H "Accept: application/json"
    

    If 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
        }
    }
    

    If 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
        }
    }.
    
    modifiedOn String
    name String
    A unique name to identify the waiting room. Only alphanumeric characters, hyphens and underscores are allowed.
    newUsersPerMinute Integer
    Sets 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.
    nextEventPrequeueStartTime String
    An ISO 8601 timestamp that marks when the next event will begin queueing.
    nextEventStartTime String
    An ISO 8601 timestamp that marks when the next event will start.
    path String
    Sets 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.
    queueAll Boolean
    If 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.
    queueingMethod String
    Sets 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:

    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. Available values: "fifo", "random", "passthrough", "reject".
    queueingStatusCode Integer
    HTTP status code returned to a user while in the queue. Available values: 200, 202, 429.
    sessionDuration Integer
    Lifetime 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 Boolean
    Suspends or allows traffic going to the waiting room. If set to true, the traffic will not go to the waiting room.
    totalActiveUsers Integer
    Sets 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.
    turnstileAction String
    Which action to take when a bot is detected using Turnstile. log will have no impact on queueing behavior, simply keeping track of how many bots are detected in Waiting Room Analytics. infinite_queue will send bots to a false queueing state, where they will never reach your origin. infinite_queue requires Advanced Waiting Room. Available values: "log", "infinite_queue".
    turnstileMode String
    Which Turnstile widget type to use for detecting bot traffic. See the Turnstile documentation for the definitions of these widget types. Set to off to disable the Turnstile integration entirely. Setting this to anything other than off or invisible requires Advanced Waiting Room. Available values: "off", "invisible", "visible_non_interactive", "visible_managed".
    additionalRoutes GetWaitingRoomsResultAdditionalRoute[]
    Only 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.
    cookieAttributes GetWaitingRoomsResultCookieAttributes
    Configures cookie attributes for the waiting room cookie. This encrypted cookie stores a user's status in the waiting room, such as queue position.
    cookieSuffix string
    Appends a '' + a custom suffix to the end of Cloudflare Waiting Room's cookie name(cfwaitingroom). If cookie_suffix is "abcd", the cookie name will be __cf_waitingroom_abcd. This field is required if using additional_routes.
    createdOn string
    customPageHtml string
    Only available for the Waiting Room Advanced subscription. This is a template html file that will be rendered at the edge. If no custompagehtml 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:
    defaultTemplateLanguage string
    The language of the default page template. If no default_template_language is provided, then en-US (English) will be used. Available values: "en-US", "es-ES", "de-DE", "fr-FR", "it-IT", "ja-JP", "ko-KR", "pt-BR", "zh-CN", "zh-TW", "nl-NL", "pl-PL", "id-ID", "tr-TR", "ar-EG", "ru-RU", "fa-IR", "bg-BG", "hr-HR", "cs-CZ", "da-DK", "fi-FI", "lt-LT", "ms-MY", "nb-NO", "ro-RO", "el-GR", "he-IL", "hi-IN", "hu-HU", "sr-BA", "sk-SK", "sl-SI", "sv-SE", "tl-PH", "th-TH", "uk-UA", "vi-VN".
    description string
    A note that you can use to add more details about the waiting room.
    disableSessionRenewal boolean
    Only 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.
    enabledOriginCommands string[]
    A list of enabled origin commands.
    host string
    The 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.
    id string
    jsonResponseEnabled boolean

    Only 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'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.

    An example cURL to a waiting room could be:

    curl -X GET "https://example.com/waitingroom" \
        -H "Accept: application/json"
    

    If 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
        }
    }
    

    If 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
        }
    }.
    
    modifiedOn string
    name string
    A unique name to identify the waiting room. Only alphanumeric characters, hyphens and underscores are allowed.
    newUsersPerMinute number
    Sets 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.
    nextEventPrequeueStartTime string
    An ISO 8601 timestamp that marks when the next event will begin queueing.
    nextEventStartTime string
    An ISO 8601 timestamp that marks when the next event will start.
    path string
    Sets 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.
    queueAll boolean
    If 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.
    queueingMethod string
    Sets 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:

    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. Available values: "fifo", "random", "passthrough", "reject".
    queueingStatusCode number
    HTTP status code returned to a user while in the queue. Available values: 200, 202, 429.
    sessionDuration number
    Lifetime 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 boolean
    Suspends or allows traffic going to the waiting room. If set to true, the traffic will not go to the waiting room.
    totalActiveUsers number
    Sets 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.
    turnstileAction string
    Which action to take when a bot is detected using Turnstile. log will have no impact on queueing behavior, simply keeping track of how many bots are detected in Waiting Room Analytics. infinite_queue will send bots to a false queueing state, where they will never reach your origin. infinite_queue requires Advanced Waiting Room. Available values: "log", "infinite_queue".
    turnstileMode string
    Which Turnstile widget type to use for detecting bot traffic. See the Turnstile documentation for the definitions of these widget types. Set to off to disable the Turnstile integration entirely. Setting this to anything other than off or invisible requires Advanced Waiting Room. Available values: "off", "invisible", "visible_non_interactive", "visible_managed".
    additional_routes Sequence[GetWaitingRoomsResultAdditionalRoute]
    Only 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 GetWaitingRoomsResultCookieAttributes
    Configures 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 str
    Appends a '' + a custom suffix to the end of Cloudflare Waiting Room's cookie name(cfwaitingroom). If cookie_suffix is "abcd", the cookie name will be __cf_waitingroom_abcd. This field is required if using additional_routes.
    created_on str
    custom_page_html str
    Only available for the Waiting Room Advanced subscription. This is a template html file that will be rendered at the edge. If no custompagehtml 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:
    default_template_language str
    The language of the default page template. If no default_template_language is provided, then en-US (English) will be used. Available values: "en-US", "es-ES", "de-DE", "fr-FR", "it-IT", "ja-JP", "ko-KR", "pt-BR", "zh-CN", "zh-TW", "nl-NL", "pl-PL", "id-ID", "tr-TR", "ar-EG", "ru-RU", "fa-IR", "bg-BG", "hr-HR", "cs-CZ", "da-DK", "fi-FI", "lt-LT", "ms-MY", "nb-NO", "ro-RO", "el-GR", "he-IL", "hi-IN", "hu-HU", "sr-BA", "sk-SK", "sl-SI", "sv-SE", "tl-PH", "th-TH", "uk-UA", "vi-VN".
    description str
    A note that you can use to add more details about the waiting room.
    disable_session_renewal bool
    Only 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 Sequence[str]
    A list of enabled origin commands.
    host str
    The 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.
    id str
    json_response_enabled bool

    Only 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'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.

    An example cURL to a waiting room could be:

    curl -X GET "https://example.com/waitingroom" \
        -H "Accept: application/json"
    

    If 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
        }
    }
    

    If 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
        }
    }.
    
    modified_on str
    name str
    A unique name to identify the waiting room. Only alphanumeric characters, hyphens and underscores are allowed.
    new_users_per_minute int
    Sets 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.
    next_event_prequeue_start_time str
    An ISO 8601 timestamp that marks when the next event will begin queueing.
    next_event_start_time str
    An ISO 8601 timestamp that marks when the next event will start.
    path str
    Sets 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 bool
    If 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 str
    Sets 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:

    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. Available values: "fifo", "random", "passthrough", "reject".
    queueing_status_code int
    HTTP status code returned to a user while in the queue. Available values: 200, 202, 429.
    session_duration int
    Lifetime 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 bool
    Suspends or allows traffic going to the waiting room. If set to true, the traffic will not go to the waiting room.
    total_active_users int
    Sets 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 str
    Which action to take when a bot is detected using Turnstile. log will have no impact on queueing behavior, simply keeping track of how many bots are detected in Waiting Room Analytics. infinite_queue will send bots to a false queueing state, where they will never reach your origin. infinite_queue requires Advanced Waiting Room. Available values: "log", "infinite_queue".
    turnstile_mode str
    Which Turnstile widget type to use for detecting bot traffic. See the Turnstile documentation for the definitions of these widget types. Set to off to disable the Turnstile integration entirely. Setting this to anything other than off or invisible requires Advanced Waiting Room. Available values: "off", "invisible", "visible_non_interactive", "visible_managed".
    additionalRoutes List<Property Map>
    Only 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.
    cookieAttributes Property Map
    Configures cookie attributes for the waiting room cookie. This encrypted cookie stores a user's status in the waiting room, such as queue position.
    cookieSuffix String
    Appends a '' + a custom suffix to the end of Cloudflare Waiting Room's cookie name(cfwaitingroom). If cookie_suffix is "abcd", the cookie name will be __cf_waitingroom_abcd. This field is required if using additional_routes.
    createdOn String
    customPageHtml String
    Only available for the Waiting Room Advanced subscription. This is a template html file that will be rendered at the edge. If no custompagehtml 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:
    defaultTemplateLanguage String
    The language of the default page template. If no default_template_language is provided, then en-US (English) will be used. Available values: "en-US", "es-ES", "de-DE", "fr-FR", "it-IT", "ja-JP", "ko-KR", "pt-BR", "zh-CN", "zh-TW", "nl-NL", "pl-PL", "id-ID", "tr-TR", "ar-EG", "ru-RU", "fa-IR", "bg-BG", "hr-HR", "cs-CZ", "da-DK", "fi-FI", "lt-LT", "ms-MY", "nb-NO", "ro-RO", "el-GR", "he-IL", "hi-IN", "hu-HU", "sr-BA", "sk-SK", "sl-SI", "sv-SE", "tl-PH", "th-TH", "uk-UA", "vi-VN".
    description String
    A note that you can use to add more details about the waiting room.
    disableSessionRenewal Boolean
    Only 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.
    enabledOriginCommands List<String>
    A list of enabled origin commands.
    host String
    The 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.
    id String
    jsonResponseEnabled Boolean

    Only 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'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.

    An example cURL to a waiting room could be:

    curl -X GET "https://example.com/waitingroom" \
        -H "Accept: application/json"
    

    If 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
        }
    }
    

    If 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
        }
    }.
    
    modifiedOn String
    name String
    A unique name to identify the waiting room. Only alphanumeric characters, hyphens and underscores are allowed.
    newUsersPerMinute Number
    Sets 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.
    nextEventPrequeueStartTime String
    An ISO 8601 timestamp that marks when the next event will begin queueing.
    nextEventStartTime String
    An ISO 8601 timestamp that marks when the next event will start.
    path String
    Sets 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.
    queueAll Boolean
    If 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.
    queueingMethod String
    Sets 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:

    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. Available values: "fifo", "random", "passthrough", "reject".
    queueingStatusCode Number
    HTTP status code returned to a user while in the queue. Available values: 200, 202, 429.
    sessionDuration Number
    Lifetime 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 Boolean
    Suspends or allows traffic going to the waiting room. If set to true, the traffic will not go to the waiting room.
    totalActiveUsers Number
    Sets 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.
    turnstileAction String
    Which action to take when a bot is detected using Turnstile. log will have no impact on queueing behavior, simply keeping track of how many bots are detected in Waiting Room Analytics. infinite_queue will send bots to a false queueing state, where they will never reach your origin. infinite_queue requires Advanced Waiting Room. Available values: "log", "infinite_queue".
    turnstileMode String
    Which Turnstile widget type to use for detecting bot traffic. See the Turnstile documentation for the definitions of these widget types. Set to off to disable the Turnstile integration entirely. Setting this to anything other than off or invisible requires Advanced Waiting Room. Available values: "off", "invisible", "visible_non_interactive", "visible_managed".

    GetWaitingRoomsResultAdditionalRoute

    Host string
    The hostname to which this waiting room will be applied (no wildcards). The hostname must be the primary domain, subdomain, or custom hostname (if using SSL for SaaS) of this zone. Please do not include the scheme (http:// or https://).
    Path string
    Sets 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.
    Host string
    The hostname to which this waiting room will be applied (no wildcards). The hostname must be the primary domain, subdomain, or custom hostname (if using SSL for SaaS) of this zone. Please do not include the scheme (http:// or https://).
    Path string
    Sets 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.
    host String
    The hostname to which this waiting room will be applied (no wildcards). The hostname must be the primary domain, subdomain, or custom hostname (if using SSL for SaaS) of this zone. Please do not include the scheme (http:// or https://).
    path String
    Sets 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.
    host string
    The hostname to which this waiting room will be applied (no wildcards). The hostname must be the primary domain, subdomain, or custom hostname (if using SSL for SaaS) of this zone. Please do not include the scheme (http:// or https://).
    path string
    Sets 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.
    host str
    The hostname to which this waiting room will be applied (no wildcards). The hostname must be the primary domain, subdomain, or custom hostname (if using SSL for SaaS) of this zone. Please do not include the scheme (http:// or https://).
    path str
    Sets 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.
    host String
    The hostname to which this waiting room will be applied (no wildcards). The hostname must be the primary domain, subdomain, or custom hostname (if using SSL for SaaS) of this zone. Please do not include the scheme (http:// or https://).
    path String
    Sets 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.

    GetWaitingRoomsResultCookieAttributes

    Samesite string
    Configures the SameSite attribute on the waiting room cookie. Value 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. Available values: "auto", "lax", "none", "strict".
    Secure string
    Configures the Secure attribute on the waiting room cookie. Value 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. Available values: "auto", "always", "never".
    Samesite string
    Configures the SameSite attribute on the waiting room cookie. Value 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. Available values: "auto", "lax", "none", "strict".
    Secure string
    Configures the Secure attribute on the waiting room cookie. Value 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. Available values: "auto", "always", "never".
    samesite String
    Configures the SameSite attribute on the waiting room cookie. Value 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. Available values: "auto", "lax", "none", "strict".
    secure String
    Configures the Secure attribute on the waiting room cookie. Value 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. Available values: "auto", "always", "never".
    samesite string
    Configures the SameSite attribute on the waiting room cookie. Value 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. Available values: "auto", "lax", "none", "strict".
    secure string
    Configures the Secure attribute on the waiting room cookie. Value 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. Available values: "auto", "always", "never".
    samesite str
    Configures the SameSite attribute on the waiting room cookie. Value 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. Available values: "auto", "lax", "none", "strict".
    secure str
    Configures the Secure attribute on the waiting room cookie. Value 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. Available values: "auto", "always", "never".
    samesite String
    Configures the SameSite attribute on the waiting room cookie. Value 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. Available values: "auto", "lax", "none", "strict".
    secure String
    Configures the Secure attribute on the waiting room cookie. Value 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. Available values: "auto", "always", "never".

    Package Details

    Repository
    Cloudflare pulumi/pulumi-cloudflare
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the cloudflare Terraform Provider.
    cloudflare logo
    Cloudflare v6.1.2 published on Monday, Apr 28, 2025 by Pulumi