325 lines
14 KiB
YAML

/rooms:
post:
operationId: createRoom
summary: Create a room
description: |
Creates a new OpenVidu Meet room using the provided data and returns the room details along with the generated participant URLs.
tags:
- OpenVidu Meet - Rooms
security:
- apiKeyHeader: []
- accessTokenHeader: []
parameters:
- $ref: '../components/parameters/room-x-fields-header.yaml'
- $ref: '../components/parameters/room-x-extra-fields-header.yaml'
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 rooms in the system, optionally filtered by criteria.
By default, rooms are sorted by creation date, newest first.
> Only rooms accessible to the authenticated user are returned when using the `accessTokenHeader` authentication method.
tags:
- OpenVidu Meet - Rooms
security:
- apiKeyHeader: []
- accessTokenHeader: []
parameters:
- $ref: '../components/parameters/room-x-extra-fields-header.yaml'
- $ref: '../components/parameters/room-x-fields-header.yaml'
- $ref: '../components/parameters/room-name.yaml'
- $ref: '../components/parameters/room-status.yaml'
- $ref: '../components/parameters/room-fields.yaml'
- $ref: '../components/parameters/room-extra-fields.yaml'
- $ref: '../components/parameters/max-items.yaml'
- $ref: '../components/parameters/next-page-token.yaml'
- $ref: '../components/parameters/room-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: |
Deletes multiple OpenVidu Meet rooms using the specified room IDs.
<br/><br/>
Deletion behavior depends on the `withMeeting` and `withRecordings` policies:
- Rooms may be deleted or closed immediately
- Deletion may be scheduled to occur after ongoing meetings end
- The operation may fail if deletion is not permitted
> Only rooms the authenticated user can manage are affected when using the `accessTokenHeader` authentication method.
tags:
- OpenVidu Meet - Rooms
security:
- apiKeyHeader: []
- accessTokenHeader: []
parameters:
- $ref: '../components/parameters/room-x-extra-fields-header.yaml'
- $ref: '../components/parameters/room-x-fields-header.yaml'
- $ref: '../components/parameters/room-ids.yaml'
- $ref: '../components/parameters/room-fields.yaml'
- $ref: '../components/parameters/room-extra-fields.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 by its room ID.
tags:
- OpenVidu Meet - Rooms
security:
- apiKeyHeader: []
- accessTokenHeader: []
- roomMemberTokenHeader: []
parameters:
- $ref: '../components/parameters/room-id-path.yaml'
- $ref: '../components/parameters/room-x-fields-header.yaml'
- $ref: '../components/parameters/room-x-extra-fields-header.yaml'
- $ref: '../components/parameters/room-fields.yaml'
- $ref: '../components/parameters/room-extra-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.
Deletion behavior depends on the `withMeeting` and `withRecordings` policies:
- The room may be deleted or closed immediately
- Deletion may be scheduled to occur after the meeting ends
- The operation may fail if deletion is not allowed
tags:
- OpenVidu Meet - Rooms
security:
- apiKeyHeader: []
- accessTokenHeader: []
parameters:
- $ref: '../components/parameters/room-x-fields-header.yaml'
- $ref: '../components/parameters/room-x-extra-fields-header.yaml'
- $ref: '../components/parameters/room-id-path.yaml'
- $ref: '../components/parameters/meeting-deletion-policy.yaml'
- $ref: '../components/parameters/recordings-deletion-policy.yaml'
- $ref: '../components/parameters/room-fields.yaml'
- $ref: '../components/parameters/room-extra-fields.yaml'
responses:
'200':
$ref: '../components/responses/success-delete-room-processed.yaml'
'202':
$ref: '../components/responses/success-delete-room-scheduled.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'
'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}/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'
'409':
$ref: '../components/responses/error-room-active-meeting.yaml'
'422':
$ref: '../components/responses/validation-error.yaml'
'500':
$ref: '../components/responses/internal-server-error.yaml'