449 lines
18 KiB
YAML
449 lines
18 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'
|
|
/rooms/{roomId}/members:
|
|
post:
|
|
operationId: addRoomMember
|
|
summary: Add a member to a room
|
|
description: |
|
|
Adds a new member to the specified room with custom permissions.
|
|
|
|
Each member receives a unique access URL that is different from the moderator and speaker URLs.
|
|
The member's permissions are based on a base role (moderator or speaker) with optional overrides.
|
|
|
|
This allows fine-grained control over what each specific participant can do in the meeting.
|
|
tags:
|
|
- OpenVidu Meet - Rooms
|
|
security:
|
|
- apiKeyHeader: []
|
|
parameters:
|
|
- $ref: '../components/parameters/room-id-path.yaml'
|
|
requestBody:
|
|
$ref: '../components/requestBodies/add-room-member-request.yaml'
|
|
responses:
|
|
'201':
|
|
$ref: '../components/responses/success-add-room-member.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'
|
|
get:
|
|
operationId: getRoomMembers
|
|
summary: Get all members of a room
|
|
description: >
|
|
Retrieves a paginated list of all members in the specified room.
|
|
Each member has custom access URLs and permissions that can differ from the default moderator and speaker roles.
|
|
tags:
|
|
- OpenVidu Meet - Rooms
|
|
security:
|
|
- apiKeyHeader: []
|
|
parameters:
|
|
- $ref: '../components/parameters/room-id-path.yaml'
|
|
- $ref: '../components/parameters/room-member-fields.yaml'
|
|
- $ref: '../components/parameters/max-items.yaml'
|
|
- $ref: '../components/parameters/next-page-token.yaml'
|
|
responses:
|
|
'200':
|
|
$ref: '../components/responses/success-get-room-members.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}/members/{memberId}:
|
|
get:
|
|
operationId: getRoomMember
|
|
summary: Get a room member
|
|
description: >
|
|
Retrieves the details of a specific room member by their member ID.
|
|
tags:
|
|
- OpenVidu Meet - Rooms
|
|
security:
|
|
- apiKeyHeader: []
|
|
- roomMemberTokenHeader: []
|
|
parameters:
|
|
- $ref: '../components/parameters/room-id-path.yaml'
|
|
- $ref: '../components/parameters/member-id-path.yaml'
|
|
responses:
|
|
'200':
|
|
$ref: '../components/responses/success-get-room-member.yaml'
|
|
'401':
|
|
$ref: '../components/responses/unauthorized-error.yaml'
|
|
'403':
|
|
$ref: '../components/responses/forbidden-error.yaml'
|
|
'404':
|
|
$ref: '../components/responses/error-room-member-not-found.yaml'
|
|
'422':
|
|
$ref: '../components/responses/validation-error.yaml'
|
|
'500':
|
|
$ref: '../components/responses/internal-server-error.yaml'
|
|
put:
|
|
operationId: updateRoomMember
|
|
summary: Update a room member
|
|
description: |
|
|
Updates the permissions and/or base role of a specific room member.
|
|
|
|
You can modify the member's base role and custom permission overrides.
|
|
The effective permissions will be recalculated based on the new base role and custom permissions.
|
|
tags:
|
|
- OpenVidu Meet - Rooms
|
|
security:
|
|
- apiKeyHeader: []
|
|
parameters:
|
|
- $ref: '../components/parameters/room-id-path.yaml'
|
|
- $ref: '../components/parameters/member-id-path.yaml'
|
|
requestBody:
|
|
$ref: '../components/requestBodies/update-room-member-request.yaml'
|
|
responses:
|
|
'200':
|
|
$ref: '../components/responses/success-update-room-member.yaml'
|
|
'401':
|
|
$ref: '../components/responses/unauthorized-error.yaml'
|
|
'403':
|
|
$ref: '../components/responses/forbidden-error.yaml'
|
|
'404':
|
|
$ref: '../components/responses/error-room-member-not-found.yaml'
|
|
'422':
|
|
$ref: '../components/responses/validation-error.yaml'
|
|
'500':
|
|
$ref: '../components/responses/internal-server-error.yaml'
|
|
delete:
|
|
operationId: deleteRoomMember
|
|
summary: Delete a room member
|
|
description: |
|
|
Removes a member from the specified room, revoking their access.
|
|
|
|
If the member is currently in an active meeting, they will be immediately kicked out.
|
|
The member's access URL will no longer be valid after deletion.
|
|
tags:
|
|
- OpenVidu Meet - Rooms
|
|
security:
|
|
- apiKeyHeader: []
|
|
parameters:
|
|
- $ref: '../components/parameters/room-id-path.yaml'
|
|
- $ref: '../components/parameters/member-id-path.yaml'
|
|
responses:
|
|
'200':
|
|
$ref: '../components/responses/success-delete-room-member.yaml'
|
|
'401':
|
|
$ref: '../components/responses/unauthorized-error.yaml'
|
|
'403':
|
|
$ref: '../components/responses/forbidden-error.yaml'
|
|
'404':
|
|
$ref: '../components/responses/error-room-member-not-found.yaml'
|
|
'422':
|
|
$ref: '../components/responses/validation-error.yaml'
|
|
'500':
|
|
$ref: '../components/responses/internal-server-error.yaml'
|