Reapply "Revert commits 6c7bfd4 5638025 da7759d ba374ce cf84de4 39a9b7d e990c19"
This reverts commit 450aa85b887e2ce56052c8abe75fbe4722a2ef69.
This commit is contained in:
parent
ad413d2791
commit
029802787a
@ -0,0 +1,6 @@
|
|||||||
|
name: secret
|
||||||
|
in: path
|
||||||
|
required: true
|
||||||
|
description: The secret value from the room URL used to access the room.
|
||||||
|
schema:
|
||||||
|
type: string
|
||||||
@ -1,7 +0,0 @@
|
|||||||
name: userId
|
|
||||||
in: path
|
|
||||||
required: true
|
|
||||||
description: The unique identifier of the user.
|
|
||||||
schema:
|
|
||||||
type: string
|
|
||||||
example: 'alice_smith'
|
|
||||||
@ -1,7 +0,0 @@
|
|||||||
name: memberId
|
|
||||||
in: path
|
|
||||||
required: true
|
|
||||||
description: The unique identifier of the room member.
|
|
||||||
schema:
|
|
||||||
type: string
|
|
||||||
example: 'abc123'
|
|
||||||
@ -1,9 +0,0 @@
|
|||||||
name: fields
|
|
||||||
in: query
|
|
||||||
description: >
|
|
||||||
Specifies which fields to include in the response for the room member resource.
|
|
||||||
Provide a comma-separated list of field names.
|
|
||||||
required: false
|
|
||||||
schema:
|
|
||||||
type: string
|
|
||||||
example: 'accessUrl,baseRole'
|
|
||||||
@ -1,68 +0,0 @@
|
|||||||
description: Room member addition options
|
|
||||||
required: true
|
|
||||||
content:
|
|
||||||
application/json:
|
|
||||||
schema:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
userId:
|
|
||||||
type: string
|
|
||||||
example: 'alice_smith'
|
|
||||||
description: |
|
|
||||||
The unique identifier for an internal OpenVidu Meet user. This field should be provided when adding an internal Meet user as a member.
|
|
||||||
|
|
||||||
If provided:
|
|
||||||
- The member will be associated with the Meet user account identified by this userId.
|
|
||||||
- The 'name' field should be left blank or an error will be fired. It will be automatically set based on the Meet user's profile name.
|
|
||||||
- The memberId will be set to this userId value.
|
|
||||||
|
|
||||||
If omitted, the member will be treated as an external user and 'name' must be provided.
|
|
||||||
|
|
||||||
Important: You must provide either 'userId' (for internal users) or 'name' (for external users), but NOT both.
|
|
||||||
If both are provided, a validation error will be returned.
|
|
||||||
name:
|
|
||||||
type: string
|
|
||||||
maxLength: 50
|
|
||||||
example: 'Alice Smith'
|
|
||||||
description: |
|
|
||||||
The display name for the participant when joining the meeting with this member access. It is recommended to be unique for the members of the room to easily identify them in the meeting.
|
|
||||||
|
|
||||||
This field is required only when adding an external user. The 'userId' field should be left blank or an error will be fired.
|
|
||||||
|
|
||||||
Important: You must provide either 'userId' (for internal users) or 'name' (for external users), but NOT both.
|
|
||||||
If both are provided, a validation error will be returned.
|
|
||||||
baseRole:
|
|
||||||
type: string
|
|
||||||
enum:
|
|
||||||
- moderator
|
|
||||||
- speaker
|
|
||||||
example: 'speaker'
|
|
||||||
description: |
|
|
||||||
The base role that defines the default permissions for this member. Options are:
|
|
||||||
- moderator: By default, has full permissions to manage the room and meeting.
|
|
||||||
- speaker: By default, has permissions to publish audio and video streams.
|
|
||||||
|
|
||||||
Individual permissions can be overridden through the customPermissions object.
|
|
||||||
customPermissions:
|
|
||||||
type: object
|
|
||||||
additionalProperties:
|
|
||||||
type: boolean
|
|
||||||
example:
|
|
||||||
canShareScreen: false
|
|
||||||
canRecord: true
|
|
||||||
description: |
|
|
||||||
An optional object containing custom permission overrides for the base role.
|
|
||||||
Only include the permissions you want to override from the base role defaults.
|
|
||||||
Each property should be a permission name (e.g., 'canRecord', 'canShareScreen') with a boolean value.
|
|
||||||
|
|
||||||
For the complete list of all available permissions, see the full permissions schema:
|
|
||||||
[MeetPermissions](#/schemas/MeetPermissions)
|
|
||||||
required:
|
|
||||||
- baseRole
|
|
||||||
description: |
|
|
||||||
Request body to add a new member to a room.
|
|
||||||
|
|
||||||
Important: You must provide either 'userId' (for internal Meet users) or 'name' (for external users), but NOT both.
|
|
||||||
- If 'userId' is provided, the member will be linked to an internal user account and 'name' will be set from that account.
|
|
||||||
- If 'name' is provided, the member will be treated as an external user without a linked account.
|
|
||||||
- If both 'userId' and 'name' are provided or neither is provided, the request will fail with a validation error.
|
|
||||||
@ -1,42 +0,0 @@
|
|||||||
description: User creation options
|
|
||||||
required: true
|
|
||||||
content:
|
|
||||||
application/json:
|
|
||||||
schema:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
userId:
|
|
||||||
type: string
|
|
||||||
pattern: '^[a-z0-9_]+$'
|
|
||||||
example: 'alice_smith'
|
|
||||||
description: |
|
|
||||||
The unique identifier for the new user. This must be unique across all users.
|
|
||||||
|
|
||||||
Validation: Must contain only lowercase letters, numbers, and underscores.
|
|
||||||
name:
|
|
||||||
type: string
|
|
||||||
maxLength: 50
|
|
||||||
example: 'Alice Smith'
|
|
||||||
description: |
|
|
||||||
The display name (profile name) for the user.
|
|
||||||
role:
|
|
||||||
type: string
|
|
||||||
enum: ['admin', 'user', 'room_member']
|
|
||||||
example: 'user'
|
|
||||||
description: |
|
|
||||||
The role to assign to the user. Available roles:
|
|
||||||
- admin: Has full control over the entire application (configuration, users, rooms, recordings, etc).
|
|
||||||
- user: Can create and manage their own created rooms and associated recordings. Can also access rooms they are a member of, but without management permissions.
|
|
||||||
- room_member: Can only access rooms (and recordings) they are a member of, without ability to create or manage rooms.
|
|
||||||
password:
|
|
||||||
type: string
|
|
||||||
format: password
|
|
||||||
minLength: 5
|
|
||||||
example: 'SecureP@ssw0rd'
|
|
||||||
description: |
|
|
||||||
The password for the new user account.
|
|
||||||
required:
|
|
||||||
- userId
|
|
||||||
- name
|
|
||||||
- role
|
|
||||||
- password
|
|
||||||
@ -3,16 +3,4 @@ required: true
|
|||||||
content:
|
content:
|
||||||
application/json:
|
application/json:
|
||||||
schema:
|
schema:
|
||||||
type: object
|
$ref: '../../schemas/internal/user-credentials.yaml'
|
||||||
properties:
|
|
||||||
username:
|
|
||||||
type: string
|
|
||||||
description: The username of the user.
|
|
||||||
example: 'admin'
|
|
||||||
password:
|
|
||||||
type: string
|
|
||||||
description: The password of the user.
|
|
||||||
example: 'password123'
|
|
||||||
required:
|
|
||||||
- username
|
|
||||||
- password
|
|
||||||
|
|||||||
@ -0,0 +1,10 @@
|
|||||||
|
description: Room secret
|
||||||
|
required: true
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
secret:
|
||||||
|
type: string
|
||||||
|
description: The secret value from the room URL used to connect to the room.
|
||||||
@ -1,6 +0,0 @@
|
|||||||
description: Room anonymous access configuration update options
|
|
||||||
required: true
|
|
||||||
content:
|
|
||||||
application/json:
|
|
||||||
schema:
|
|
||||||
$ref: '../schemas/meet-room-anonymous-config.yaml'
|
|
||||||
@ -8,10 +8,10 @@ content:
|
|||||||
$ref: '../schemas/meet-room-config.yaml#/MeetRoomConfig'
|
$ref: '../schemas/meet-room-config.yaml#/MeetRoomConfig'
|
||||||
example:
|
example:
|
||||||
config:
|
config:
|
||||||
|
chat:
|
||||||
|
enabled: true
|
||||||
recording:
|
recording:
|
||||||
enabled: true
|
enabled: true
|
||||||
encoding: H264_720P_30
|
encoding: H264_720P_30
|
||||||
chat:
|
|
||||||
enabled: true
|
|
||||||
virtualBackground:
|
virtualBackground:
|
||||||
enabled: true
|
enabled: true
|
||||||
|
|||||||
@ -1,33 +0,0 @@
|
|||||||
description: Room member update options
|
|
||||||
required: true
|
|
||||||
content:
|
|
||||||
application/json:
|
|
||||||
schema:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
baseRole:
|
|
||||||
type: string
|
|
||||||
enum:
|
|
||||||
- moderator
|
|
||||||
- speaker
|
|
||||||
example: 'speaker'
|
|
||||||
description: |
|
|
||||||
The base role that defines the default permissions for this member. Options are:
|
|
||||||
- moderator: By default, has full permissions to manage the room and meeting.
|
|
||||||
- speaker: By default, has permissions to publish audio and video streams.
|
|
||||||
|
|
||||||
Individual permissions can be overridden through the 'customPermissions' object.
|
|
||||||
customPermissions:
|
|
||||||
type: object
|
|
||||||
additionalProperties:
|
|
||||||
type: boolean
|
|
||||||
example:
|
|
||||||
canShareScreen: false
|
|
||||||
canRecord: true
|
|
||||||
description: |
|
|
||||||
An optional object containing custom permission overrides for the base role.
|
|
||||||
Only include the permissions you want to override from the base role defaults.
|
|
||||||
Each property should be a permission name (e.g., 'canRecord', 'canShareScreen') with a boolean value.
|
|
||||||
|
|
||||||
For the complete list of all available permissions, see the full permissions schema:
|
|
||||||
[MeetPermissions](#/schemas/MeetPermissions)
|
|
||||||
@ -1,6 +0,0 @@
|
|||||||
description: Room roles permissions update options
|
|
||||||
required: true
|
|
||||||
content:
|
|
||||||
application/json:
|
|
||||||
schema:
|
|
||||||
$ref: '../schemas/meet-room-roles-config.yaml'
|
|
||||||
@ -1,16 +0,0 @@
|
|||||||
description: Room member or room not found
|
|
||||||
content:
|
|
||||||
application/json:
|
|
||||||
schema:
|
|
||||||
$ref: '../schemas/error.yaml'
|
|
||||||
examples:
|
|
||||||
member_not_found:
|
|
||||||
summary: Room member does not exist in the specified room
|
|
||||||
value:
|
|
||||||
error: 'Room Error'
|
|
||||||
message: 'Room member "abc123" does not exist in room "room_123"'
|
|
||||||
room_not_found:
|
|
||||||
summary: Room does not exist
|
|
||||||
value:
|
|
||||||
error: 'Room Error'
|
|
||||||
message: 'Room "room_123" does not exist'
|
|
||||||
@ -1,8 +0,0 @@
|
|||||||
description: User not found
|
|
||||||
content:
|
|
||||||
application/json:
|
|
||||||
schema:
|
|
||||||
$ref: '../../schemas/error.yaml'
|
|
||||||
example:
|
|
||||||
error: 'User Error'
|
|
||||||
message: 'User "alice_smith" not found'
|
|
||||||
@ -1,8 +0,0 @@
|
|||||||
description: UserId already exists
|
|
||||||
content:
|
|
||||||
application/json:
|
|
||||||
schema:
|
|
||||||
$ref: '../../schemas/error.yaml'
|
|
||||||
example:
|
|
||||||
error: 'User Error'
|
|
||||||
message: 'User "alice_smith" already exists'
|
|
||||||
@ -1,12 +0,0 @@
|
|||||||
description: User created successfully
|
|
||||||
content:
|
|
||||||
application/json:
|
|
||||||
schema:
|
|
||||||
$ref: '../../schemas/internal/meet-user.yaml'
|
|
||||||
headers:
|
|
||||||
Location:
|
|
||||||
description: URL of the newly created user
|
|
||||||
schema:
|
|
||||||
type: string
|
|
||||||
format: uri
|
|
||||||
example: https://your-api.com/internal-api/v1/users/alice_smith
|
|
||||||
@ -1,10 +0,0 @@
|
|||||||
description: User deleted successfully
|
|
||||||
content:
|
|
||||||
application/json:
|
|
||||||
schema:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
message:
|
|
||||||
type: string
|
|
||||||
example:
|
|
||||||
message: User 'alice_smith' deleted successfully
|
|
||||||
@ -1,5 +0,0 @@
|
|||||||
description: Successfully retrieved authenticated user info
|
|
||||||
content:
|
|
||||||
application/json:
|
|
||||||
schema:
|
|
||||||
$ref: '../../schemas/internal/meet-user.yaml'
|
|
||||||
@ -1,4 +1,4 @@
|
|||||||
description: User retrieved successfully
|
description: Successfully retrieved user profile
|
||||||
content:
|
content:
|
||||||
application/json:
|
application/json:
|
||||||
schema:
|
schema:
|
||||||
@ -0,0 +1,5 @@
|
|||||||
|
description: Successfully retrieved the room role and associated permissions
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: '../../schemas/internal/room-member-role-permissions.yaml'
|
||||||
@ -0,0 +1,38 @@
|
|||||||
|
description: Successfully retrieved all roles and associated permissions in a room
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
$ref: '../../schemas/internal/room-member-role-permissions.yaml'
|
||||||
|
example:
|
||||||
|
- role: 'moderator'
|
||||||
|
permissions:
|
||||||
|
livekit:
|
||||||
|
roomJoin: true
|
||||||
|
room: 'room-123'
|
||||||
|
canPublish: true
|
||||||
|
canSubscribe: true
|
||||||
|
canPublishData: true
|
||||||
|
canUpdateOwnMetadata: true
|
||||||
|
openvidu:
|
||||||
|
canRecord: true
|
||||||
|
canRetrieveRecordings: true
|
||||||
|
canDeleteRecordings: true
|
||||||
|
canChat: true
|
||||||
|
canChangeVirtualBackground: true
|
||||||
|
- role: 'speaker'
|
||||||
|
permissions:
|
||||||
|
livekit:
|
||||||
|
roomJoin: true
|
||||||
|
room: 'room-123'
|
||||||
|
canPublish: true
|
||||||
|
canSubscribe: true
|
||||||
|
canPublishData: true
|
||||||
|
canUpdateOwnMetadata: true
|
||||||
|
openvidu:
|
||||||
|
canRecord: false
|
||||||
|
canRetrieveRecordings: true
|
||||||
|
canDeleteRecordings: false
|
||||||
|
canChat: true
|
||||||
|
canChangeVirtualBackground: true
|
||||||
@ -1,40 +0,0 @@
|
|||||||
description: Successfully retrieved the list of users
|
|
||||||
content:
|
|
||||||
application/json:
|
|
||||||
schema:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
users:
|
|
||||||
type: array
|
|
||||||
items:
|
|
||||||
$ref: '../../schemas/internal/meet-user.yaml'
|
|
||||||
pagination:
|
|
||||||
$ref: '../../schemas/meet-pagination.yaml'
|
|
||||||
examples:
|
|
||||||
multiple_users:
|
|
||||||
summary: Response with multiple users
|
|
||||||
value:
|
|
||||||
users:
|
|
||||||
- userId: 'admin'
|
|
||||||
name: 'Admin'
|
|
||||||
role: 'admin'
|
|
||||||
- userId: 'alice_smith'
|
|
||||||
name: 'Alice Smith'
|
|
||||||
role: 'user'
|
|
||||||
- userId: 'bob_jones'
|
|
||||||
name: 'Bob Jones'
|
|
||||||
role: 'room_member'
|
|
||||||
pagination:
|
|
||||||
nextPageToken: 'eyJvZmZzZXQiOjEwfQ=='
|
|
||||||
isTruncated: true
|
|
||||||
maxItems: 3
|
|
||||||
single_page:
|
|
||||||
summary: Response with all users in a single page
|
|
||||||
value:
|
|
||||||
users:
|
|
||||||
- userId: 'admin'
|
|
||||||
name: 'Admin'
|
|
||||||
role: 'admin'
|
|
||||||
pagination:
|
|
||||||
isTruncated: false
|
|
||||||
maxItems: 10
|
|
||||||
@ -1,12 +0,0 @@
|
|||||||
description: Room member added successfully
|
|
||||||
content:
|
|
||||||
application/json:
|
|
||||||
schema:
|
|
||||||
$ref: '../schemas/meet-room-member.yaml'
|
|
||||||
headers:
|
|
||||||
Location:
|
|
||||||
description: URL of the newly added room member
|
|
||||||
schema:
|
|
||||||
type: string
|
|
||||||
format: uri
|
|
||||||
example: https://your-api.com/api/v1/rooms/room-123/members/abc123
|
|
||||||
@ -1,10 +0,0 @@
|
|||||||
description: Successfull deletion of the room member
|
|
||||||
content:
|
|
||||||
application/json:
|
|
||||||
schema:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
message:
|
|
||||||
type: string
|
|
||||||
example:
|
|
||||||
message: Member 'abc123' deleted successfully from room 'room-123'
|
|
||||||
@ -1,5 +0,0 @@
|
|||||||
description: Success response for retrieving a room member info
|
|
||||||
content:
|
|
||||||
application/json:
|
|
||||||
schema:
|
|
||||||
$ref: '../schemas/meet-room-member.yaml'
|
|
||||||
@ -1,75 +0,0 @@
|
|||||||
description: Successfully retrieved the list of room members
|
|
||||||
content:
|
|
||||||
application/json:
|
|
||||||
schema:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
members:
|
|
||||||
type: array
|
|
||||||
items:
|
|
||||||
$ref: '../schemas/meet-room-member.yaml'
|
|
||||||
pagination:
|
|
||||||
$ref: '../schemas/meet-pagination.yaml'
|
|
||||||
|
|
||||||
examples:
|
|
||||||
complete_member_details:
|
|
||||||
summary: Full room member details response with multiple members
|
|
||||||
value:
|
|
||||||
members:
|
|
||||||
- memberId: 'alice_smith'
|
|
||||||
name: 'Alice Smith'
|
|
||||||
accessUrl: 'http://localhost:6080/room/room-123'
|
|
||||||
baseRole: 'moderator'
|
|
||||||
customPermissions:
|
|
||||||
canEndMeeting: false
|
|
||||||
effectivePermissions:
|
|
||||||
canRecord: true
|
|
||||||
canRetrieveRecordings: true
|
|
||||||
canDeleteRecordings: true
|
|
||||||
canJoinMeeting: true
|
|
||||||
canShareAccessLinks: true
|
|
||||||
canMakeModerator: true
|
|
||||||
canKickParticipants: true
|
|
||||||
canEndMeeting: false
|
|
||||||
canPublishVideo: true
|
|
||||||
canPublishAudio: true
|
|
||||||
canShareScreen: true
|
|
||||||
canReadChat: true
|
|
||||||
canWriteChat: true
|
|
||||||
canChangeVirtualBackground: true
|
|
||||||
- memberId: 'ext-abc123'
|
|
||||||
name: 'Bob'
|
|
||||||
accessUrl: 'http://localhost:6080/room/room-123?secret=ext-abc123'
|
|
||||||
baseRole: 'speaker'
|
|
||||||
customPermissions:
|
|
||||||
canShareScreen: false
|
|
||||||
canRecord: true
|
|
||||||
effectivePermissions:
|
|
||||||
canRecord: true
|
|
||||||
canRetrieveRecordings: true
|
|
||||||
canDeleteRecordings: false
|
|
||||||
canJoinMeeting: true
|
|
||||||
canShareAccessLinks: false
|
|
||||||
canMakeModerator: false
|
|
||||||
canKickParticipants: false
|
|
||||||
canEndMeeting: false
|
|
||||||
canPublishVideo: true
|
|
||||||
canPublishAudio: true
|
|
||||||
canShareScreen: false
|
|
||||||
canReadChat: true
|
|
||||||
canWriteChat: true
|
|
||||||
canChangeVirtualBackground: true
|
|
||||||
pagination:
|
|
||||||
isTruncated: false
|
|
||||||
maxItems: 10
|
|
||||||
fields=accessUrl,baseRole:
|
|
||||||
summary: Response with only accessUrl and baseRole for each member
|
|
||||||
value:
|
|
||||||
members:
|
|
||||||
- accessUrl: 'http://localhost:6080/room/room-123'
|
|
||||||
baseRole: 'moderator'
|
|
||||||
- accessUrl: 'http://localhost:6080/room/room-123?secret=ext-abc123'
|
|
||||||
baseRole: 'speaker'
|
|
||||||
pagination:
|
|
||||||
isTruncated: false
|
|
||||||
maxItems: 10
|
|
||||||
@ -9,70 +9,35 @@ content:
|
|||||||
value:
|
value:
|
||||||
roomId: 'room-123'
|
roomId: 'room-123'
|
||||||
roomName: 'room'
|
roomName: 'room'
|
||||||
owner: 'admin'
|
|
||||||
creationDate: 1620000000000
|
creationDate: 1620000000000
|
||||||
autoDeletionDate: 1900000000000
|
autoDeletionDate: 1900000000000
|
||||||
autoDeletionPolicy:
|
autoDeletionPolicy:
|
||||||
withMeeting: when_meeting_ends
|
withMeeting: when_meeting_ends
|
||||||
withRecordings: close
|
withRecordings: close
|
||||||
config:
|
config:
|
||||||
|
chat:
|
||||||
|
enabled: true
|
||||||
recording:
|
recording:
|
||||||
enabled: false
|
enabled: false
|
||||||
layout: grid
|
layout: grid
|
||||||
encoding: H264_720P_30
|
encoding: H264_720P_30
|
||||||
allowAccessTo: admin_moderator_speaker
|
allowAccessTo: admin_moderator_speaker
|
||||||
chat:
|
|
||||||
enabled: true
|
|
||||||
virtualBackground:
|
virtualBackground:
|
||||||
enabled: true
|
enabled: true
|
||||||
e2ee:
|
e2ee:
|
||||||
enabled: false
|
enabled: false
|
||||||
captions:
|
captions:
|
||||||
enabled: true
|
enabled: true
|
||||||
roles:
|
moderatorUrl: 'http://localhost:6080/room/room-123?secret=123456'
|
||||||
moderator:
|
speakerUrl: 'http://localhost:6080/room/room-123?secret=654321'
|
||||||
permissions:
|
|
||||||
canRecord: true
|
|
||||||
canRetrieveRecordings: true
|
|
||||||
canDeleteRecordings: true
|
|
||||||
canJoinMeeting: true
|
|
||||||
canShareAccessLinks: true
|
|
||||||
canMakeModerator: true
|
|
||||||
canKickParticipants: true
|
|
||||||
canEndMeeting: true
|
|
||||||
canPublishVideo: true
|
|
||||||
canPublishAudio: true
|
|
||||||
canShareScreen: true
|
|
||||||
canReadChat: true
|
|
||||||
canWriteChat: true
|
|
||||||
canChangeVirtualBackground: true
|
|
||||||
speaker:
|
|
||||||
permissions:
|
|
||||||
canRecord: false
|
|
||||||
canRetrieveRecordings: true
|
|
||||||
canDeleteRecordings: false
|
|
||||||
canJoinMeeting: true
|
|
||||||
canShareAccessLinks: false
|
|
||||||
canMakeModerator: false
|
|
||||||
canKickParticipants: false
|
|
||||||
canEndMeeting: false
|
|
||||||
canPublishVideo: true
|
|
||||||
canPublishAudio: true
|
|
||||||
canShareScreen: true
|
|
||||||
canReadChat: true
|
|
||||||
canWriteChat: true
|
|
||||||
canChangeVirtualBackground: true
|
|
||||||
anonymous:
|
|
||||||
moderator:
|
|
||||||
enabled: true
|
|
||||||
accessUrl: 'http://localhost:6080/room/room-123?secret=123456'
|
|
||||||
speaker:
|
|
||||||
enabled: true
|
|
||||||
accessUrl: 'http://localhost:6080/room/room-123?secret=654321'
|
|
||||||
accessUrl: 'http://localhost:6080/room/room-123'
|
|
||||||
status: open
|
status: open
|
||||||
meetingEndAction: none
|
meetingEndAction: none
|
||||||
|
|
||||||
|
fields=roomId:
|
||||||
|
summary: Response with only the roomId
|
||||||
|
value:
|
||||||
|
roomId: 'room-123'
|
||||||
|
|
||||||
fields=roomId,roomName,creationDate,autoDeletionDate,config:
|
fields=roomId,roomName,creationDate,autoDeletionDate,config:
|
||||||
summary: Room details with roomId, roomName, creationDate, autoDeletionDate, and config
|
summary: Room details with roomId, roomName, creationDate, autoDeletionDate, and config
|
||||||
value:
|
value:
|
||||||
@ -81,6 +46,8 @@ content:
|
|||||||
creationDate: 1620000000000
|
creationDate: 1620000000000
|
||||||
autoDeletionDate: 1900000000000
|
autoDeletionDate: 1900000000000
|
||||||
config:
|
config:
|
||||||
|
chat:
|
||||||
|
enabled: true
|
||||||
recording:
|
recording:
|
||||||
enabled: false
|
enabled: false
|
||||||
layout: grid
|
layout: grid
|
||||||
@ -94,20 +61,13 @@ content:
|
|||||||
codec: OPUS
|
codec: OPUS
|
||||||
bitrate: 128
|
bitrate: 128
|
||||||
allowAccessTo: admin_moderator_speaker
|
allowAccessTo: admin_moderator_speaker
|
||||||
chat:
|
|
||||||
enabled: true
|
|
||||||
virtualBackground:
|
virtualBackground:
|
||||||
enabled: true
|
enabled: true
|
||||||
e2ee:
|
e2ee:
|
||||||
enabled: false
|
enabled: false
|
||||||
|
|
||||||
fields=anonymous:
|
fields=moderatorUrl,speakerUrl:
|
||||||
summary: Response containing only anonymous access configuration
|
summary: Response containing only moderator and speaker URLs
|
||||||
value:
|
value:
|
||||||
anonymous:
|
moderatorUrl: 'http://localhost:6080/room/room-123?secret=123456'
|
||||||
moderator:
|
speakerUrl: 'http://localhost:6080/room/room-123?secret=654321'
|
||||||
enabled: true
|
|
||||||
accessUrl: 'http://localhost:6080/room/room-123?secret=123456'
|
|
||||||
speaker:
|
|
||||||
enabled: true
|
|
||||||
accessUrl: 'http://localhost:6080/room/room-123?secret=654321'
|
|
||||||
|
|||||||
@ -18,78 +18,39 @@ content:
|
|||||||
rooms:
|
rooms:
|
||||||
- roomId: 'room-123'
|
- roomId: 'room-123'
|
||||||
roomName: 'room'
|
roomName: 'room'
|
||||||
owner: 'admin'
|
|
||||||
creationDate: 1620000000000
|
creationDate: 1620000000000
|
||||||
autoDeletionDate: 1900000000000
|
autoDeletionDate: 1900000000000
|
||||||
autoDeletionPolicy:
|
autoDeletionPolicy:
|
||||||
withMeeting: when_meeting_ends
|
withMeeting: when_meeting_ends
|
||||||
withRecordings: close
|
withRecordings: close
|
||||||
config:
|
config:
|
||||||
|
chat:
|
||||||
|
enabled: true
|
||||||
recording:
|
recording:
|
||||||
enabled: false
|
enabled: false
|
||||||
layout: grid
|
layout: grid
|
||||||
encoding: H264_720P_30
|
encoding: H264_720P_30
|
||||||
allowAccessTo: admin_moderator_speaker
|
allowAccessTo: admin_moderator_speaker
|
||||||
chat:
|
|
||||||
enabled: true
|
|
||||||
virtualBackground:
|
virtualBackground:
|
||||||
enabled: true
|
enabled: true
|
||||||
e2ee:
|
e2ee:
|
||||||
enabled: false
|
enabled: false
|
||||||
captions:
|
captions:
|
||||||
enabled: true
|
enabled: true
|
||||||
roles:
|
moderatorUrl: 'http://localhost:6080/room/room-123?secret=123456'
|
||||||
moderator:
|
speakerUrl: 'http://localhost:6080/room/room-123?secret=654321'
|
||||||
permissions:
|
|
||||||
canRecord: true
|
|
||||||
canRetrieveRecordings: true
|
|
||||||
canDeleteRecordings: true
|
|
||||||
canJoinMeeting: true
|
|
||||||
canShareAccessLinks: true
|
|
||||||
canMakeModerator: true
|
|
||||||
canKickParticipants: true
|
|
||||||
canEndMeeting: true
|
|
||||||
canPublishVideo: true
|
|
||||||
canPublishAudio: true
|
|
||||||
canShareScreen: true
|
|
||||||
canReadChat: true
|
|
||||||
canWriteChat: true
|
|
||||||
canChangeVirtualBackground: true
|
|
||||||
speaker:
|
|
||||||
permissions:
|
|
||||||
canRecord: false
|
|
||||||
canRetrieveRecordings: true
|
|
||||||
canDeleteRecordings: false
|
|
||||||
canJoinMeeting: true
|
|
||||||
canShareAccessLinks: false
|
|
||||||
canMakeModerator: false
|
|
||||||
canKickParticipants: false
|
|
||||||
canEndMeeting: false
|
|
||||||
canPublishVideo: true
|
|
||||||
canPublishAudio: true
|
|
||||||
canShareScreen: true
|
|
||||||
canReadChat: true
|
|
||||||
canWriteChat: true
|
|
||||||
canChangeVirtualBackground: true
|
|
||||||
anonymous:
|
|
||||||
moderator:
|
|
||||||
enabled: true
|
|
||||||
accessUrl: 'http://localhost:6080/room/room-123?secret=123456'
|
|
||||||
speaker:
|
|
||||||
enabled: true
|
|
||||||
accessUrl: 'http://localhost:6080/room/room-123?secret=654321'
|
|
||||||
accessUrl: 'http://localhost:6080/room/room-123'
|
|
||||||
status: open
|
status: open
|
||||||
meetingEndAction: none
|
meetingEndAction: none
|
||||||
- roomId: 'room-456'
|
- roomId: 'room-456'
|
||||||
roomName: 'room'
|
roomName: 'room'
|
||||||
owner: 'alice_smith'
|
|
||||||
creationDate: 1620001000000
|
creationDate: 1620001000000
|
||||||
autoDeletionDate: 1900000000000
|
autoDeletionDate: 1900000000000
|
||||||
autoDeletionPolicy:
|
autoDeletionPolicy:
|
||||||
withMeeting: when_meeting_ends
|
withMeeting: when_meeting_ends
|
||||||
withRecordings: close
|
withRecordings: close
|
||||||
config:
|
config:
|
||||||
|
chat:
|
||||||
|
enabled: false
|
||||||
recording:
|
recording:
|
||||||
enabled: true
|
enabled: true
|
||||||
layout: grid
|
layout: grid
|
||||||
@ -103,53 +64,12 @@ content:
|
|||||||
codec: AAC
|
codec: AAC
|
||||||
bitrate: 192
|
bitrate: 192
|
||||||
allowAccessTo: admin_moderator_speaker
|
allowAccessTo: admin_moderator_speaker
|
||||||
chat:
|
|
||||||
enabled: false
|
|
||||||
virtualBackground:
|
virtualBackground:
|
||||||
enabled: false
|
enabled: false
|
||||||
e2ee:
|
e2ee:
|
||||||
enabled: false
|
enabled: false
|
||||||
roles:
|
moderatorUrl: 'http://localhost:6080/room/room-456?secret=789012'
|
||||||
moderator:
|
speakerUrl: 'http://localhost:6080/room/room-456?secret=210987'
|
||||||
permissions:
|
|
||||||
canRecord: true
|
|
||||||
canRetrieveRecordings: true
|
|
||||||
canDeleteRecordings: false
|
|
||||||
canJoinMeeting: true
|
|
||||||
canShareAccessLinks: true
|
|
||||||
canMakeModerator: false
|
|
||||||
canKickParticipants: true
|
|
||||||
canEndMeeting: true
|
|
||||||
canPublishVideo: true
|
|
||||||
canPublishAudio: true
|
|
||||||
canShareScreen: true
|
|
||||||
canReadChat: true
|
|
||||||
canWriteChat: true
|
|
||||||
canChangeVirtualBackground: true
|
|
||||||
speaker:
|
|
||||||
permissions:
|
|
||||||
canRecord: true
|
|
||||||
canRetrieveRecordings: true
|
|
||||||
canDeleteRecordings: false
|
|
||||||
canJoinMeeting: true
|
|
||||||
canShareAccessLinks: false
|
|
||||||
canMakeModerator: false
|
|
||||||
canKickParticipants: false
|
|
||||||
canEndMeeting: false
|
|
||||||
canPublishVideo: true
|
|
||||||
canPublishAudio: true
|
|
||||||
canShareScreen: false
|
|
||||||
canReadChat: true
|
|
||||||
canWriteChat: true
|
|
||||||
canChangeVirtualBackground: true
|
|
||||||
anonymous:
|
|
||||||
moderator:
|
|
||||||
enabled: false
|
|
||||||
accessUrl: 'http://localhost:6080/room/room-456?secret=789012'
|
|
||||||
speaker:
|
|
||||||
enabled: true
|
|
||||||
accessUrl: 'http://localhost:6080/room/room-456?secret=210987'
|
|
||||||
accessUrl: 'http://localhost:6080/room/room-456'
|
|
||||||
status: open
|
status: open
|
||||||
meetingEndAction: none
|
meetingEndAction: none
|
||||||
pagination:
|
pagination:
|
||||||
@ -174,10 +94,10 @@ content:
|
|||||||
creationDate: 1620000000000
|
creationDate: 1620000000000
|
||||||
autoDeletionDate: 1900000000000
|
autoDeletionDate: 1900000000000
|
||||||
config:
|
config:
|
||||||
recording:
|
|
||||||
enabled: false
|
|
||||||
chat:
|
chat:
|
||||||
enabled: true
|
enabled: true
|
||||||
|
recording:
|
||||||
|
enabled: false
|
||||||
virtualBackground:
|
virtualBackground:
|
||||||
enabled: true
|
enabled: true
|
||||||
e2ee:
|
e2ee:
|
||||||
@ -187,10 +107,10 @@ content:
|
|||||||
creationDate: 1620001000000
|
creationDate: 1620001000000
|
||||||
autoDeletionDate: 1900000000000
|
autoDeletionDate: 1900000000000
|
||||||
config:
|
config:
|
||||||
recording:
|
|
||||||
enabled: true
|
|
||||||
chat:
|
chat:
|
||||||
enabled: false
|
enabled: false
|
||||||
|
recording:
|
||||||
|
enabled: true
|
||||||
virtualBackground:
|
virtualBackground:
|
||||||
enabled: false
|
enabled: false
|
||||||
e2ee:
|
e2ee:
|
||||||
@ -199,3 +119,15 @@ content:
|
|||||||
isTruncated: true
|
isTruncated: true
|
||||||
nextPageToken: 'abc123'
|
nextPageToken: 'abc123'
|
||||||
maxItems: 10
|
maxItems: 10
|
||||||
|
|
||||||
|
fields=moderatorUrl,speakerUrl:
|
||||||
|
summary: Response containing only moderator and speaker URLs
|
||||||
|
value:
|
||||||
|
rooms:
|
||||||
|
- moderatorUrl: 'http://localhost:6080/room/room-123?secret=123456'
|
||||||
|
speakerUrl: 'http://localhost:6080/room/room-123?secret=654321'
|
||||||
|
- moderatorUrl: 'http://localhost:6080/room/room-456?secret=789012'
|
||||||
|
speakerUrl: 'http://localhost:6080/room/room-456?secret=210987'
|
||||||
|
pagination:
|
||||||
|
isTruncated: false
|
||||||
|
maxItems: 10
|
||||||
|
|||||||
@ -39,58 +39,16 @@ content:
|
|||||||
room:
|
room:
|
||||||
roomId: room-123
|
roomId: room-123
|
||||||
roomName: room
|
roomName: room
|
||||||
owner: 'admin'
|
|
||||||
creationDate: 1620000000000
|
creationDate: 1620000000000
|
||||||
config:
|
config:
|
||||||
recording:
|
|
||||||
enabled: false
|
|
||||||
chat:
|
chat:
|
||||||
enabled: true
|
enabled: true
|
||||||
|
recording:
|
||||||
|
enabled: false
|
||||||
virtualBackground:
|
virtualBackground:
|
||||||
enabled: true
|
enabled: true
|
||||||
e2ee:
|
moderatorUrl: 'http://localhost:6080/room/room-123?secret=123456'
|
||||||
enabled: false
|
speakerUrl: 'http://localhost:6080/room/room-123?secret=654321'
|
||||||
roles:
|
|
||||||
moderator:
|
|
||||||
permissions:
|
|
||||||
canRecord: true
|
|
||||||
canRetrieveRecordings: true
|
|
||||||
canDeleteRecordings: true
|
|
||||||
canJoinMeeting: true
|
|
||||||
canShareAccessLinks: true
|
|
||||||
canMakeModerator: true
|
|
||||||
canKickParticipants: true
|
|
||||||
canEndMeeting: true
|
|
||||||
canPublishVideo: true
|
|
||||||
canPublishAudio: true
|
|
||||||
canShareScreen: true
|
|
||||||
canReadChat: true
|
|
||||||
canWriteChat: true
|
|
||||||
canChangeVirtualBackground: true
|
|
||||||
speaker:
|
|
||||||
permissions:
|
|
||||||
canRecord: false
|
|
||||||
canRetrieveRecordings: true
|
|
||||||
canDeleteRecordings: false
|
|
||||||
canJoinMeeting: true
|
|
||||||
canShareAccessLinks: false
|
|
||||||
canMakeModerator: false
|
|
||||||
canKickParticipants: false
|
|
||||||
canEndMeeting: false
|
|
||||||
canPublishVideo: true
|
|
||||||
canPublishAudio: true
|
|
||||||
canShareScreen: true
|
|
||||||
canReadChat: true
|
|
||||||
canWriteChat: true
|
|
||||||
canChangeVirtualBackground: true
|
|
||||||
anonymous:
|
|
||||||
moderator:
|
|
||||||
enabled: true
|
|
||||||
accessUrl: 'http://localhost:6080/room/room-123?secret=123456'
|
|
||||||
speaker:
|
|
||||||
enabled: true
|
|
||||||
accessUrl: 'http://localhost:6080/room/room-123?secret=654321'
|
|
||||||
accessUrl: 'http://localhost:6080/room/room-123'
|
|
||||||
status: closed
|
status: closed
|
||||||
meetingEndAction: none
|
meetingEndAction: none
|
||||||
room_with_active_meeting_and_recordings_deleted:
|
room_with_active_meeting_and_recordings_deleted:
|
||||||
@ -104,57 +62,15 @@ content:
|
|||||||
room:
|
room:
|
||||||
roomId: room-123
|
roomId: room-123
|
||||||
roomName: room
|
roomName: room
|
||||||
owner: 'admin'
|
|
||||||
creationDate: 1620000000000
|
creationDate: 1620000000000
|
||||||
config:
|
config:
|
||||||
recording:
|
|
||||||
enabled: false
|
|
||||||
chat:
|
chat:
|
||||||
enabled: true
|
enabled: true
|
||||||
|
recording:
|
||||||
|
enabled: false
|
||||||
virtualBackground:
|
virtualBackground:
|
||||||
enabled: true
|
enabled: true
|
||||||
e2ee:
|
moderatorUrl: 'http://localhost:6080/room/room-123?secret=123456'
|
||||||
enabled: false
|
speakerUrl: 'http://localhost:6080/room/room-123?secret=654321'
|
||||||
roles:
|
|
||||||
moderator:
|
|
||||||
permissions:
|
|
||||||
canRecord: true
|
|
||||||
canRetrieveRecordings: true
|
|
||||||
canDeleteRecordings: true
|
|
||||||
canJoinMeeting: true
|
|
||||||
canShareAccessLinks: true
|
|
||||||
canMakeModerator: true
|
|
||||||
canKickParticipants: true
|
|
||||||
canEndMeeting: true
|
|
||||||
canPublishVideo: true
|
|
||||||
canPublishAudio: true
|
|
||||||
canShareScreen: true
|
|
||||||
canReadChat: true
|
|
||||||
canWriteChat: true
|
|
||||||
canChangeVirtualBackground: true
|
|
||||||
speaker:
|
|
||||||
permissions:
|
|
||||||
canRecord: false
|
|
||||||
canRetrieveRecordings: true
|
|
||||||
canDeleteRecordings: false
|
|
||||||
canJoinMeeting: true
|
|
||||||
canShareAccessLinks: false
|
|
||||||
canMakeModerator: false
|
|
||||||
canKickParticipants: false
|
|
||||||
canEndMeeting: false
|
|
||||||
canPublishVideo: true
|
|
||||||
canPublishAudio: true
|
|
||||||
canShareScreen: true
|
|
||||||
canReadChat: true
|
|
||||||
canWriteChat: true
|
|
||||||
canChangeVirtualBackground: true
|
|
||||||
anonymous:
|
|
||||||
moderator:
|
|
||||||
enabled: true
|
|
||||||
accessUrl: 'http://localhost:6080/room/room-123?secret=123456'
|
|
||||||
speaker:
|
|
||||||
enabled: true
|
|
||||||
accessUrl: 'http://localhost:6080/room/room-123?secret=654321'
|
|
||||||
accessUrl: 'http://localhost:6080/room/room-123'
|
|
||||||
status: active_meeting
|
status: active_meeting
|
||||||
meetingEndAction: close
|
meetingEndAction: close
|
||||||
|
|||||||
@ -24,58 +24,16 @@ content:
|
|||||||
room:
|
room:
|
||||||
roomId: room-123
|
roomId: room-123
|
||||||
roomName: room
|
roomName: room
|
||||||
owner: 'admin'
|
|
||||||
creationDate: 1620000000000
|
creationDate: 1620000000000
|
||||||
config:
|
config:
|
||||||
recording:
|
|
||||||
enabled: false
|
|
||||||
chat:
|
chat:
|
||||||
enabled: true
|
enabled: true
|
||||||
|
recording:
|
||||||
|
enabled: false
|
||||||
virtualBackground:
|
virtualBackground:
|
||||||
enabled: true
|
enabled: true
|
||||||
e2ee:
|
moderatorUrl: 'http://localhost:6080/room/room-123?secret=123456'
|
||||||
enabled: false
|
speakerUrl: 'http://localhost:6080/room/room-123?secret=654321'
|
||||||
roles:
|
|
||||||
moderator:
|
|
||||||
permissions:
|
|
||||||
canRecord: true
|
|
||||||
canRetrieveRecordings: true
|
|
||||||
canDeleteRecordings: true
|
|
||||||
canJoinMeeting: true
|
|
||||||
canShareAccessLinks: true
|
|
||||||
canMakeModerator: true
|
|
||||||
canKickParticipants: true
|
|
||||||
canEndMeeting: true
|
|
||||||
canPublishVideo: true
|
|
||||||
canPublishAudio: true
|
|
||||||
canShareScreen: true
|
|
||||||
canReadChat: true
|
|
||||||
canWriteChat: true
|
|
||||||
canChangeVirtualBackground: true
|
|
||||||
speaker:
|
|
||||||
permissions:
|
|
||||||
canRecord: false
|
|
||||||
canRetrieveRecordings: true
|
|
||||||
canDeleteRecordings: false
|
|
||||||
canJoinMeeting: true
|
|
||||||
canShareAccessLinks: false
|
|
||||||
canMakeModerator: false
|
|
||||||
canKickParticipants: false
|
|
||||||
canEndMeeting: false
|
|
||||||
canPublishVideo: true
|
|
||||||
canPublishAudio: true
|
|
||||||
canShareScreen: true
|
|
||||||
canReadChat: true
|
|
||||||
canWriteChat: true
|
|
||||||
canChangeVirtualBackground: true
|
|
||||||
anonymous:
|
|
||||||
moderator:
|
|
||||||
enabled: true
|
|
||||||
accessUrl: 'http://localhost:6080/room/room-123?secret=123456'
|
|
||||||
speaker:
|
|
||||||
enabled: true
|
|
||||||
accessUrl: 'http://localhost:6080/room/room-123?secret=654321'
|
|
||||||
accessUrl: 'http://localhost:6080/room/room-123'
|
|
||||||
status: active_meeting
|
status: active_meeting
|
||||||
meetingEndAction: delete
|
meetingEndAction: delete
|
||||||
room_with_active_meeting_and_recordings_scheduled_to_be_deleted:
|
room_with_active_meeting_and_recordings_scheduled_to_be_deleted:
|
||||||
@ -85,58 +43,16 @@ content:
|
|||||||
room:
|
room:
|
||||||
roomId: room-123
|
roomId: room-123
|
||||||
roomName: room
|
roomName: room
|
||||||
owner: 'admin'
|
|
||||||
creationDate: 1620000000000
|
creationDate: 1620000000000
|
||||||
config:
|
config:
|
||||||
recording:
|
|
||||||
enabled: false
|
|
||||||
chat:
|
chat:
|
||||||
enabled: true
|
enabled: true
|
||||||
|
recording:
|
||||||
|
enabled: false
|
||||||
virtualBackground:
|
virtualBackground:
|
||||||
enabled: true
|
enabled: true
|
||||||
e2ee:
|
moderatorUrl: 'http://localhost:6080/room/room-123?secret=123456'
|
||||||
enabled: false
|
speakerUrl: 'http://localhost:6080/room/room-123?secret=654321'
|
||||||
roles:
|
|
||||||
moderator:
|
|
||||||
permissions:
|
|
||||||
canRecord: true
|
|
||||||
canRetrieveRecordings: true
|
|
||||||
canDeleteRecordings: true
|
|
||||||
canJoinMeeting: true
|
|
||||||
canShareAccessLinks: true
|
|
||||||
canMakeModerator: true
|
|
||||||
canKickParticipants: true
|
|
||||||
canEndMeeting: true
|
|
||||||
canPublishVideo: true
|
|
||||||
canPublishAudio: true
|
|
||||||
canShareScreen: true
|
|
||||||
canReadChat: true
|
|
||||||
canWriteChat: true
|
|
||||||
canChangeVirtualBackground: true
|
|
||||||
speaker:
|
|
||||||
permissions:
|
|
||||||
canRecord: false
|
|
||||||
canRetrieveRecordings: true
|
|
||||||
canDeleteRecordings: false
|
|
||||||
canJoinMeeting: true
|
|
||||||
canShareAccessLinks: false
|
|
||||||
canMakeModerator: false
|
|
||||||
canKickParticipants: false
|
|
||||||
canEndMeeting: false
|
|
||||||
canPublishVideo: true
|
|
||||||
canPublishAudio: true
|
|
||||||
canShareScreen: true
|
|
||||||
canReadChat: true
|
|
||||||
canWriteChat: true
|
|
||||||
canChangeVirtualBackground: true
|
|
||||||
anonymous:
|
|
||||||
moderator:
|
|
||||||
enabled: true
|
|
||||||
accessUrl: 'http://localhost:6080/room/room-123?secret=123456'
|
|
||||||
speaker:
|
|
||||||
enabled: true
|
|
||||||
accessUrl: 'http://localhost:6080/room/room-123?secret=654321'
|
|
||||||
accessUrl: 'http://localhost:6080/room/room-123'
|
|
||||||
status: active_meeting
|
status: active_meeting
|
||||||
meetingEndAction: delete
|
meetingEndAction: delete
|
||||||
room_with_active_meeting_scheduled_to_be_closed:
|
room_with_active_meeting_scheduled_to_be_closed:
|
||||||
@ -146,7 +62,6 @@ content:
|
|||||||
room:
|
room:
|
||||||
roomId: room-123
|
roomId: room-123
|
||||||
roomName: room
|
roomName: room
|
||||||
owner: 'admin'
|
|
||||||
creationDate: 1620000000000
|
creationDate: 1620000000000
|
||||||
config:
|
config:
|
||||||
chat:
|
chat:
|
||||||
@ -155,48 +70,7 @@ content:
|
|||||||
enabled: false
|
enabled: false
|
||||||
virtualBackground:
|
virtualBackground:
|
||||||
enabled: true
|
enabled: true
|
||||||
e2ee:
|
moderatorUrl: 'http://localhost:6080/room/room-123?secret=123456'
|
||||||
enabled: false
|
speakerUrl: 'http://localhost:6080/room/room-123?secret=654321'
|
||||||
roles:
|
|
||||||
moderator:
|
|
||||||
permissions:
|
|
||||||
canRecord: true
|
|
||||||
canRetrieveRecordings: true
|
|
||||||
canDeleteRecordings: true
|
|
||||||
canJoinMeeting: true
|
|
||||||
canShareAccessLinks: true
|
|
||||||
canMakeModerator: true
|
|
||||||
canKickParticipants: true
|
|
||||||
canEndMeeting: true
|
|
||||||
canPublishVideo: true
|
|
||||||
canPublishAudio: true
|
|
||||||
canShareScreen: true
|
|
||||||
canReadChat: true
|
|
||||||
canWriteChat: true
|
|
||||||
canChangeVirtualBackground: true
|
|
||||||
speaker:
|
|
||||||
permissions:
|
|
||||||
canRecord: false
|
|
||||||
canRetrieveRecordings: true
|
|
||||||
canDeleteRecordings: false
|
|
||||||
canJoinMeeting: true
|
|
||||||
canShareAccessLinks: false
|
|
||||||
canMakeModerator: false
|
|
||||||
canKickParticipants: false
|
|
||||||
canEndMeeting: false
|
|
||||||
canPublishVideo: true
|
|
||||||
canPublishAudio: true
|
|
||||||
canShareScreen: true
|
|
||||||
canReadChat: true
|
|
||||||
canWriteChat: true
|
|
||||||
canChangeVirtualBackground: true
|
|
||||||
anonymous:
|
|
||||||
moderator:
|
|
||||||
enabled: true
|
|
||||||
accessUrl: 'http://localhost:6080/room/room-123?secret=123456'
|
|
||||||
speaker:
|
|
||||||
enabled: true
|
|
||||||
accessUrl: 'http://localhost:6080/room/room-123?secret=654321'
|
|
||||||
accessUrl: 'http://localhost:6080/room/room-123'
|
|
||||||
status: active_meeting
|
status: active_meeting
|
||||||
meetingEndAction: close
|
meetingEndAction: close
|
||||||
|
|||||||
@ -1,10 +0,0 @@
|
|||||||
description: Success response for updating room anonymous access configuration
|
|
||||||
content:
|
|
||||||
application/json:
|
|
||||||
schema:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
message:
|
|
||||||
type: string
|
|
||||||
example:
|
|
||||||
message: Anonymous access config for room 'room-123' updated successfully
|
|
||||||
@ -1,5 +0,0 @@
|
|||||||
description: Room member updated successfully
|
|
||||||
content:
|
|
||||||
application/json:
|
|
||||||
schema:
|
|
||||||
$ref: '../schemas/meet-room-member.yaml'
|
|
||||||
@ -1,10 +0,0 @@
|
|||||||
description: Success response for updating room roles configuration
|
|
||||||
content:
|
|
||||||
application/json:
|
|
||||||
schema:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
message:
|
|
||||||
type: string
|
|
||||||
example:
|
|
||||||
message: Roles permissions for room 'room-123' updated successfully
|
|
||||||
@ -1,21 +1,13 @@
|
|||||||
type: object
|
type: object
|
||||||
properties:
|
properties:
|
||||||
userId:
|
username:
|
||||||
type: string
|
type: string
|
||||||
example: 'alice_smith'
|
example: 'admin'
|
||||||
description: |
|
description: The username of the authenticated user.
|
||||||
The unique identifier of the user.
|
roles:
|
||||||
name:
|
type: array
|
||||||
|
items:
|
||||||
type: string
|
type: string
|
||||||
example: 'Alice Smith'
|
enum: ['admin', 'user']
|
||||||
description: |
|
example: ['admin', 'user']
|
||||||
The display name (profile name) of the user.
|
description: A list of roles assigned to the authenticated user.
|
||||||
role:
|
|
||||||
type: string
|
|
||||||
enum: ['admin', 'user', 'room_member']
|
|
||||||
example: 'user'
|
|
||||||
description: |
|
|
||||||
The role assigned to the user. Available roles:
|
|
||||||
- admin: Has full control over the entire application (configuration, users, rooms, recordings, etc).
|
|
||||||
- user: Can create and manage their own created rooms and associated recordings. Can also access rooms they are a member of, but without management permissions.
|
|
||||||
- room_member: Can only access rooms (and recordings) they are a member of, without ability to create or manage rooms.
|
|
||||||
|
|||||||
@ -0,0 +1,74 @@
|
|||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
role:
|
||||||
|
type: string
|
||||||
|
enum: ['moderator', 'speaker']
|
||||||
|
description: |
|
||||||
|
A role that a user can have as a member of a room.
|
||||||
|
The role determines the permissions of the user in the room.
|
||||||
|
- `moderator`: Can manage the room resources and meeting participants.
|
||||||
|
- `speaker`: Can publish media streams to the meeting.
|
||||||
|
example: 'moderator'
|
||||||
|
permissions:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
livekit:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
roomJoin:
|
||||||
|
type: boolean
|
||||||
|
description: >
|
||||||
|
Indicates whether the participant can join a room.
|
||||||
|
example: true
|
||||||
|
room:
|
||||||
|
type: string
|
||||||
|
description: >
|
||||||
|
Unique identifier of the room to which the participant is assigned.
|
||||||
|
canPublish:
|
||||||
|
type: boolean
|
||||||
|
description: >
|
||||||
|
Indicates whether the participant can publish media streams to the room.
|
||||||
|
example: true
|
||||||
|
canSubscribe:
|
||||||
|
type: boolean
|
||||||
|
description: >
|
||||||
|
Indicates whether the participant can subscribe to media streams in the room.
|
||||||
|
example: true
|
||||||
|
canPublishData:
|
||||||
|
type: boolean
|
||||||
|
description: >
|
||||||
|
Indicates whether the participant can publish data messages to the room.
|
||||||
|
example: true
|
||||||
|
canUpdateOwnMetadata:
|
||||||
|
type: boolean
|
||||||
|
description: >
|
||||||
|
Indicates whether the participant can update their own metadata.
|
||||||
|
example: true
|
||||||
|
openvidu:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
canRecord:
|
||||||
|
type: boolean
|
||||||
|
description: >
|
||||||
|
Indicates whether the user can record a meeting in the room.
|
||||||
|
example: true
|
||||||
|
canRetrieveRecordings:
|
||||||
|
type: boolean
|
||||||
|
description: >
|
||||||
|
Indicates whether the user can retrieve and play recordings of meetings in the room.
|
||||||
|
example: true
|
||||||
|
canDeleteRecordings:
|
||||||
|
type: boolean
|
||||||
|
description: >
|
||||||
|
Indicates whether the user can delete recordings of meetings in the room.
|
||||||
|
example: true
|
||||||
|
canChat:
|
||||||
|
type: boolean
|
||||||
|
description: >
|
||||||
|
Indicates whether the user can send and receive chat messages in the room.
|
||||||
|
example: true
|
||||||
|
canChangeVirtualBackground:
|
||||||
|
type: boolean
|
||||||
|
description: >
|
||||||
|
Indicates whether the user can change their own virtual background.
|
||||||
|
example: true
|
||||||
@ -0,0 +1,13 @@
|
|||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- username
|
||||||
|
- password
|
||||||
|
properties:
|
||||||
|
username:
|
||||||
|
type: string
|
||||||
|
description: The username of the user.
|
||||||
|
example: 'admin'
|
||||||
|
password:
|
||||||
|
type: string
|
||||||
|
description: The password of the user.
|
||||||
|
example: 'password123'
|
||||||
@ -1,58 +0,0 @@
|
|||||||
type: object
|
|
||||||
properties:
|
|
||||||
canRecord:
|
|
||||||
type: boolean
|
|
||||||
example: true
|
|
||||||
description: Can start/stop recording the meeting.
|
|
||||||
canRetrieveRecordings:
|
|
||||||
type: boolean
|
|
||||||
example: true
|
|
||||||
description: Can list and play recordings.
|
|
||||||
canDeleteRecordings:
|
|
||||||
type: boolean
|
|
||||||
example: false
|
|
||||||
description: Can delete recordings.
|
|
||||||
canJoinMeeting:
|
|
||||||
type: boolean
|
|
||||||
example: true
|
|
||||||
description: Can join the meeting.
|
|
||||||
canShareAccessLinks:
|
|
||||||
type: boolean
|
|
||||||
example: false
|
|
||||||
description: Can share access links to invite others.
|
|
||||||
canMakeModerator:
|
|
||||||
type: boolean
|
|
||||||
example: false
|
|
||||||
description: Can promote other participants to moderator role.
|
|
||||||
canKickParticipants:
|
|
||||||
type: boolean
|
|
||||||
example: false
|
|
||||||
description: Can remove other participants from the meeting.
|
|
||||||
canEndMeeting:
|
|
||||||
type: boolean
|
|
||||||
example: false
|
|
||||||
description: Can end the meeting for all participants.
|
|
||||||
canPublishVideo:
|
|
||||||
type: boolean
|
|
||||||
example: true
|
|
||||||
description: Can publish video in the meeting.
|
|
||||||
canPublishAudio:
|
|
||||||
type: boolean
|
|
||||||
example: true
|
|
||||||
description: Can publish audio in the meeting.
|
|
||||||
canShareScreen:
|
|
||||||
type: boolean
|
|
||||||
example: false
|
|
||||||
description: Can share screen in the meeting.
|
|
||||||
canReadChat:
|
|
||||||
type: boolean
|
|
||||||
example: true
|
|
||||||
description: Can read chat messages in the meeting.
|
|
||||||
canWriteChat:
|
|
||||||
type: boolean
|
|
||||||
example: true
|
|
||||||
description: Can send chat messages in the meeting.
|
|
||||||
canChangeVirtualBackground:
|
|
||||||
type: boolean
|
|
||||||
example: true
|
|
||||||
description: Can change the virtual background.
|
|
||||||
@ -1,24 +0,0 @@
|
|||||||
type: object
|
|
||||||
properties:
|
|
||||||
moderator:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
enabled:
|
|
||||||
type: boolean
|
|
||||||
default: true
|
|
||||||
example: true
|
|
||||||
description: |
|
|
||||||
Enables or disables anonymous access for the moderator role.
|
|
||||||
speaker:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
enabled:
|
|
||||||
type: boolean
|
|
||||||
default: true
|
|
||||||
example: true
|
|
||||||
description: |
|
|
||||||
Enables or disables anonymous access for the speaker role.
|
|
||||||
description: |
|
|
||||||
Configuration for anonymous access.
|
|
||||||
|
|
||||||
Both moderator and speaker fields are optional. If not specified, current configuration will be maintained.
|
|
||||||
@ -1,53 +0,0 @@
|
|||||||
type: object
|
|
||||||
properties:
|
|
||||||
memberId:
|
|
||||||
type: string
|
|
||||||
example: 'alice_smith'
|
|
||||||
description: |
|
|
||||||
The unique identifier of the room member.
|
|
||||||
|
|
||||||
- For internal users: This is set to the userId of the linked Meet user account.
|
|
||||||
- For external users: This is an automatically generated unique identifier starting from 'ext-'.
|
|
||||||
name:
|
|
||||||
type: string
|
|
||||||
example: 'Alice Smith'
|
|
||||||
description: |
|
|
||||||
The display name for the participant when joining the meeting with this member access.
|
|
||||||
|
|
||||||
- For OpenVidu Meet users, this is their profile name.
|
|
||||||
- For external users, this is the assigned name.
|
|
||||||
accessUrl:
|
|
||||||
type: string
|
|
||||||
format: uri
|
|
||||||
example: 'http://localhost:6080/room/room-123'
|
|
||||||
description: >
|
|
||||||
The unique URL for this member to access the room. This URL is different from the moderator and speaker URLs
|
|
||||||
and provides access with the specific permissions assigned to this member.
|
|
||||||
baseRole:
|
|
||||||
type: string
|
|
||||||
enum:
|
|
||||||
- moderator
|
|
||||||
- speaker
|
|
||||||
example: 'speaker'
|
|
||||||
description: |
|
|
||||||
The base role that defines the default permissions for this member. Options are:
|
|
||||||
- moderator: By default, has full permissions to manage the room and meeting.
|
|
||||||
- speaker: By default, has permissions to publish audio and video streams.
|
|
||||||
|
|
||||||
Individual permissions can be overridden through the customPermissions object.
|
|
||||||
customPermissions:
|
|
||||||
type: object
|
|
||||||
additionalProperties:
|
|
||||||
type: boolean
|
|
||||||
example:
|
|
||||||
canShareScreen: false
|
|
||||||
canRecord: true
|
|
||||||
description: |
|
|
||||||
Custom permission overrides for this member. This object contains only the permissions that differ from the base role defaults.
|
|
||||||
|
|
||||||
Each property is a permission name with a boolean value indicating whether the permission is granted or denied.
|
|
||||||
effectivePermissions:
|
|
||||||
$ref: meet-permissions.yaml
|
|
||||||
description: >
|
|
||||||
The complete set of effective permissions for this member. This object is calculated by applying the customPermissions
|
|
||||||
overrides to the base role defaults, resulting in the final permissions that will be enforced.
|
|
||||||
@ -58,22 +58,3 @@ properties:
|
|||||||
$ref: './meet-room-config.yaml#/MeetRoomConfig'
|
$ref: './meet-room-config.yaml#/MeetRoomConfig'
|
||||||
description: >
|
description: >
|
||||||
The config for the room. These config will be used to configure the room's settings.
|
The config for the room. These config will be used to configure the room's settings.
|
||||||
roles:
|
|
||||||
$ref: meet-room-roles-config.yaml
|
|
||||||
description: |
|
|
||||||
Configuration for role permissions.
|
|
||||||
|
|
||||||
By default (if not specified), default permissions will be used for both moderator and speaker roles:
|
|
||||||
- Moderator: Full permissions to manage the room and meeting.
|
|
||||||
- Speaker: Permissions to publish audio and video streams.
|
|
||||||
|
|
||||||
You can customize this by providing partial permissions for each role (only specify the permissions you want to override).
|
|
||||||
anonymous:
|
|
||||||
$ref: meet-room-anonymous-config.yaml
|
|
||||||
description: |
|
|
||||||
Configuration for anonymous access to the room.
|
|
||||||
|
|
||||||
By default (if not specified), anonymous access is enabled for both moderators and speakers.
|
|
||||||
You can customize this behavior by disabling anonymous access for specific roles (moderator/speaker) with per-role `enabled: false`
|
|
||||||
|
|
||||||
Permissions for anonymous users are determined by the room's role permissions.
|
|
||||||
|
|||||||
@ -1,40 +0,0 @@
|
|||||||
type: object
|
|
||||||
properties:
|
|
||||||
moderator:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
permissions:
|
|
||||||
type: object
|
|
||||||
additionalProperties:
|
|
||||||
type: boolean
|
|
||||||
example:
|
|
||||||
canRecord: false
|
|
||||||
canKickParticipants: false
|
|
||||||
description: |
|
|
||||||
Partial permissions object for the moderator role.
|
|
||||||
Only specify the permissions you want to override from the default or previously configured moderator permissions.
|
|
||||||
Each property should be a permission name (e.g., 'canRecord', 'canShareScreen') with a boolean value.
|
|
||||||
|
|
||||||
For the complete list of all available permissions, see the full permissions schema:
|
|
||||||
[MeetPermissions](#/schemas/MeetPermissions)
|
|
||||||
speaker:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
permissions:
|
|
||||||
type: object
|
|
||||||
additionalProperties:
|
|
||||||
type: boolean
|
|
||||||
example:
|
|
||||||
canShareScreen: false
|
|
||||||
description: |
|
|
||||||
Partial permissions object for the speaker role.
|
|
||||||
Only specify the permissions you want to override from the default or previously configured speaker permissions.
|
|
||||||
Each property should be a permission name (e.g., 'canRecord', 'canShareScreen') with a boolean value.
|
|
||||||
|
|
||||||
For the complete list of all available permissions, see the full permissions schema:
|
|
||||||
[MeetPermissions](#/schemas/MeetPermissions)
|
|
||||||
description: |
|
|
||||||
Configuration for role permissions.
|
|
||||||
|
|
||||||
Both moderator and speaker fields are optional. If not specified, current permissions will be maintained.
|
|
||||||
For permissions, only specify the ones you want to change.
|
|
||||||
@ -6,18 +6,14 @@ properties:
|
|||||||
description: >
|
description: >
|
||||||
The unique identifier of the room. This ID is generated by combining the room name with a unique identifier.
|
The unique identifier of the room. This ID is generated by combining the room name with a unique identifier.
|
||||||
roomName:
|
roomName:
|
||||||
type: string
|
type: [string, 'null']
|
||||||
|
maxLength: 50
|
||||||
example: 'room'
|
example: 'room'
|
||||||
|
default: 'Room'
|
||||||
description: |
|
description: |
|
||||||
The display name of the room, used to identify it in a user-friendly way. This value does not need to be unique.
|
The display name of the room, used to identify it in a user-friendly way. This value does not need to be unique.
|
||||||
owner:
|
|
||||||
type: string
|
|
||||||
example: 'alice_smith'
|
|
||||||
description: |
|
|
||||||
The userId of the internal Meet user who owns this room.
|
|
||||||
|
|
||||||
If the room was created by a registered Meet user, this will be their userId.
|
Maximum length: 50 characters. If not provided, the default value "Room" will be used.
|
||||||
If the room was created via the REST API using an API key, this will be the userId of the global admin (root user).
|
|
||||||
creationDate:
|
creationDate:
|
||||||
type: number
|
type: number
|
||||||
example: 1620000000000
|
example: 1620000000000
|
||||||
@ -35,10 +31,10 @@ properties:
|
|||||||
|
|
||||||
If not set, the room remains active until manually deleted.
|
If not set, the room remains active until manually deleted.
|
||||||
autoDeletionPolicy:
|
autoDeletionPolicy:
|
||||||
|
type: object
|
||||||
description: >
|
description: >
|
||||||
Policy for automatic deletion of the room and its contents. This includes
|
Policy for automatic deletion of the room and its contents. This includes
|
||||||
settings for how the room should be handled when certain conditions are met.
|
settings for how the room should be handled when certain conditions are met.
|
||||||
type: object
|
|
||||||
properties:
|
properties:
|
||||||
withMeeting:
|
withMeeting:
|
||||||
type: string
|
type: string
|
||||||
@ -71,68 +67,18 @@ properties:
|
|||||||
# description: >
|
# description: >
|
||||||
# The maximum number of participants allowed in the room. If the number of participants exceeds
|
# The maximum number of participants allowed in the room. If the number of participants exceeds
|
||||||
# this limit, new participants will not be allowed to join.
|
# this limit, new participants will not be allowed to join.
|
||||||
roles:
|
moderatorUrl:
|
||||||
description: >
|
|
||||||
Roles for the room. Defines the complete permissions for moderator and speaker roles.
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
moderator:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
permissions:
|
|
||||||
$ref: meet-permissions.yaml
|
|
||||||
description: >
|
|
||||||
The complete set of permissions for the moderator role. These define what moderators can do in the meeting.
|
|
||||||
speaker:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
permissions:
|
|
||||||
$ref: meet-permissions.yaml
|
|
||||||
description: >
|
|
||||||
The complete set of permissions for the speaker role. These define what speakers can do in the meeting.
|
|
||||||
anonymous:
|
|
||||||
description: >
|
|
||||||
Configuration for anonymous access to the room. Defines which roles have anonymous access enabled and their access URLs.
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
moderator:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
enabled:
|
|
||||||
type: boolean
|
|
||||||
example: true
|
|
||||||
description: >
|
|
||||||
Whether anonymous access with moderator role is enabled.
|
|
||||||
accessUrl:
|
|
||||||
type: string
|
type: string
|
||||||
format: uri
|
|
||||||
example: 'http://localhost:6080/room/room-123?secret=123456'
|
example: 'http://localhost:6080/room/room-123?secret=123456'
|
||||||
description: >
|
description: >
|
||||||
The URL for anonymous moderators to access the room.
|
The URL for moderator room members to access the room. The moderator role has special permissions to manage the
|
||||||
speaker:
|
room resources and meeting participants.
|
||||||
type: object
|
speakerUrl:
|
||||||
properties:
|
|
||||||
enabled:
|
|
||||||
type: boolean
|
|
||||||
example: true
|
|
||||||
description: >
|
|
||||||
Whether anonymous access with speaker role is enabled.
|
|
||||||
accessUrl:
|
|
||||||
type: string
|
type: string
|
||||||
format: uri
|
|
||||||
example: 'http://localhost:6080/room/room-123?secret=654321'
|
example: 'http://localhost:6080/room/room-123?secret=654321'
|
||||||
description: >
|
description: >
|
||||||
The URL for anonymous speakers to access the room.
|
The URL for speaker room members to access the room. The speaker role has permissions to publish audio and
|
||||||
accessUrl:
|
video streams to the meeting.
|
||||||
type: string
|
|
||||||
format: uri
|
|
||||||
example: 'http://localhost:6080/room/room-123'
|
|
||||||
description: |
|
|
||||||
The general access URL for authenticated users to join the room.
|
|
||||||
|
|
||||||
This URL should be used by:
|
|
||||||
- The room owner (internal Meet user who created the room)
|
|
||||||
- Internal Meet users who are members of the room
|
|
||||||
status:
|
status:
|
||||||
type: string
|
type: string
|
||||||
enum:
|
enum:
|
||||||
|
|||||||
@ -15,16 +15,8 @@ paths:
|
|||||||
$ref: './paths/rooms.yaml#/~1rooms~1{roomId}'
|
$ref: './paths/rooms.yaml#/~1rooms~1{roomId}'
|
||||||
/rooms/{roomId}/config:
|
/rooms/{roomId}/config:
|
||||||
$ref: './paths/rooms.yaml#/~1rooms~1{roomId}~1config'
|
$ref: './paths/rooms.yaml#/~1rooms~1{roomId}~1config'
|
||||||
/rooms/{roomId}/roles:
|
|
||||||
$ref: './paths/rooms.yaml#/~1rooms~1{roomId}~1roles'
|
|
||||||
/rooms/{roomId}/anonymous:
|
|
||||||
$ref: './paths/rooms.yaml#/~1rooms~1{roomId}~1anonymous'
|
|
||||||
/rooms/{roomId}/status:
|
/rooms/{roomId}/status:
|
||||||
$ref: './paths/rooms.yaml#/~1rooms~1{roomId}~1status'
|
$ref: './paths/rooms.yaml#/~1rooms~1{roomId}~1status'
|
||||||
/rooms/{roomId}/members:
|
|
||||||
$ref: './paths/rooms.yaml#/~1rooms~1{roomId}~1members'
|
|
||||||
/rooms/{roomId}/members/{memberId}:
|
|
||||||
$ref: './paths/rooms.yaml#/~1rooms~1{roomId}~1members~1{memberId}'
|
|
||||||
/recordings:
|
/recordings:
|
||||||
$ref: './paths/recordings.yaml#/~1recordings'
|
$ref: './paths/recordings.yaml#/~1recordings'
|
||||||
/recordings/download:
|
/recordings/download:
|
||||||
@ -43,12 +35,10 @@ components:
|
|||||||
schemas:
|
schemas:
|
||||||
MeetRoom:
|
MeetRoom:
|
||||||
$ref: components/schemas/meet-room.yaml
|
$ref: components/schemas/meet-room.yaml
|
||||||
|
MeetRoomOptions:
|
||||||
|
$ref: components/schemas/meet-room-options.yaml
|
||||||
MeetRoomConfig:
|
MeetRoomConfig:
|
||||||
$ref: './components/schemas/meet-room-config.yaml#/MeetRoomConfig'
|
$ref: './components/schemas/meet-room-config.yaml#/MeetRoomConfig'
|
||||||
MeetRoomMember:
|
|
||||||
$ref: components/schemas/meet-room-member.yaml
|
|
||||||
MeetPermissions:
|
|
||||||
$ref: components/schemas/meet-permissions.yaml
|
|
||||||
MeetRecording:
|
MeetRecording:
|
||||||
$ref: components/schemas/meet-recording.yaml
|
$ref: components/schemas/meet-recording.yaml
|
||||||
MeetWebhookEvent:
|
MeetWebhookEvent:
|
||||||
|
|||||||
@ -16,14 +16,10 @@ paths:
|
|||||||
$ref: './paths/internal/auth.yaml#/~1auth~1refresh'
|
$ref: './paths/internal/auth.yaml#/~1auth~1refresh'
|
||||||
/api-keys:
|
/api-keys:
|
||||||
$ref: './paths/internal/api-keys.yaml#/~1auth~1api-keys'
|
$ref: './paths/internal/api-keys.yaml#/~1auth~1api-keys'
|
||||||
/users:
|
/users/profile:
|
||||||
$ref: './paths/internal/users.yaml#/~1users'
|
$ref: './paths/internal/users.yaml#/~1users~1profile'
|
||||||
/users/me:
|
|
||||||
$ref: './paths/internal/users.yaml#/~1users~1me'
|
|
||||||
/users/change-password:
|
/users/change-password:
|
||||||
$ref: './paths/internal/users.yaml#/~1users~1change-password'
|
$ref: './paths/internal/users.yaml#/~1users~1change-password'
|
||||||
/users/{userId}:
|
|
||||||
$ref: './paths/internal/users.yaml#/~1users~1{userId}'
|
|
||||||
/config/webhooks:
|
/config/webhooks:
|
||||||
$ref: './paths/internal/meet-global-config.yaml#/~1config~1webhooks'
|
$ref: './paths/internal/meet-global-config.yaml#/~1config~1webhooks'
|
||||||
/config/webhooks/test:
|
/config/webhooks/test:
|
||||||
@ -36,6 +32,10 @@ paths:
|
|||||||
$ref: './paths/internal/meet-global-config.yaml#/~1config~1captions'
|
$ref: './paths/internal/meet-global-config.yaml#/~1config~1captions'
|
||||||
/rooms/{roomId}/token:
|
/rooms/{roomId}/token:
|
||||||
$ref: './paths/internal/rooms.yaml#/~1rooms~1{roomId}~1token'
|
$ref: './paths/internal/rooms.yaml#/~1rooms~1{roomId}~1token'
|
||||||
|
/rooms/{roomId}/roles:
|
||||||
|
$ref: './paths/internal/rooms.yaml#/~1rooms~1{roomId}~1roles'
|
||||||
|
/rooms/{roomId}/roles/{secret}:
|
||||||
|
$ref: './paths/internal/rooms.yaml#/~1rooms~1{roomId}~1roles~1{secret}'
|
||||||
/meetings/{roomId}:
|
/meetings/{roomId}:
|
||||||
$ref: './paths/internal/meetings.yaml#/~1meetings~1{roomId}'
|
$ref: './paths/internal/meetings.yaml#/~1meetings~1{roomId}'
|
||||||
/meetings/{roomId}/participants/{participantIdentity}:
|
/meetings/{roomId}/participants/{participantIdentity}:
|
||||||
@ -61,12 +61,18 @@ components:
|
|||||||
$ref: components/schemas/internal/webhooks-config.yaml
|
$ref: components/schemas/internal/webhooks-config.yaml
|
||||||
SecurityConfig:
|
SecurityConfig:
|
||||||
$ref: components/schemas/internal/global-security-config.yaml
|
$ref: components/schemas/internal/global-security-config.yaml
|
||||||
RoomsAppearanceConfig:
|
|
||||||
$ref: components/schemas/internal/rooms-appearance-config.yaml
|
|
||||||
MeetRoom:
|
MeetRoom:
|
||||||
$ref: components/schemas/meet-room.yaml
|
$ref: components/schemas/meet-room.yaml
|
||||||
|
MeetRoomOptions:
|
||||||
|
$ref: components/schemas/meet-room-options.yaml
|
||||||
|
MeetRoomConfig:
|
||||||
|
$ref: components/schemas/meet-room-config.yaml#/MeetRoomConfig
|
||||||
|
MeetRoomMemberRoleAndPermissions:
|
||||||
|
$ref: components/schemas/internal/room-member-role-permissions.yaml
|
||||||
MeetAnalytics:
|
MeetAnalytics:
|
||||||
$ref: components/schemas/internal/meet-analytics.yaml
|
$ref: components/schemas/internal/meet-analytics.yaml
|
||||||
|
MeetRecording:
|
||||||
|
$ref: components/schemas/meet-recording.yaml
|
||||||
AiAssistantCreateRequest:
|
AiAssistantCreateRequest:
|
||||||
$ref: components/schemas/internal/ai-assistant-create-request.yaml
|
$ref: components/schemas/internal/ai-assistant-create-request.yaml
|
||||||
AiAssistantCreateResponse:
|
AiAssistantCreateResponse:
|
||||||
|
|||||||
@ -29,3 +29,47 @@
|
|||||||
$ref: '../../components/responses/validation-error.yaml'
|
$ref: '../../components/responses/validation-error.yaml'
|
||||||
'500':
|
'500':
|
||||||
$ref: '../../components/responses/internal-server-error.yaml'
|
$ref: '../../components/responses/internal-server-error.yaml'
|
||||||
|
/rooms/{roomId}/roles:
|
||||||
|
get:
|
||||||
|
operationId: getRoomMemberRolesAndPermissions
|
||||||
|
summary: Get room member roles and permissions
|
||||||
|
description: >
|
||||||
|
Retrieves the roles and associated permissions that a user can have as a member of a specified OpenVidu Meet room.
|
||||||
|
tags:
|
||||||
|
- Internal API - Rooms
|
||||||
|
parameters:
|
||||||
|
- $ref: '../../components/parameters/room-id-path.yaml'
|
||||||
|
responses:
|
||||||
|
'200':
|
||||||
|
$ref: '../../components/responses/internal/success-get-room-member-roles.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/{secret}:
|
||||||
|
get:
|
||||||
|
operationId: getRoomRoleAndPermissions
|
||||||
|
summary: Get room role and permissions
|
||||||
|
description: |
|
||||||
|
Retrieves the role and associated permissions that a user will have as a member of a specified OpenVidu Meet room
|
||||||
|
when using the URL that contains the given secret value.
|
||||||
|
|
||||||
|
This endpoint is useful for checking the user's role and permissions before accessing the room.
|
||||||
|
tags:
|
||||||
|
- Internal API - Rooms
|
||||||
|
parameters:
|
||||||
|
- $ref: '../../components/parameters/room-id-path.yaml'
|
||||||
|
- $ref: '../../components/parameters/internal/secret.yaml'
|
||||||
|
responses:
|
||||||
|
'200':
|
||||||
|
$ref: '../../components/responses/internal/success-get-room-member-role.yaml'
|
||||||
|
'400':
|
||||||
|
$ref: '../../components/responses/internal/error-invalid-room-secret.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'
|
||||||
|
|||||||
@ -1,67 +1,16 @@
|
|||||||
/users:
|
/users/profile:
|
||||||
post:
|
|
||||||
operationId: createUser
|
|
||||||
summary: Create a new user
|
|
||||||
description: |
|
|
||||||
Creates a new user account in the system.
|
|
||||||
|
|
||||||
The userId must be unique. If a user with the specified userId already exists,
|
|
||||||
the request will fail with a conflict error.
|
|
||||||
tags:
|
|
||||||
- Internal API - Users
|
|
||||||
security:
|
|
||||||
- accessTokenHeader: []
|
|
||||||
requestBody:
|
|
||||||
$ref: '../../components/requestBodies/internal/create-user-request.yaml'
|
|
||||||
responses:
|
|
||||||
'201':
|
|
||||||
$ref: '../../components/responses/internal/success-create-user.yaml'
|
|
||||||
'401':
|
|
||||||
$ref: '../../components/responses/unauthorized-error.yaml'
|
|
||||||
'403':
|
|
||||||
$ref: '../../components/responses/forbidden-error.yaml'
|
|
||||||
'409':
|
|
||||||
$ref: '../../components/responses/internal/error-userId-already-exists.yaml'
|
|
||||||
'422':
|
|
||||||
$ref: '../../components/responses/validation-error.yaml'
|
|
||||||
'500':
|
|
||||||
$ref: '../../components/responses/internal-server-error.yaml'
|
|
||||||
get:
|
get:
|
||||||
operationId: getUsers
|
operationId: getUserProfile
|
||||||
summary: Get all users
|
summary: Get user profile
|
||||||
description: >
|
description: >
|
||||||
Retrieves a paginated list of all users in the system.
|
Retrieves the profile information of the authenticated user.
|
||||||
tags:
|
|
||||||
- Internal API - Users
|
|
||||||
security:
|
|
||||||
- accessTokenHeader: []
|
|
||||||
parameters:
|
|
||||||
- $ref: '../../components/parameters/max-items.yaml'
|
|
||||||
- $ref: '../../components/parameters/next-page-token.yaml'
|
|
||||||
responses:
|
|
||||||
'200':
|
|
||||||
$ref: '../../components/responses/internal/success-get-users.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'
|
|
||||||
/users/me:
|
|
||||||
get:
|
|
||||||
operationId: getMe
|
|
||||||
summary: Get authenticated user
|
|
||||||
description: >
|
|
||||||
Retrieves the details of the authenticated user.
|
|
||||||
tags:
|
tags:
|
||||||
- Internal API - Users
|
- Internal API - Users
|
||||||
security:
|
security:
|
||||||
- accessTokenHeader: []
|
- accessTokenHeader: []
|
||||||
responses:
|
responses:
|
||||||
'200':
|
'200':
|
||||||
$ref: '../../components/responses/internal/success-get-me.yaml'
|
$ref: '../../components/responses/internal/success-get-profile.yaml'
|
||||||
'401':
|
'401':
|
||||||
$ref: '../../components/responses/unauthorized-error.yaml'
|
$ref: '../../components/responses/unauthorized-error.yaml'
|
||||||
/users/change-password:
|
/users/change-password:
|
||||||
@ -87,55 +36,3 @@
|
|||||||
$ref: '../../components/responses/validation-error.yaml'
|
$ref: '../../components/responses/validation-error.yaml'
|
||||||
'500':
|
'500':
|
||||||
$ref: '../../components/responses/internal-server-error.yaml'
|
$ref: '../../components/responses/internal-server-error.yaml'
|
||||||
/users/{userId}:
|
|
||||||
get:
|
|
||||||
operationId: getUser
|
|
||||||
summary: Get a user
|
|
||||||
description: >
|
|
||||||
Retrieves the details of a specific user by their userId.
|
|
||||||
tags:
|
|
||||||
- Internal API - Users
|
|
||||||
security:
|
|
||||||
- accessTokenHeader: []
|
|
||||||
parameters:
|
|
||||||
- $ref: '../../components/parameters/internal/userId-path.yaml'
|
|
||||||
responses:
|
|
||||||
'200':
|
|
||||||
$ref: '../../components/responses/internal/success-get-user.yaml'
|
|
||||||
'401':
|
|
||||||
$ref: '../../components/responses/unauthorized-error.yaml'
|
|
||||||
'403':
|
|
||||||
$ref: '../../components/responses/forbidden-error.yaml'
|
|
||||||
'404':
|
|
||||||
$ref: '../../components/responses/internal/error-user-not-found.yaml'
|
|
||||||
'422':
|
|
||||||
$ref: '../../components/responses/validation-error.yaml'
|
|
||||||
'500':
|
|
||||||
$ref: '../../components/responses/internal-server-error.yaml'
|
|
||||||
delete:
|
|
||||||
operationId: deleteUser
|
|
||||||
summary: Delete a user
|
|
||||||
description: |
|
|
||||||
Deletes a user from the system.
|
|
||||||
|
|
||||||
This operation will remove the user account and may affect rooms and resources
|
|
||||||
associated with this user.
|
|
||||||
tags:
|
|
||||||
- Internal API - Users
|
|
||||||
security:
|
|
||||||
- accessTokenHeader: []
|
|
||||||
parameters:
|
|
||||||
- $ref: '../../components/parameters/internal/userId-path.yaml'
|
|
||||||
responses:
|
|
||||||
'200':
|
|
||||||
$ref: '../../components/responses/internal/success-delete-user.yaml'
|
|
||||||
'401':
|
|
||||||
$ref: '../../components/responses/unauthorized-error.yaml'
|
|
||||||
'403':
|
|
||||||
$ref: '../../components/responses/forbidden-error.yaml'
|
|
||||||
'404':
|
|
||||||
$ref: '../../components/responses/internal/error-user-not-found.yaml'
|
|
||||||
'422':
|
|
||||||
$ref: '../../components/responses/validation-error.yaml'
|
|
||||||
'500':
|
|
||||||
$ref: '../../components/responses/internal-server-error.yaml'
|
|
||||||
|
|||||||
@ -240,209 +240,3 @@
|
|||||||
$ref: '../components/responses/validation-error.yaml'
|
$ref: '../components/responses/validation-error.yaml'
|
||||||
'500':
|
'500':
|
||||||
$ref: '../components/responses/internal-server-error.yaml'
|
$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'
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user