304 lines
12 KiB
YAML

/rooms:
post:
operationId: createRoom
summary: Create a room
description: >
Creates a new OpenVidu Meet room.
The room will be available for participants to join using the generated URLs.
tags:
- OpenVidu Meet - Rooms
security:
- apiKeyHeader: []
- accessTokenHeader: []
requestBody:
$ref: '../components/requestBodies/create-room-request.yaml'
responses:
'201':
$ref: '../components/responses/success-create-room.yaml'
'401':
$ref: '../components/responses/unauthorized-error.yaml'
'403':
$ref: '../components/responses/forbidden-error.yaml'
'422':
$ref: '../components/responses/validation-error.yaml'
'500':
$ref: '../components/responses/internal-server-error.yaml'
get:
operationId: getRooms
summary: Get all rooms
description: >
Retrieves a paginated list of all rooms available in the system.
You can apply filters to narrow down the results based on specific criteria.
By default, the rooms are sorted by creation date in descending order (newest first).
tags:
- OpenVidu Meet - Rooms
security:
- apiKeyHeader: []
- accessTokenHeader: []
parameters:
- $ref: '../components/parameters/room-name.yaml'
- $ref: '../components/parameters/room-status.yaml'
- $ref: '../components/parameters/room-fields.yaml'
- $ref: '../components/parameters/max-items.yaml'
- $ref: '../components/parameters/next-page-token.yaml'
- $ref: '../components/parameters/sort-field.yaml'
- $ref: '../components/parameters/sort-order.yaml'
responses:
'200':
$ref: '../components/responses/success-get-rooms.yaml'
'401':
$ref: '../components/responses/unauthorized-error.yaml'
'403':
$ref: '../components/responses/forbidden-error.yaml'
'422':
$ref: '../components/responses/validation-error.yaml'
'500':
$ref: '../components/responses/internal-server-error.yaml'
delete:
operationId: bulkDeleteRooms
summary: Bulk delete rooms
description: |
Delete multiple OpenVidu Meet rooms at once with the specified room IDs.
If any of the rooms have active meetings or recordings,
deletion behavior is determined by the provided `withMeeting` and `withRecordings` deletion policies.
Depending on these policies, the rooms may be deleted/closed immediately, scheduled to be deleted/closed once the meetings end,
or the operation may fail if deletion is not permitted.
tags:
- OpenVidu Meet - Rooms
security:
- apiKeyHeader: []
- accessTokenHeader: []
parameters:
- $ref: '../components/parameters/room-ids.yaml'
- $ref: '../components/parameters/meeting-deletion-policy.yaml'
- $ref: '../components/parameters/recordings-deletion-policy.yaml'
responses:
'200':
$ref: '../components/responses/success-bulk-delete-rooms.yaml'
'400':
$ref: '../components/responses/error-bulk-delete-rooms.yaml'
'401':
$ref: '../components/responses/unauthorized-error.yaml'
'403':
$ref: '../components/responses/forbidden-error.yaml'
'422':
$ref: '../components/responses/validation-error.yaml'
'500':
$ref: '../components/responses/internal-server-error.yaml'
/rooms/{roomId}:
get:
operationId: getRoom
summary: Get a room
description: >
Retrieves the details of an OpenVidu Meet room with the specified room ID.
tags:
- OpenVidu Meet - Rooms
security:
- apiKeyHeader: []
- accessTokenHeader: []
- roomMemberTokenHeader: []
parameters:
- $ref: '../components/parameters/room-id-path.yaml'
- $ref: '../components/parameters/room-fields.yaml'
responses:
'200':
$ref: '../components/responses/success-get-room.yaml'
'401':
$ref: '../components/responses/unauthorized-error.yaml'
'403':
$ref: '../components/responses/forbidden-error.yaml'
'404':
$ref: '../components/responses/error-room-not-found.yaml'
'422':
$ref: '../components/responses/validation-error.yaml'
'500':
$ref: '../components/responses/internal-server-error.yaml'
delete:
operationId: deleteRoom
summary: Delete a room
description: |
Deletes the specified OpenVidu Meet room by its room ID.
If the room has an active meeting or existing recordings,
deletion behavior is determined by the provided `withMeeting` and `withRecordings` deletion policies.
Depending on these policies, the room may be deleted/closed immediately, scheduled to be deleted/closed once the meeting ends,
or the operation may fail if deletion is not permitted.
tags:
- OpenVidu Meet - Rooms
security:
- apiKeyHeader: []
- accessTokenHeader: []
parameters:
- $ref: '../components/parameters/room-id-path.yaml'
- $ref: '../components/parameters/meeting-deletion-policy.yaml'
- $ref: '../components/parameters/recordings-deletion-policy.yaml'
responses:
'200':
$ref: '../components/responses/success-room-process-deletion.yaml'
'202':
$ref: '../components/responses/success-room-schedule-deletion.yaml'
'401':
$ref: '../components/responses/unauthorized-error.yaml'
'403':
$ref: '../components/responses/forbidden-error.yaml'
'404':
$ref: '../components/responses/error-room-not-found.yaml'
'409':
$ref: '../components/responses/error-room-process-deletion.yaml'
'422':
$ref: '../components/responses/validation-error.yaml'
'500':
$ref: '../components/responses/internal-server-error.yaml'
/rooms/{roomId}/config:
get:
operationId: getRoomConfig
summary: Get room config
description: >
Retrieves the config of an OpenVidu Meet room with the specified room ID.
tags:
- OpenVidu Meet - Rooms
security:
- apiKeyHeader: []
- accessTokenHeader: []
- roomMemberTokenHeader: []
parameters:
- $ref: '../components/parameters/room-id-path.yaml'
responses:
'200':
$ref: '../components/responses/success-get-room-config.yaml'
'401':
$ref: '../components/responses/unauthorized-error.yaml'
'403':
$ref: '../components/responses/forbidden-error.yaml'
'404':
$ref: '../components/responses/error-room-not-found.yaml'
'422':
$ref: '../components/responses/validation-error.yaml'
'500':
$ref: '../components/responses/internal-server-error.yaml'
put:
operationId: updateRoomConfig
summary: Update room config
description: >
Updates the config of an OpenVidu Meet room with the specified room ID.
tags:
- OpenVidu Meet - Rooms
security:
- apiKeyHeader: []
- accessTokenHeader: []
parameters:
- $ref: '../components/parameters/room-id-path.yaml'
requestBody:
$ref: '../components/requestBodies/update-room-config-request.yaml'
responses:
'200':
$ref: '../components/responses/success-update-room-config.yaml'
'401':
$ref: '../components/responses/unauthorized-error.yaml'
'403':
$ref: '../components/responses/forbidden-error.yaml'
'404':
$ref: '../components/responses/error-room-not-found.yaml'
'409':
$ref: '../components/responses/error-room-active-meeting.yaml'
'422':
$ref: '../components/responses/validation-error.yaml'
'500':
$ref: '../components/responses/internal-server-error.yaml'
/rooms/{roomId}/status:
put:
operationId: updateRoomStatus
summary: Update room status
description: >
Updates the status of an OpenVidu Meet room with the specified room ID.
This can be used to open or close the room for new participants.
tags:
- OpenVidu Meet - Rooms
security:
- apiKeyHeader: []
- accessTokenHeader: []
parameters:
- $ref: '../components/parameters/room-id-path.yaml'
requestBody:
$ref: '../components/requestBodies/update-room-status-request.yaml'
responses:
'200':
$ref: '../components/responses/success-update-room-status.yaml'
'202':
$ref: '../components/responses/success-room-schedule-closure.yaml'
'401':
$ref: '../components/responses/unauthorized-error.yaml'
'403':
$ref: '../components/responses/forbidden-error.yaml'
'404':
$ref: '../components/responses/error-room-not-found.yaml'
'422':
$ref: '../components/responses/validation-error.yaml'
'500':
$ref: '../components/responses/internal-server-error.yaml'
/rooms/{roomId}/roles:
put:
operationId: updateRoomRoles
summary: Update roles permissions for a room
description: |
Updates the permissions by role for the specified room.
You can customize permissions for moderator and/or speaker roles.
Only specify the permissions you want to change from the current configuration.
tags:
- OpenVidu Meet - Rooms
security:
- apiKeyHeader: []
- accessTokenHeader: []
parameters:
- $ref: '../components/parameters/room-id-path.yaml'
requestBody:
$ref: '../components/requestBodies/update-room-roles-request.yaml'
responses:
'200':
$ref: '../components/responses/success-update-room-roles.yaml'
'401':
$ref: '../components/responses/unauthorized-error.yaml'
'403':
$ref: '../components/responses/forbidden-error.yaml'
'404':
$ref: '../components/responses/error-room-not-found.yaml'
'422':
$ref: '../components/responses/validation-error.yaml'
'500':
$ref: '../components/responses/internal-server-error.yaml'
/rooms/{roomId}/anonymous:
put:
operationId: updateRoomAnonymous
summary: Update anonymous access config for a room
description: |
Updates the anonymous access configuration for the specified room.
This allows you to enable or disable anonymous access for specific roles (moderator/speaker).
tags:
- OpenVidu Meet - Rooms
security:
- apiKeyHeader: []
- accessTokenHeader: []
parameters:
- $ref: '../components/parameters/room-id-path.yaml'
requestBody:
$ref: '../components/requestBodies/update-room-anonymous-request.yaml'
responses:
'200':
$ref: '../components/responses/success-update-room-anonymous.yaml'
'401':
$ref: '../components/responses/unauthorized-error.yaml'
'403':
$ref: '../components/responses/forbidden-error.yaml'
'404':
$ref: '../components/responses/error-room-not-found.yaml'
'422':
$ref: '../components/responses/validation-error.yaml'
'500':
$ref: '../components/responses/internal-server-error.yaml'