Skip to content
Start here

Get waiting room status

client.WaitingRooms.Statuses.Get(ctx, waitingRoomID, query) (*StatusGetResponse, error)
GET/zones/{zone_id}/waiting_rooms/{waiting_room_id}/status

Fetches the status of a configured waiting room. Response fields include:

  1. status: String indicating the status of the waiting room. The possible status are:
    • not_queueing indicates that the configured thresholds have not been met and all users are going through to the origin.
    • queueing indicates that the thresholds have been met and some users are held in the waiting room.
    • event_prequeueing indicates that an event is active and is currently prequeueing users before it starts.
    • suspended indicates that the room is suspended.
  2. event_id: String of the current event's id if an event is active, otherwise an empty string.
  3. estimated_queued_users: Integer of the estimated number of users currently waiting in the queue.
  4. estimated_total_active_users: Integer of the estimated number of users currently active on the origin.
  5. max_estimated_time_minutes: Integer of the maximum estimated time currently presented to the users.
Security
API Token

The preferred authorization scheme for interacting with the Cloudflare API. Create a token.

Example:Authorization: Bearer Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY
API Email + API Key

The previous authorization scheme for interacting with the Cloudflare API, used in conjunction with a Global API key.

Example:X-Auth-Email: user@example.com

The previous authorization scheme for interacting with the Cloudflare API. When possible, use API tokens instead of Global API keys.

Example:X-Auth-Key: 144c9defac04969c7bfad8efaa8ea194
Accepted Permissions (at least one required)
Waiting Rooms ReadWaiting Rooms Write
ParametersExpand Collapse
waitingRoomID string
query StatusGetParams
ZoneID param.Field[string]

Identifier.

maxLength32
ReturnsExpand Collapse
type StatusGetResponse struct{…}
EstimatedQueuedUsers int64optional
EstimatedTotalActiveUsers int64optional
EventID stringoptional
MaxEstimatedTimeMinutes int64optional
Status StatusGetResponseStatusoptional
One of the following:
const StatusGetResponseStatusEventPrequeueing StatusGetResponseStatus = "event_prequeueing"
const StatusGetResponseStatusNotQueueing StatusGetResponseStatus = "not_queueing"
const StatusGetResponseStatusQueueing StatusGetResponseStatus = "queueing"
const StatusGetResponseStatusSuspended StatusGetResponseStatus = "suspended"

Get waiting room status

package main

import (
  "context"
  "fmt"

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

func main() {
  client := cloudflare.NewClient(
    option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"),
  )
  status, err := client.WaitingRooms.Statuses.Get(
    context.TODO(),
    "699d98642c564d2e855e9661899b7252",
    waiting_rooms.StatusGetParams{
      ZoneID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
    },
  )
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", status.EventID)
}
{
  "result": {
    "estimated_queued_users": 0,
    "estimated_total_active_users": 0,
    "event_id": "25756b2dfe6e378a06b033b670413757",
    "max_estimated_time_minutes": 0,
    "status": "queueing"
  }
}
Returns Examples
{
  "result": {
    "estimated_queued_users": 0,
    "estimated_total_active_users": 0,
    "event_id": "25756b2dfe6e378a06b033b670413757",
    "max_estimated_time_minutes": 0,
    "status": "queueing"
  }
}