Skip to content

Waiting Room

GET/api/v1/waiting-rooms
GET
/api/v1/waiting-rooms

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Query Parameters

filter?

Conditions as filter[][]=. Conditions on different fields all apply. in (any of) and all (every one of, on fields holding several values) take a comma-separated list (\, for a literal comma). exists takes true or false. Datetimes are RFC 3339, now, or a time before now such as -30m, -6h or -7d.

sort?string

Comma-separated sort keys, - for descending, at most 1. Keys: updated_at, created_at. Default: -created_at.

limit?integer

Rows per page, 1 to 100 (default 25).

Range1 <= value <= 100
cursor?string

The page.next_cursor of the previous page. Cannot be combined with page.

page?integer

A 1-based page number, for jumping. Cannot be combined with cursor.

Range1 <= value
total?boolean

Set to true to include the number of matching rows in page.total.

Response Body

application/json

curl -X GET "https://example.com/api/v1/waiting-rooms"
{  "page": {    "has_more": true,    "next_cursor": "string",    "page": 0,    "total": 0  },  "rooms": [    {      "auto_admit": true,      "capacity": 0,      "created_at": "2019-08-24T14:15:22Z",      "created_by": "string",      "queue_strategy": "fifo",      "room_id": "string",      "status": "active",      "updated_at": "2019-08-24T14:15:22Z"    }  ]}
POST/api/v1/waiting-rooms
POST
/api/v1/waiting-rooms

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/api/v1/waiting-rooms" \  -H "Content-Type: application/json" \  -d '{    "admission_rate": {      "batch_size": 0,      "interval_seconds": 0    },    "capacity": 0,    "room_id": "string"  }'
{  "admission_rate": {    "batch_size": 0,    "interval_seconds": 0  },  "anti_gaming": {    "join_rate_limit_max_attempts": 0,    "join_rate_limit_window_seconds": 0,    "rejoin_cooldown_seconds": 0  },  "auto_admit": true,  "capacity": 0,  "created_at": "2019-08-24T14:15:22Z",  "created_by": "string",  "metadata": {    "property1": null,    "property2": null  },  "priority_groups": [    {      "boost": 0,      "match_rules": null,      "name": "string"    }  ],  "queue_strategy": "fifo",  "room_id": "string",  "session_ttl_seconds": 0,  "status": "active",  "updated_at": "2019-08-24T14:15:22Z"}
GET/api/v1/waiting-rooms/global-bans/{member_id}
GET
/api/v1/waiting-rooms/global-bans/{member_id}

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

member_id*string

Member ID

Response Body

application/json

curl -X GET "https://example.com/api/v1/waiting-rooms/global-bans/string"
[  "string"]
GET/api/v1/waiting-rooms/{room_id}
GET
/api/v1/waiting-rooms/{room_id}

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

room_id*string

Room ID

Response Body

application/json

curl -X GET "https://example.com/api/v1/waiting-rooms/string"
{  "admission_rate": {    "batch_size": 0,    "interval_seconds": 0  },  "anti_gaming": {    "join_rate_limit_max_attempts": 0,    "join_rate_limit_window_seconds": 0,    "rejoin_cooldown_seconds": 0  },  "auto_admit": true,  "capacity": 0,  "created_at": "2019-08-24T14:15:22Z",  "metadata": {    "property1": null,    "property2": null  },  "priority_groups": [    {      "boost": 0,      "match_rules": null,      "name": "string"    }  ],  "queue_strategy": "fifo",  "room_id": "string",  "session_ttl_seconds": 0,  "statistics": {    "active_count": 0,    "average_wait_seconds": 0.1,    "current_admission_rate": 0.1,    "total_admitted": 0,    "waiting_count": 0  },  "status": "active",  "updated_at": "2019-08-24T14:15:22Z"}
DELETE/api/v1/waiting-rooms/{room_id}
DELETE
/api/v1/waiting-rooms/{room_id}

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

room_id*string

Room ID

Response Body

curl -X DELETE "https://example.com/api/v1/waiting-rooms/string"
Empty
PUT/api/v1/waiting-rooms/{room_id}
PUT
/api/v1/waiting-rooms/{room_id}

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

room_id*string

