Collaboration Rooms
Rooms are shared spaces where multiple users join the same agent session. Every user in the room sees the same conversation history and agent responses. Rooms are useful for shared support queues, team debugging sessions, or any scenario where multiple people interact with the same agent thread.
Creating a room
A room is linked to an existing session. The creator is automatically added as a member.
bash
# Create a room linked to a session
curl -X POST http://localhost:3000/rooms \
-H "Authorization: Bearer ${JWT_TOKEN}" \
-H "Content-Type: application/json" \
-d '{ "sessionId": "sess_abc123" }'
# Response (201 Created)
{ "id": "room_def456" }Joining and leaving
Any authenticated workspace member can join a room. Leaving does not delete the room — it remains active for other members.
bash
# Join a room
curl -X POST http://localhost:3000/rooms/room_def456/join \
-H "Authorization: Bearer ${JWT_TOKEN}"
# Leave a room
curl -X DELETE http://localhost:3000/rooms/room_def456/leave \
-H "Authorization: Bearer ${JWT_TOKEN}"Room details
bash
# Get room details with member list
curl http://localhost:3000/rooms/room_def456 \
-H "Authorization: Bearer ${JWT_TOKEN}"
# Response
{
"room": {
"id": "room_def456",
"sessionId": "sess_abc123",
"workspaceId": "ws_abc123",
"members": ["uid_alice", "uid_bob"],
"createdAt": "2026-03-07T12:00:00.000Z"
}
}Endpoint reference
| Method | Endpoint | Description |
|---|---|---|
POST | /rooms | Create a room (requires sessionId) |
GET | /rooms/:id | Get room details with member list |
POST | /rooms/:id/join | Join a room |
DELETE | /rooms/:id/leave | Leave a room |