Rooms
Rooms are the core resource in Livestorm Nexus. Each room has a unique name (slug) and belongs to a user.
List Rooms
Returns all rooms owned by the authenticated user, with recording count.
GET /api/dashboard/rooms
Response:
{
"rooms": [
{
"id": 1,
"name": "team-standup-1234",
"user_id": 1,
"created_at": 1710000000,
"last_used_at": 1710100000,
"recording_count": 3,
"scheduled_at": null,
"accent_color": "#0B42C3",
"waiting_room_enabled": 0,
"waiting_room_message": null
}
]
}
Create Room
Creates a new room with the given name.
POST /api/dashboard/rooms
Request body:
| Field | Type | Required | Description |
|---|---|---|---|
name | string | No | Room name (auto-generated if omitted) |
scheduled_at | number | No | Unix timestamp for scheduled meeting |
accent_color | string | No | Hex color for room branding |
waiting_room_enabled | number | No | 1 to enable, 0 to disable |
waiting_room_message | string | No | Custom message shown to waiting participants |
Response: 201 Created
{
"room": {
"id": 2,
"name": "my-meeting-room",
"user_id": 1,
"created_at": 1710000000,
...
}
}
Errors:
400— Invalid room name409— Room name already taken
Get Room
Returns a single room by name.
GET /api/dashboard/rooms/:name
Response:
{
"room": { ... }
}
Update Room
Updates room settings.
PATCH /api/dashboard/rooms/:name
Request body: Any subset of scheduled_at, accent_color, waiting_room_enabled, waiting_room_message.
Response:
{
"room": { ... }
}
Delete Room
Permanently deletes a room and all its recordings.
DELETE /api/dashboard/rooms/:name
Response:
{ "ok": true }
Generate Room Name
Generates a random room name suggestion. No authentication required.
GET /api/dashboard/generate-name
Response:
{
"name": "autumn-waterfall-bold-sunset-1234"
}