9.2 KiB
Breakout rooms management
Group and public conversations can be used to host breakout rooms.
- Only moderators can configure and remove breakout rooms
- Only moderators can start and stop breakout rooms
- Moderators in the parent conversation are added as moderators to all breakout rooms and remove from all on demotion
Base endpoint
- API v1: Base endpoint
/ocs/v2.php/apps/spreed/api/v1: since Nextcloud 26
Configure breakout rooms
- Required capability:
breakout-rooms-v1 - Method:
POST - Endpoint:
/breakout-rooms/{token} - Data:
| field | type | Description |
|---|---|---|
mode |
int | Participant assignment mode (see constants list) |
amount |
int | Number of breakout rooms to create (Minimum 1, maximum 20) |
attendeeMap |
string | A json encoded Map of attendeeId => room number (0 based) (Only considered when the mode is "manual") |
- Response:
- Status code:
200 OK400 Bad RequestErrorconfig: When breakout rooms are disabled on the server400 Bad RequestErrormode: When breakout rooms are already configured400 Bad RequestErrorroom: When the conversation is not a group conversation400 Bad RequestErrorroom: When the conversation is a breakout room itself400 Bad RequestErrormode: When the mode is invalid400 Bad RequestErroramount: When the amount is below the minimum or above the maximum400 Bad RequestErrorattendeeMap: When the attendee map contains an invalid room number or moderator403 ForbiddenWhen the current user is not a moderator/owner404 Not FoundWhen the conversation could not be found for the participant
- Data: Array of conversations (breakout rooms and parent) See array definition in Get user´s conversations (API v4)
- Status code:
Create additional breakout room
In order to create an additional breakout room, create a conversation with object type room and object ID being the parent token.
See Creating a new conversation for more information.
Delete individual breakout room
The normal deletion API can be used. See Delete a conversation for more information.
Remove breakout rooms
-
Required capability:
breakout-rooms-v1 -
Method:
DELETE -
Endpoint:
/breakout-rooms/{token} -
Response:
- Status code:
200 OK403 ForbiddenWhen the current user is not a moderator/owner404 Not FoundWhen the conversation could not be found for the participant
- Data: Parent conversation See array definition in Get user´s conversations (API v4)
- Status code:
Start breakout rooms
-
Required capability:
breakout-rooms-v1 -
Method:
POST -
Endpoint:
/breakout-rooms/{token}/rooms -
Response:
- Status code:
200 OK400 Bad RequestErrormode: When breakout rooms are not configured403 ForbiddenWhen the current user is not a moderator/owner404 Not FoundWhen the conversation could not be found for the participant
- Data: Array of conversations (breakout rooms and parent) See array definition in Get user´s conversations (API v4)
- Status code:
Stop breakout rooms
-
Required capability:
breakout-rooms-v1 -
Method:
DELETE -
Endpoint:
/breakout-rooms/{token}/rooms -
Response:
- Status code:
200 OK400 Bad RequestErrormode: When breakout rooms are not configured403 ForbiddenWhen the current user is not a moderator/owner404 Not FoundWhen the conversation could not be found for the participant
- Data: Array of conversations (breakout rooms and parent) See array definition in Get user´s conversations (API v4)
- Status code:
Broadcast message to breakout rooms
- Required capability:
breakout-rooms-v1 - Method:
POST - Endpoint:
/breakout-rooms/{token}/broadcast - Data:
| field | type | Description |
|---|---|---|
message |
string | A chat message to be posted in all breakout rooms in the name of the moderator |
token |
string | Note: The token in the URL is the parent room. The message will appear in all breakout rooms automatically |
- Response:
- Status code:
201 Created400 Bad RequestErrormode: When the room does not have breakout rooms configured403 ForbiddenWhen the participant is not a moderator404 Not FoundWhen the conversation could not be found for the participant413 Payload Too LargeWhen the message was longer than the allowed limit of 32000 characters (check thespreed => config => chat => max-lengthcapability for the limit)
- Data: Array of conversations (breakout rooms and parent) See array definition in Get user´s conversations (API v4)
- Status code:
Reorganize attendees
- Required capability:
breakout-rooms-v1 - Method:
POST - Endpoint:
/breakout-rooms/{token}/attendees - Data:
| field | type | Description |
|---|---|---|
attendeeMap |
string | A json encoded Map of attendeeId => room number (0 based) (Only considered when the mode is "manual") |
- Response:
- Status code:
200 OK400 Bad RequestErrorconfig: When breakout rooms are disabled on the server400 Bad RequestErrormode: When breakout rooms are not configured400 Bad RequestErrorattendeeMap: When the attendee map contains an invalid room number or moderator403 ForbiddenWhen the current user is not a moderator/owner404 Not FoundWhen the conversation could not be found for the participant
- Data: Array of conversations (breakout rooms and parent) See array definition in Get user´s conversations (API v4)
- Status code:
Request assistance
This endpoint allows participants to raise their hand (token is the breakout room) and moderators will see it in any of the breakout rooms as well as the parent room.
- Required capability:
breakout-rooms-v1 - Method:
POST - Endpoint:
/breakout-rooms/{token}/request-assistance - Response:
- Status code:
200 OK400 Bad RequestErrorroom: When the room is not a breakout room or breakout rooms are not started404 Not FoundWhen the conversation could not be found for the participant
- Data: Breakout room See array definition in Get user´s conversations (API v4)
- Status code:
Reset request for assistance
- Required capability:
breakout-rooms-v1 - Method:
DELETE - Endpoint:
/breakout-rooms/{token}/request-assistance - Response:
- Status code:
200 OK400 Bad RequestErrorroom: When the room is not a breakout room or breakout rooms are not started404 Not FoundWhen the conversation could not be found for the participant
- Data: Breakout room See array definition in Get user´s conversations (API v4)
- Status code:
List all breakout rooms
See conversation API)
Switch to a different breakout room (as non moderator)
This endpoint allows participants to switch between breakout rooms when they are allowed to choose the breakout room and not are automatically or manually assigned by the moderator.
- Required capability:
breakout-rooms-v1 - Method:
POST - Endpoint:
/breakout-rooms/{token}/switch - Data:
| field | type | Description |
|---|---|---|
token |
string | (In the URL) Conversation token of the parent room hosting the breakout rooms |
target |
string | Conversation token of the target breakout room |
- Response:
- Status code:
200 OK400 Bad RequestErrormoderator: When the participant is a moderator in the conversation400 Bad RequestErrormode: When breakout rooms are not configured infreemode400 Bad RequestErrorstatus: When breakout rooms are not started400 Bad RequestErrortarget: When the target room is not breakout room of the parent404 Not FoundWhen the conversation could not be found for the participant
- Data: Target breakout room See array definition in Get user´s conversations (API v4)
- Status code: