Real-time collaboration rooms
| Method | Path | Summary |
|---|---|---|
GET | /collab/rooms | List collaboration rooms |
POST | /collab/rooms | Create a collaboration room |
GET | /collab/rooms/{roomId} | Get a room |
DELETE | /collab/rooms/{roomId} | Delete a room |
{% api-endpoint method=“GET” path=“/collab/rooms” /%}
List collaboration rooms
Operation ID: listCollabRooms
| Name | Type | Required | Description |
| --------- | ---------- | -------- | ------------- | --- | ------------------------------------ |
| page | integer | No | Default: 1 |
| perPage | integer | No | Default: 20 |
| status | "waiting" | "active" | "ended" | No | Values: waiting, active, ended |
Paginated list of rooms
| Field | Type | Required | Description |
|---|---|---|---|
data | object[] | No | - |
pagination | object | No | - |
{% tabs %} {% tab label=“TypeScript” %}
import { WaveClient } from "@wave/sdk";
const client = new WaveClient({ apiKey: "your-api-key" });
const result = await client.collab.listCollabRooms({
page: 1,
perPage: 1,
status: "example-value",
});
console.log(result);
{% /tab %} {% tab label=“Python” %}
from wave_sdk import WaveClient
client = WaveClient(api_key="your-api-key")
result = client.collab.list_collab_rooms(
page=1,
per_page=1,
status="example-value"
)
print(result)
{% /tab %} {% tab label=“cURL” %}
curl -X GET 'https://api.wave.online/collab/rooms?page=1&perPage=1&status=example-value' \
-H 'Authorization: Bearer YOUR_API_KEY'
{% /tab %} {% /tabs %}
{% api-endpoint method=“POST” path=“/collab/rooms” /%}
Create a collaboration room
Operation ID: createCollabRoom
Content-Type: application/json
| Required
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | - |
type | string | Yes | Values: video, audio, whiteboard, screen |
maxParticipants | integer | No | Default: 10 |
scheduledStart | string (date-time) | No | - |
settings | object | No | - |
Room created
| Field | Type | Required | Description |
|---|---|---|---|
id | string | No | - |
name | string | No | - |
type | string | No | Values: video, audio, whiteboard, screen |
status | string | No | Values: waiting, active, ended |
maxParticipants | integer | No | - |
currentParticipants | integer | No | - |
scheduledStart | string (date-time) | No | - |
joinUrl | string (uri) | No | - |
organizationId | string | No | - |
createdAt | string (date-time) | No | - |
updatedAt | string (date-time) | No | - |
{% tabs %} {% tab label=“TypeScript” %}
import { WaveClient } from "@wave/sdk";
const client = new WaveClient({ apiKey: "your-api-key" });
const result = await client.collab.createCollabRoom({
name: "example-value",
type: "video",
maxParticipants: 10,
scheduledStart: "example-value",
settings: {},
});
console.log(result);
{% /tab %} {% tab label=“Python” %}
from wave_sdk import WaveClient
client = WaveClient(api_key="your-api-key")
result = client.collab.create_collab_room(
name="example-value",
type="example-value",
max_participants=1,
scheduled_start="example-value",
settings={}
)
print(result)
{% /tab %} {% tab label=“cURL” %}
curl -X POST 'https://api.wave.online/collab/rooms' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"name": "example-value",
"type": "video",
"maxParticipants": 10,
"scheduledStart": "example-value",
"settings": {}
}'
{% /tab %} {% /tabs %}
{% api-endpoint method=“GET” path=“/collab/rooms/{roomId}” /%}
Get a room
Operation ID: getCollabRoom
| Name | Type | Required | Description |
|---|---|---|---|
roomId | string | Yes | - |
Room details
| Field | Type | Required | Description |
|---|---|---|---|
id | string | No | - |
name | string | No | - |
type | string | No | Values: video, audio, whiteboard, screen |
status | string | No | Values: waiting, active, ended |
maxParticipants | integer | No | - |
currentParticipants | integer | No | - |
scheduledStart | string (date-time) | No | - |
joinUrl | string (uri) | No | - |
organizationId | string | No | - |
createdAt | string (date-time) | No | - |
updatedAt | string (date-time) | No | - |
{% tabs %} {% tab label=“TypeScript” %}
import { WaveClient } from "@wave/sdk";
const client = new WaveClient({ apiKey: "your-api-key" });
const result = await client.collab.getCollabRoom("abc-123");
console.log(result);
{% /tab %} {% tab label=“Python” %}
from wave_sdk import WaveClient
client = WaveClient(api_key="your-api-key")
result = client.collab.get_collab_room(
room_id="abc-123"
)
print(result)
{% /tab %} {% tab label=“cURL” %}
curl -X GET 'https://api.wave.online/collab/rooms/abc-123' \
-H 'Authorization: Bearer YOUR_API_KEY'
{% /tab %} {% /tabs %}
{% api-endpoint method=“DELETE” path=“/collab/rooms/{roomId}” /%}
Delete a room
Operation ID: deleteCollabRoom
| Name | Type | Required | Description |
|---|---|---|---|
roomId | string | Yes | - |
Room deleted
{% tabs %} {% tab label=“TypeScript” %}
import { WaveClient } from "@wave/sdk";
const client = new WaveClient({ apiKey: "your-api-key" });
const result = await client.collab.deleteCollabRoom("abc-123");
console.log(result);
{% /tab %} {% tab label=“Python” %}
from wave_sdk import WaveClient
client = WaveClient(api_key="your-api-key")
result = client.collab.delete_collab_room(
room_id="abc-123"
)
print(result)
{% /tab %} {% tab label=“cURL” %}
curl -X DELETE 'https://api.wave.online/collab/rooms/abc-123' \
-H 'Authorization: Bearer YOUR_API_KEY'
{% /tab %} {% /tabs %}