Room ID

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X PUT "https://example.com/api/v1/waiting-rooms/string" \  -H "Content-Type: application/json" \  -d '{}'
{  "admission_rate": {    "batch_size": 0,    "interval_seconds": 0  },  "anti_gaming": {    "join_rate_limit_max_attempts": 0,    "join_rate_limit_window_seconds": 0,    "rejoin_cooldown_seconds": 0  },  "auto_admit": true,  "capacity": 0,  "created_at": "2019-08-24T14:15:22Z",  "created_by": "string",  "metadata": {    "property1": null,    "property2": null  },  "priority_groups": [    {      "boost": 0,      "match_rules": null,      "name": "string"    }  ],  "queue_strategy": "fifo",  "room_id": "string",  "session_ttl_seconds": 0,  "status": "active",  "updated_at": "2019-08-24T14:15:22Z"}
POST/api/v1/waiting-rooms/{room_id}/admit
POST
/api/v1/waiting-rooms/{room_id}/admit

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

room_id*string

Room ID

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/api/v1/waiting-rooms/string/admit" \  -H "Content-Type: application/json" \  -d '{}'
{  "admitted": [    {      "admitted_at": "2019-08-24T14:15:22Z",      "member_id": "string",      "wait_time_seconds": 0    }  ],  "capacity_reached": true,  "failed": [    {      "member_id": "string",      "reason": "string"    }  ]}
GET/api/v1/waiting-rooms/{room_id}/analytics
GET
/api/v1/waiting-rooms/{room_id}/analytics

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

room_id*string

Room ID

Query Parameters

start_time?integer

Window start (Unix seconds); defaults to seven days ago

Formatint64
end_time?integer

Window end (Unix seconds); defaults to now

Formatint64

Response Body

application/json

curl -X GET "https://example.com/api/v1/waiting-rooms/string/analytics"
{  "hourly_stats": [    {      "abandonments": 0,      "admissions": 0,      "average_wait_time_seconds": 0.1,      "hour": "2019-08-24T14:15:22Z",      "rejections": 0    }  ],  "room_id": "string",  "summary": {    "abandonment_rate": 0.1,    "admission_rate": 0.1,    "average_wait_time_seconds": 0.1,    "max_wait_time_seconds": 0,    "min_wait_time_seconds": 0,    "rejection_rate": 0.1,    "total_abandonments": 0,    "total_admissions": 0,    "total_rejections": 0  },  "time_range": {    "end": "2019-08-24T14:15:22Z",    "start": "2019-08-24T14:15:22Z"  }}
GET/api/v1/waiting-rooms/{room_id}/bans
GET
/api/v1/waiting-rooms/{room_id}/bans

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

room_id*string

Room ID

Query Parameters

limit?integer

Rows per page, 1 to 100 (default 25).

Range1 <= value <= 100
cursor?string

The page.next_cursor of the previous page. Cannot be combined with page.

page?integer

A 1-based page number, for jumping. Cannot be combined with cursor.

Range1 <= value
total?boolean

Set to true to include the number of matching rows in page.total.

include_expired?boolean

Include bans that have already expired

Response Body

application/json

curl -X GET "https://example.com/api/v1/waiting-rooms/string/bans"
{  "bans": [    {      "banned_until": "2019-08-24T14:15:22Z",      "member_id": "string"    }  ],  "page": {    "has_more": true,    "next_cursor": "string",    "page": 0,    "total": 0  }}
POST/api/v1/waiting-rooms/{room_id}/bans
POST
/api/v1/waiting-rooms/{room_id}/bans

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

room_id*string

Room ID

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/api/v1/waiting-rooms/string/bans" \  -H "Content-Type: application/json" \  -d '{    "member_id": "string",    "reason": "string"  }'
{  "banned_at": "2019-08-24T14:15:22Z",  "banned_by": "string",  "banned_until": "2019-08-24T14:15:22Z",  "member_id": "string",  "reason": "string",  "room_id": "string"}
GET/api/v1/waiting-rooms/{room_id}/bans/{member_id}
GET
/api/v1/waiting-rooms/{room_id}/bans/{member_id}

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

room_id*string

Room ID

member_id*string

Member ID

Response Body

application/json

curl -X GET "https://example.com/api/v1/waiting-rooms/string/bans/string"
null
DELETE/api/v1/waiting-rooms/{room_id}/bans/{member_id}
DELETE
/api/v1/waiting-rooms/{room_id}/bans/{member_id}

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

room_id*string

Room ID

member_id*string

Member ID

Response Body

curl -X DELETE "https://example.com/api/v1/waiting-rooms/string/bans/string"
Empty
POST/api/v1/waiting-rooms/{room_id}/groups/{group_id}/admit
POST
/api/v1/waiting-rooms/{room_id}/groups/{group_id}/admit

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

