Rooms API
Create, list, and manage realtime rooms via REST or the Server SDK. List endpoints support server-side status filters and pagination.
Authentication
Base URL: https://api.baxcloud.tech. Send your project API key (starts with bax_) and project ID. The key must have the Realtime scope enabled.
Authorization: Bearer YOUR_API_KEY
X-Project-Id: YOUR_PROJECT_IDEndpoint
https://api.baxcloud.tech/v1/media/rooms
The Server SDK calls the same API using your apiKey and projectId.
List rooms
GET returns a paginated payload. Filter on the server with query params — you do not need to download every room and filter client-side.
Query parameters
statusOnly return rooms in this status. Omit to include both.
pagePage number (default 1).
limitPage size, max 100 (default 20).
startDateOnly rooms created on or after this timestamp.
endDateOnly rooms created on or before this timestamp.
Response shape
{
"success": true,
"data": {
"items": [ /* room objects */ ],
"meta": {
"page": 1,
"limit": 50,
"total": 4,
"hasMore": false
}
}
}1# Active rooms (paginated)
2curl -X GET "https://api.baxcloud.tech/v1/media/rooms?status=ACTIVE&page=1&limit=50" \
3 -H "Authorization: Bearer YOUR_API_KEY" \
4 -H "X-Project-Id: YOUR_PROJECT_ID" \
5 -H "Content-Type: application/json"
6
7# Ended rooms only
8curl -X GET "https://api.baxcloud.tech/v1/media/rooms?status=ENDED&page=1&limit=20" \
9 -H "Authorization: Bearer YOUR_API_KEY" \
10 -H "X-Project-Id: YOUR_PROJECT_ID"Get a single room
Pass the room name (e.g. team-standup) or database ID from listRooms(). Returns full details including participants and recordings.
1# By room name
2curl -X GET "https://api.baxcloud.tech/v1/media/rooms/team-standup" \
3 -H "Authorization: Bearer YOUR_API_KEY" \
4 -H "X-Project-Id: YOUR_PROJECT_ID"
5
6# By room ID (from listRooms)
7curl -X GET "https://api.baxcloud.tech/v1/media/rooms/cmt61on9a3o69tdtjrghjioq6" \
8 -H "Authorization: Bearer YOUR_API_KEY" \
9 -H "X-Project-Id: YOUR_PROJECT_ID"Other room endpoints
1# Create
2curl -X POST "https://api.baxcloud.tech/v1/media/rooms" \
3 -H "Authorization: Bearer YOUR_API_KEY" \
4 -H "X-Project-Id: YOUR_PROJECT_ID" \
5 -H "Content-Type: application/json" \
6 -d '{"name":"team-standup","maxParticipants":50}'
7
8# Get by name or ID
9curl -X GET "https://api.baxcloud.tech/v1/media/rooms/team-standup" \
10 -H "Authorization: Bearer YOUR_API_KEY" \
11 -H "X-Project-Id: YOUR_PROJECT_ID"
12
13# Delete (name or ID)
14curl -X DELETE "https://api.baxcloud.tech/v1/media/rooms/team-standup" \
15 -H "Authorization: Bearer YOUR_API_KEY" \
16 -H "X-Project-Id: YOUR_PROJECT_ID"Prefer the Server SDK on Node backends
@baxcloud/baxcloud-server-sdk for typed listRooms, createRoom, and tokens — see Server SDK docs.