room_id*string

Room ID

group_id*string

Group ID

Response Body

application/json

curl -X POST "https://example.com/api/v1/waiting-rooms/string/groups/string/admit"
{  "admitted": [    {      "admitted_at": "2019-08-24T14:15:22Z",      "member_id": "string",      "wait_time_seconds": 0    }  ],  "capacity_reached": true,  "failed": [    {      "member_id": "string",      "reason": "string"    }  ]}
GET/api/v1/waiting-rooms/{room_id}/groups/{group_id}/status
GET
/api/v1/waiting-rooms/{room_id}/groups/{group_id}/status

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

room_id*string

Room ID

group_id*string

Group ID

Response Body

application/json

curl -X GET "https://example.com/api/v1/waiting-rooms/string/groups/string/status"
{  "average_position": 0,  "can_be_admitted": true,  "group_id": "string",  "members": [    {      "joined_at": "2019-08-24T14:15:22Z",      "member_id": "string",      "position": 0,      "status": "waiting"    }  ],  "members_active": 0,  "members_waiting": 0,  "total_members": 0}
POST/api/v1/waiting-rooms/{room_id}/join
POST
/api/v1/waiting-rooms/{room_id}/join

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

room_id*string

Room ID

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/api/v1/waiting-rooms/string/join" \  -H "Content-Type: application/json" \  -d '{}'
{  "estimated_wait_seconds": 0,  "joined_at": "2019-08-24T14:15:22Z",  "member_id": "string",  "position": 0,  "priority_group": "string",  "room_id": "string",  "status": "waiting"}
POST/api/v1/waiting-rooms/{room_id}/leave
POST
/api/v1/waiting-rooms/{room_id}/leave

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

room_id*string

Room ID

Response Body

curl -X POST "https://example.com/api/v1/waiting-rooms/string/leave"
Empty
GET/api/v1/waiting-rooms/{room_id}/members
GET
/api/v1/waiting-rooms/{room_id}/members

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

room_id*string

Room ID

Query Parameters

filter?

Conditions as filter[][]=. Conditions on different fields all apply. in (any of) and all (every one of, on fields holding several values) take a comma-separated list (\, for a literal comma). exists takes true or false. Datetimes are RFC 3339, now, or a time before now such as -30m, -6h or -7d.

limit?integer

Rows per page, 1 to 100 (default 25).

Range1 <= value <= 100
cursor?string

The page.next_cursor of the previous page. Cannot be combined with page.

page?integer

A 1-based page number, for jumping. Cannot be combined with cursor.

Range1 <= value
total?boolean

Set to true to include the number of matching rows in page.total.

Response Body

application/json

curl -X GET "https://example.com/api/v1/waiting-rooms/string/members"
{  "members": [    {      "admitted_at": "2019-08-24T14:15:22Z",      "group_id": "string",      "joined_at": "2019-08-24T14:15:22Z",      "member_id": "string",      "metadata": {        "property1": null,        "property2": null      },      "position": 0,      "priority": 0,      "room_id": "string",      "status": "waiting"    }  ],  "page": {    "has_more": true,    "next_cursor": "string",    "page": 0,    "total": 0  }}
GET/api/v1/waiting-rooms/{room_id}/position
GET
/api/v1/waiting-rooms/{room_id}/position

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

room_id*string

Room ID

Response Body

application/json

curl -X GET "https://example.com/api/v1/waiting-rooms/string/position"
{  "ahead_count": 0,  "estimated_wait_seconds": 0,  "joined_at": "2019-08-24T14:15:22Z",  "member_id": "string",  "position": 0,  "priority_effective": 0,  "room_id": "string",  "status": "waiting"}
POST/api/v1/waiting-rooms/{room_id}/refresh
POST
/api/v1/waiting-rooms/{room_id}/refresh

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

room_id*string

Room ID

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Request to refresh an active session

Response Body

application/json

curl -X POST "https://example.com/api/v1/waiting-rooms/string/refresh" \  -H "Content-Type: application/json" \  -d '{}'
{  "new_expiry": 0,  "success": true}
POST/api/v1/waiting-rooms/{room_id}/reject
POST
/api/v1/waiting-rooms/{room_id}/reject

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

room_id*string

Room ID

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

curl -X POST "https://example.com/api/v1/waiting-rooms/string/reject" \  -H "Content-Type: application/json" \  -d '{    "member_ids": [      "string"    ],    "reason": "string"  }'
Empty