Refactor OpenAPI documentation for clarity and consistency
This commit is contained in:
parent
83b468b8cb
commit
4ca7f82d15
@ -1,4 +1,5 @@
|
|||||||
description: Indicates that the server supports range requests for content retrieval
|
description: >
|
||||||
|
Specifies that the server allows clients to request specific ranges of content, enabling partial retrieval of resources.
|
||||||
schema:
|
schema:
|
||||||
type: string
|
type: string
|
||||||
example: bytes
|
example: bytes
|
||||||
|
|||||||
@ -3,4 +3,4 @@ description: >
|
|||||||
This cookie is used to authenticate the user in subsequent requests.
|
This cookie is used to authenticate the user in subsequent requests.
|
||||||
schema:
|
schema:
|
||||||
type: string
|
type: string
|
||||||
example: 'OvMeetAccessToken=token_123456; Path=/; HttpOnly; SameSite=Strict'
|
example: 'OvMeetAccessToken=token_123456; Path=/; HttpOnly; SameSite=Strict'
|
||||||
|
|||||||
@ -3,4 +3,4 @@ description: >
|
|||||||
This cookie is used to authenticate the participant in the room.
|
This cookie is used to authenticate the participant in the room.
|
||||||
schema:
|
schema:
|
||||||
type: string
|
type: string
|
||||||
example: 'OvMeetParticipantToken=token_123456; Path=/; HttpOnly; SameSite=Strict'
|
example: 'OvMeetParticipantToken=token_123456; Path=/; HttpOnly; SameSite=Strict'
|
||||||
|
|||||||
@ -3,4 +3,4 @@ description: >
|
|||||||
This cookie is used to access the recordings in a room.
|
This cookie is used to access the recordings in a room.
|
||||||
schema:
|
schema:
|
||||||
type: string
|
type: string
|
||||||
example: 'OvMeetRecordingToken=token_123456; Path=/; HttpOnly; SameSite=Strict'
|
example: 'OvMeetRecordingToken=token_123456; Path=/; HttpOnly; SameSite=Strict'
|
||||||
|
|||||||
@ -3,4 +3,4 @@ description: >
|
|||||||
This cookie is used to refresh the access token when it expires.
|
This cookie is used to refresh the access token when it expires.
|
||||||
schema:
|
schema:
|
||||||
type: string
|
type: string
|
||||||
example: 'OvMeetRefreshToken=token_123456; Path=/meet/internal-api/v1/auth; HttpOnly; SameSite=Strict'
|
example: 'OvMeetRefreshToken=token_123456; Path=/meet/internal-api/v1/auth; HttpOnly; SameSite=Strict'
|
||||||
|
|||||||
@ -5,5 +5,4 @@ description: >
|
|||||||
This will immediately disconnect all participants and remove the room.
|
This will immediately disconnect all participants and remove the room.
|
||||||
required: false
|
required: false
|
||||||
schema:
|
schema:
|
||||||
type: string
|
type: boolean
|
||||||
example: 'true'
|
|
||||||
|
|||||||
@ -4,4 +4,4 @@ required: true
|
|||||||
description: The name of the participant.
|
description: The name of the participant.
|
||||||
schema:
|
schema:
|
||||||
type: string
|
type: string
|
||||||
example: 'Alice'
|
example: 'Alice'
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
name: maxItems
|
name: maxItems
|
||||||
in: query
|
in: query
|
||||||
required: false
|
required: false
|
||||||
description: The number of rooms per page (default is 10). Maximum is 100.
|
description: Specifies the maximum number of items to return per page. The default value is 10, and the maximum allowed is 100.
|
||||||
schema:
|
schema:
|
||||||
type: integer
|
type: integer
|
||||||
default: 10
|
default: 10
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
name: nextPageToken
|
name: nextPageToken
|
||||||
in: query
|
in: query
|
||||||
required: false
|
required: false
|
||||||
description: The token to retrieve the next page of elements.
|
description: A token used for pagination to fetch the next set of items in a multi-page response.
|
||||||
schema:
|
schema:
|
||||||
type: string
|
type: string
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
name: privateAcess
|
name: privateAcess
|
||||||
in: query
|
in: query
|
||||||
description: >
|
description: >
|
||||||
Indicates whether the retrieved recording URL should be configured for private access, i.e., the URL will be accessible only to authenticated users.
|
Specifies if the recording URL should be restricted to private access,
|
||||||
|
meaning only authenticated users can view or download the recording.
|
||||||
required: false
|
required: false
|
||||||
schema:
|
schema:
|
||||||
type: string
|
type: boolean
|
||||||
example: 'true'
|
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
name: fields
|
name: fields
|
||||||
in: query
|
in: query
|
||||||
description: >
|
description: >
|
||||||
The fields to retrieve from the recording.
|
Specifies which fields to include in the response for the recording resource.
|
||||||
Comma-separated list of fields to include in the response.
|
Provide a comma-separated list of field names.
|
||||||
required: false
|
required: false
|
||||||
schema:
|
schema:
|
||||||
type: string
|
type: string
|
||||||
example: 'recordingId,roomId'
|
example: 'recordingId,roomId'
|
||||||
|
|||||||
@ -4,4 +4,4 @@ required: true
|
|||||||
description: The unique identifier of the recording.
|
description: The unique identifier of the recording.
|
||||||
schema:
|
schema:
|
||||||
type: string
|
type: string
|
||||||
example: 'room-123--EG_XYZ--XX445'
|
example: 'room-123--EG_XYZ--XX445'
|
||||||
|
|||||||
@ -3,9 +3,8 @@ in: query
|
|||||||
required: true
|
required: true
|
||||||
description: >
|
description: >
|
||||||
A comma-separated list of recording IDs.
|
A comma-separated list of recording IDs.
|
||||||
<br>
|
Each recording ID must follow the format: `{roomId}--{egressId}--{uid}`.
|
||||||
Each recording ID should be in the format 'roomId--egressId--uid'
|
|
||||||
|
|
||||||
schema:
|
schema:
|
||||||
type: string
|
type: string
|
||||||
example: 'room-123--EG_XYZ--XX445,room-123--EG_ZYX--XX446'
|
example: 'room-123--EG_XYZ--XX445,room-123--EG_ZYX--XX446'
|
||||||
|
|||||||
@ -1,11 +1,14 @@
|
|||||||
name: Range
|
name: Range
|
||||||
in: header
|
in: header
|
||||||
required: false
|
required: false
|
||||||
description: >
|
description: |
|
||||||
This endpoint accepts a `Range` header to specify the byte range of the recording file to be streamed.
|
This endpoint supports the `Range` header to request a specific byte range of the recording file.
|
||||||
The format of the `Range` header should be `bytes=start-end`, where `start` is required and `end` is optional.
|
Use the format `bytes=start-end`, where `start` is the starting byte (required) and `end` is the ending byte (optional).
|
||||||
For example,
|
|
||||||
- `bytes=0-1023` to request the first 1024 bytes of the file.
|
Examples:
|
||||||
- `bytes=1000-` to request from byte 1000 to the end of the file.
|
- `bytes=0-1023`: Requests bytes 0 through 1023 (first 1024 bytes).
|
||||||
|
- `bytes=1000-`: Requests from byte 1000 to the end of the file.
|
||||||
|
|
||||||
|
This allows efficient partial downloads and resume capabilities for large files.
|
||||||
schema:
|
schema:
|
||||||
type: string
|
type: string
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
name: secret
|
name: secret
|
||||||
in: query
|
in: query
|
||||||
required: false
|
required: false
|
||||||
description: The secret value used to access the recording when sharing a recording link.
|
description: >
|
||||||
|
Optional secret value that must be provided to access the recording via a shared link, enhancing security for shared recordings.
|
||||||
schema:
|
schema:
|
||||||
type: string
|
type: string
|
||||||
|
|||||||
19
backend/openapi/components/parameters/recording-status.yaml
Normal file
19
backend/openapi/components/parameters/recording-status.yaml
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
name: status
|
||||||
|
in: query
|
||||||
|
required: false
|
||||||
|
description: |
|
||||||
|
Filter recordings by their status.
|
||||||
|
|
||||||
|
You can provide multiple statuses as a comma-separated list (e.g., `status=ACTIVE,FAILED`).
|
||||||
|
|
||||||
|
> ⚠️ **Note:** Using this filter may impact performance for large datasets.
|
||||||
|
schema:
|
||||||
|
type: string
|
||||||
|
enum:
|
||||||
|
- STARTING
|
||||||
|
- ACTIVE
|
||||||
|
- ENDING
|
||||||
|
- COMPLETE
|
||||||
|
- FAILED
|
||||||
|
- ABORTED
|
||||||
|
- LIMIT_REACHED
|
||||||
@ -1,9 +1,9 @@
|
|||||||
name: fields
|
name: fields
|
||||||
in: query
|
in: query
|
||||||
description: >
|
description: >
|
||||||
The fields to retrieve from the room.
|
Specifies which fields to include in the response for the room resource.
|
||||||
Comma-separated list of fields to include in the response.
|
Provide a comma-separated list of field names.
|
||||||
required: false
|
required: false
|
||||||
schema:
|
schema:
|
||||||
type: string
|
type: string
|
||||||
example: 'roomId,moderatorRoomUrl'
|
example: 'roomId,moderatorRoomUrl'
|
||||||
|
|||||||
@ -4,4 +4,4 @@ required: true
|
|||||||
description: The unique identifier of the room.
|
description: The unique identifier of the room.
|
||||||
schema:
|
schema:
|
||||||
type: string
|
type: string
|
||||||
example: 'room-123'
|
example: 'room-123'
|
||||||
|
|||||||
@ -1,7 +1,9 @@
|
|||||||
name: roomId
|
name: roomId
|
||||||
in: query
|
in: query
|
||||||
required: false
|
required: false
|
||||||
description: The unique identifier of the room. Specify the room ID to filter recordings by their associated room.
|
description: >
|
||||||
|
The unique identifier for the room.
|
||||||
|
Use this parameter to filter recordings and retrieve only those associated with the specified room ID.
|
||||||
schema:
|
schema:
|
||||||
type: string
|
type: string
|
||||||
example: 'room-123'
|
example: 'room-123'
|
||||||
|
|||||||
@ -1,7 +1,9 @@
|
|||||||
name: roomIds
|
name: roomIds
|
||||||
in: query
|
in: query
|
||||||
required: true
|
required: true
|
||||||
description: A comma-separated list of room IDs to delete.
|
description: >
|
||||||
|
Comma-separated list of room IDs to delete.
|
||||||
|
Each ID should correspond to an existing room.
|
||||||
schema:
|
schema:
|
||||||
type: string
|
type: string
|
||||||
example: 'room-123,room-456'
|
example: 'room-123,room-456'
|
||||||
|
|||||||
@ -2,7 +2,6 @@ name: x-signature
|
|||||||
in: header
|
in: header
|
||||||
description: >
|
description: >
|
||||||
HMAC-SHA256 signature of the request body, created using your webhook secret.
|
HMAC-SHA256 signature of the request body, created using your webhook secret.
|
||||||
|
|
||||||
Use this to verify the webhook came from OpenVidu Meet and wasn't tampered with.
|
Use this to verify the webhook came from OpenVidu Meet and wasn't tampered with.
|
||||||
required: true
|
required: true
|
||||||
schema:
|
schema:
|
||||||
|
|||||||
@ -2,9 +2,7 @@ name: x-timestamp
|
|||||||
in: header
|
in: header
|
||||||
description: >
|
description: >
|
||||||
Unix timestamp (in seconds) when the webhook was sent.
|
Unix timestamp (in seconds) when the webhook was sent.
|
||||||
|
|
||||||
Can be used to validate webhook age and prevent replay attacks.
|
Can be used to validate webhook age and prevent replay attacks.
|
||||||
required: true
|
required: true
|
||||||
schema:
|
schema:
|
||||||
type: string
|
type: string
|
||||||
example: '1697030400000'
|
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
description: Room creation details
|
description: Room creation options
|
||||||
required: true
|
required: true
|
||||||
content:
|
content:
|
||||||
application/json:
|
application/json:
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
description: Recording details
|
description: Room to record
|
||||||
required: true
|
required: true
|
||||||
content:
|
content:
|
||||||
application/json:
|
application/json:
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
description: Room update details
|
description: New room preferences
|
||||||
content:
|
content:
|
||||||
application/json:
|
application/json:
|
||||||
schema:
|
schema:
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
description: Security preferences
|
description: New security preferences
|
||||||
required: true
|
required: true
|
||||||
content:
|
content:
|
||||||
application/json:
|
application/json:
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
description: Webhooks preferences
|
description: New webhooks preferences
|
||||||
required: true
|
required: true
|
||||||
content:
|
content:
|
||||||
application/json:
|
application/json:
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
description: Conflict — The recording is in `STARTING` state or already stopped
|
description: Conflict — The recording is starting or already stopped
|
||||||
content:
|
content:
|
||||||
application/json:
|
application/json:
|
||||||
schema:
|
schema:
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
description: Successfully disconnect the participant
|
description: Successfully disconnected the participant
|
||||||
content:
|
content:
|
||||||
application/json:
|
application/json:
|
||||||
schema:
|
schema:
|
||||||
|
|||||||
@ -15,4 +15,4 @@ headers:
|
|||||||
schema:
|
schema:
|
||||||
type: string
|
type: string
|
||||||
format: uri
|
format: uri
|
||||||
example: https://your-api.com/meet/internal-api/v1/recordings/room-123--EG_XYZ--XX445
|
example: https://your-api.com/internal-api/v1/recordings/room-123--EG_XYZ--XX445
|
||||||
|
|||||||
@ -4,7 +4,7 @@ headers:
|
|||||||
description: The URL to retrieve the recording details
|
description: The URL to retrieve the recording details
|
||||||
schema:
|
schema:
|
||||||
type: string
|
type: string
|
||||||
example: 'https://openvidu.example.com/meet/api/v1/recordings/room-123--EG_XYZ--XX445'
|
example: 'https://openvidu.example.com/api/v1/recordings/room-123--EG_XYZ--XX445'
|
||||||
content:
|
content:
|
||||||
application/json:
|
application/json:
|
||||||
schema:
|
schema:
|
||||||
|
|||||||
@ -2,7 +2,7 @@ description: Successfully logged in
|
|||||||
headers:
|
headers:
|
||||||
Set-Cookie:
|
Set-Cookie:
|
||||||
$ref: '../../headers/set-cookie-access-token.yaml'
|
$ref: '../../headers/set-cookie-access-token.yaml'
|
||||||
Set-Cookie-Refresh:
|
Set-Cookie*:
|
||||||
$ref: '../../headers/set-cookie-refresh-token.yaml'
|
$ref: '../../headers/set-cookie-refresh-token.yaml'
|
||||||
content:
|
content:
|
||||||
application/json:
|
application/json:
|
||||||
|
|||||||
@ -1,13 +1,11 @@
|
|||||||
description: Successfully logged out
|
description: Successfully logged out
|
||||||
headers:
|
headers:
|
||||||
Set-Cookie:
|
Set-Cookie:
|
||||||
|
description: >
|
||||||
|
Clears the access and refresh token cookie.
|
||||||
schema:
|
schema:
|
||||||
type: string
|
type: string
|
||||||
example: 'OvMeetAccessToken=; Path=/; HttpOnly; SameSite=Strict'
|
example: 'OvMeetAccessToken=; Path=/; HttpOnly; SameSite=Strict'
|
||||||
Set-Cookie-Refresh:
|
|
||||||
schema:
|
|
||||||
type: string
|
|
||||||
example: 'OvMeetRefreshToken=; Path=/meet/internal-api/v1/auth; HttpOnly; SameSite=Strict'
|
|
||||||
content:
|
content:
|
||||||
application/json:
|
application/json:
|
||||||
schema:
|
schema:
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
description: PRO Feature Error
|
description: PRO feature
|
||||||
content:
|
content:
|
||||||
application/json:
|
application/json:
|
||||||
schema:
|
schema:
|
||||||
|
|||||||
@ -36,14 +36,14 @@ content:
|
|||||||
- recordingId: 'room-123--EG_XYZ--XX447'
|
- recordingId: 'room-123--EG_XYZ--XX447'
|
||||||
error: 'Recording not found'
|
error: 'Recording not found'
|
||||||
- recordingId: 'room-123--EG_XYZ--XX448'
|
- recordingId: 'room-123--EG_XYZ--XX448'
|
||||||
error: 'Access denied for deletion'
|
error: 'Recording in progress'
|
||||||
|
|
||||||
no_deletion_performed:
|
no_deletion_performed:
|
||||||
summary: No recordings were deleted
|
summary: No recordings were deleted
|
||||||
value:
|
value:
|
||||||
deleted: []
|
deleted: []
|
||||||
notDeleted:
|
notDeleted:
|
||||||
- recordingId: 'room-123--EG_XYZ--XX445'
|
- recordingId: 'room-123--EG_XYZ--XX447'
|
||||||
error: 'Recording not found'
|
|
||||||
- recordingId: 'room-123--EG_ZYX--XX446'
|
|
||||||
error: 'Recording not found'
|
error: 'Recording not found'
|
||||||
|
- recordingId: 'room-123--EG_ZYX--XX448'
|
||||||
|
error: 'Recording in progress'
|
||||||
|
|||||||
@ -15,7 +15,9 @@ content:
|
|||||||
type: array
|
type: array
|
||||||
items:
|
items:
|
||||||
type: string
|
type: string
|
||||||
description: List of rooms that were marked for deletion but not actually deleted. The rooms will be deleted when all participants leave the room.
|
description: >-
|
||||||
|
List of rooms that were marked for deletion but not actually deleted.
|
||||||
|
These rooms will be deleted when all participants leave.
|
||||||
example:
|
example:
|
||||||
deleted:
|
deleted:
|
||||||
- 'room-123'
|
- 'room-123'
|
||||||
|
|||||||
@ -9,4 +9,4 @@ headers:
|
|||||||
schema:
|
schema:
|
||||||
type: string
|
type: string
|
||||||
format: uri
|
format: uri
|
||||||
example: https://your-api.com/meet/api/v1/rooms/room-id-123
|
example: https://your-api.com/api/v1/rooms/room-123
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
description: Successfully retrieved the recording URL.
|
description: Successfully retrieved the recording URL
|
||||||
content:
|
content:
|
||||||
application/json:
|
application/json:
|
||||||
schema:
|
schema:
|
||||||
@ -7,5 +7,5 @@ content:
|
|||||||
url:
|
url:
|
||||||
type: string
|
type: string
|
||||||
format: uri
|
format: uri
|
||||||
description: URL to access the recording media.
|
description: URL to access the recording.
|
||||||
example: https://example.com/meet/api/v1/recordings/room-123--EG_XYZ--XX445/media?secret=abc123
|
example: https://example.com/recording/room-123--EG_XYZ--XX445?secret=abc123
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
description: Successfully retrieved the recording.
|
description: Successfully retrieved the recording
|
||||||
content:
|
content:
|
||||||
application/json:
|
application/json:
|
||||||
schema:
|
schema:
|
||||||
|
|||||||
@ -18,8 +18,8 @@ content:
|
|||||||
enabled: false
|
enabled: false
|
||||||
virtualBackgroundPreferences:
|
virtualBackgroundPreferences:
|
||||||
enabled: true
|
enabled: true
|
||||||
moderatorURL: 'http://localhost:6080/room/room-123/?secret=123456'
|
moderatorURL: 'http://localhost:6080/room/room-123?secret=123456'
|
||||||
publisherURL: 'http://localhost:6080/room/room-123/?secret=654321'
|
publisherURL: 'http://localhost:6080/room/room-123?secret=654321'
|
||||||
|
|
||||||
fields=roomId:
|
fields=roomId:
|
||||||
summary: Response with only the roomId
|
summary: Response with only the roomId
|
||||||
@ -44,5 +44,5 @@ content:
|
|||||||
fields=moderatorURL,publisherURL:
|
fields=moderatorURL,publisherURL:
|
||||||
summary: Response containing only moderator and publisher URLs
|
summary: Response containing only moderator and publisher URLs
|
||||||
value:
|
value:
|
||||||
moderatorURL: 'http://localhost:6080/room/room-123/?secret=123456'
|
moderatorURL: 'http://localhost:6080/room/room-123?secret=123456'
|
||||||
publisherURL: 'http://localhost:6080/room/room-123/?secret=654321'
|
publisherURL: 'http://localhost:6080/room/room-123?secret=654321'
|
||||||
|
|||||||
@ -27,8 +27,8 @@ content:
|
|||||||
enabled: false
|
enabled: false
|
||||||
virtualBackgroundPreferences:
|
virtualBackgroundPreferences:
|
||||||
enabled: true
|
enabled: true
|
||||||
moderatorURL: 'http://localhost:6080/room/room-123/?secret=123456'
|
moderatorURL: 'http://localhost:6080/room/room-123?secret=123456'
|
||||||
publisherURL: 'http://localhost:6080/room/room-123/?secret=654321'
|
publisherURL: 'http://localhost:6080/room/room-123?secret=654321'
|
||||||
- roomId: 'room-456'
|
- roomId: 'room-456'
|
||||||
roomIdPrefix: 'room'
|
roomIdPrefix: 'room'
|
||||||
creationDate: 1620001000000
|
creationDate: 1620001000000
|
||||||
@ -40,8 +40,8 @@ content:
|
|||||||
enabled: true
|
enabled: true
|
||||||
virtualBackgroundPreferences:
|
virtualBackgroundPreferences:
|
||||||
enabled: false
|
enabled: false
|
||||||
moderatorURL: 'http://localhost:6080/room/room-456/?secret=789012'
|
moderatorURL: 'http://localhost:6080/room/room-456?secret=789012'
|
||||||
publisherURL: 'http://localhost:6080/room/room-456/?secret=210987'
|
publisherURL: 'http://localhost:6080/room/room-456?secret=210987'
|
||||||
pagination:
|
pagination:
|
||||||
isTruncated: false
|
isTruncated: false
|
||||||
maxItems: 10
|
maxItems: 10
|
||||||
@ -90,10 +90,10 @@ content:
|
|||||||
summary: Response containing only moderator and publisher URLs
|
summary: Response containing only moderator and publisher URLs
|
||||||
value:
|
value:
|
||||||
rooms:
|
rooms:
|
||||||
- moderatorURL: 'http://localhost:6080/room/room-123/?secret=123456'
|
- moderatorURL: 'http://localhost:6080/room/room-123?secret=123456'
|
||||||
publisherURL: 'http://localhost:6080/room/room-123/?secret=654321'
|
publisherURL: 'http://localhost:6080/room/room-123?secret=654321'
|
||||||
- moderatorURL: 'http://localhost:6080/room/room-456/?secret=789012'
|
- moderatorURL: 'http://localhost:6080/room/room-456?secret=789012'
|
||||||
publisherURL: 'http://localhost:6080/room/room-456/?secret=210987'
|
publisherURL: 'http://localhost:6080/room/room-456?secret=210987'
|
||||||
pagination:
|
pagination:
|
||||||
isTruncated: false
|
isTruncated: false
|
||||||
maxItems: 10
|
maxItems: 10
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
description: >
|
description: >
|
||||||
All specified rooms were marked error for deletion (due to active participants)
|
All specified rooms were marked for deletion (due to active participants)
|
||||||
and will be removed once all participants leave.
|
and will be removed once all participants leave.
|
||||||
content:
|
content:
|
||||||
application/json:
|
application/json:
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
description: Unprocessable Entity — Invalid request body
|
description: Unprocessable Entity — Invalid request
|
||||||
content:
|
content:
|
||||||
application/json:
|
application/json:
|
||||||
schema:
|
schema:
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
description: >
|
description: |
|
||||||
Webhook received and processed successfully.
|
Webhook received and processed successfully.
|
||||||
|
|
||||||
Important: Webhook endpoints must return HTTP 200 OK promptly to acknowledge receipt.
|
> **Important:** Webhook endpoints must return HTTP 200 OK promptly to acknowledge receipt.
|
||||||
Any processing should be done asynchronously after responding.
|
> Any processing should be done asynchronously after responding.
|
||||||
|
>
|
||||||
Non-200 responses or timeouts will trigger retries according to the webhook delivery policy.
|
> Non-200 responses or timeouts will trigger retries according to the webhook delivery policy.
|
||||||
|
|||||||
@ -23,8 +23,7 @@ properties:
|
|||||||
room:
|
room:
|
||||||
type: string
|
type: string
|
||||||
description: >
|
description: >
|
||||||
The ID of the room associated with the participant.
|
Unique identifier of the room to which the participant is assigned.
|
||||||
example: roomId
|
|
||||||
canPublish:
|
canPublish:
|
||||||
type: boolean
|
type: boolean
|
||||||
description: >
|
description: >
|
||||||
@ -61,5 +60,5 @@ properties:
|
|||||||
canChangeVirtualBackground:
|
canChangeVirtualBackground:
|
||||||
type: boolean
|
type: boolean
|
||||||
description: >
|
description: >
|
||||||
Indicates whether the participant can change virtual background in the room.
|
Indicates whether the participant can change their own virtual background.
|
||||||
example: true
|
example: true
|
||||||
|
|||||||
@ -16,7 +16,9 @@ AuthenticationPreferences:
|
|||||||
- single-user
|
- single-user
|
||||||
default: single-user
|
default: single-user
|
||||||
example: single-user
|
example: single-user
|
||||||
description: The authentication method to use.
|
description: |
|
||||||
|
Specifies the authentication method used to access the application.
|
||||||
|
- `single-user`: Only one user account exists, which has administrative privileges and is used for all access.
|
||||||
authModeToAccessRoom:
|
authModeToAccessRoom:
|
||||||
type: string
|
type: string
|
||||||
enum:
|
enum:
|
||||||
@ -25,4 +27,8 @@ AuthenticationPreferences:
|
|||||||
- all_users
|
- all_users
|
||||||
default: none
|
default: none
|
||||||
example: none
|
example: none
|
||||||
description: The authentication mode to access a room.
|
description: |
|
||||||
|
Specifies who is required to authenticate before accessing a room:
|
||||||
|
- `none`: No authentication required.
|
||||||
|
- `moderators_only`: Only moderators need to authenticate.
|
||||||
|
- `all_users`: All users must authenticate.
|
||||||
|
|||||||
@ -8,5 +8,6 @@ properties:
|
|||||||
type: array
|
type: array
|
||||||
items:
|
items:
|
||||||
type: string
|
type: string
|
||||||
|
enum: ['admin', 'user']
|
||||||
example: ['admin', 'user']
|
example: ['admin', 'user']
|
||||||
description: A list of roles assigned to the authenticated user.
|
description: A list of roles assigned to the authenticated user.
|
||||||
|
|||||||
@ -6,5 +6,6 @@ properties:
|
|||||||
description: Indicates whether webhooks are enabled or disabled.
|
description: Indicates whether webhooks are enabled or disabled.
|
||||||
url:
|
url:
|
||||||
type: string
|
type: string
|
||||||
|
format: uri
|
||||||
example: 'https://example.com/webhook'
|
example: 'https://example.com/webhook'
|
||||||
description: The URL to which webhooks will be sent. This is only mandatory if webhooks are enabled.
|
description: The URL to which webhooks will be sent. This is only mandatory if webhooks are enabled.
|
||||||
|
|||||||
@ -3,13 +3,13 @@ properties:
|
|||||||
isTruncated:
|
isTruncated:
|
||||||
type: boolean
|
type: boolean
|
||||||
description: >
|
description: >
|
||||||
Indicates if there are more elements to retrieve.
|
Indicates if there are more items to retrieve.
|
||||||
If true, use the `nextPageToken` to fetch the next set of elements.
|
If true, use the `nextPageToken` to fetch the next set of items.
|
||||||
nextPageToken:
|
nextPageToken:
|
||||||
type: [string, 'null']
|
type: [string, 'null']
|
||||||
description: The token to retrieve the next page of elements.
|
description: The token to retrieve the next page of items.
|
||||||
maxItems:
|
maxItems:
|
||||||
type: integer
|
type: integer
|
||||||
description: >
|
description: >
|
||||||
Maximum number of elements returned in a single response page.
|
Maximum number of items returned in a single response page.
|
||||||
Corresponds to the `maxItems` query parameter in the request.
|
Corresponds to the `maxItems` query parameter in the request.
|
||||||
|
|||||||
@ -3,15 +3,14 @@ properties:
|
|||||||
autoDeletionDate:
|
autoDeletionDate:
|
||||||
type: [number, 'null']
|
type: [number, 'null']
|
||||||
example: 1900000000000
|
example: 1900000000000
|
||||||
description: >
|
description: |
|
||||||
The date and time when the room will be deleted (must be one hour in the future or more) represented in milliseconds since the Unix epoch.
|
The timestamp (in milliseconds since the Unix epoch) specifying when the room will be automatically deleted.
|
||||||
|
This must be at least one hour in the future.
|
||||||
|
|
||||||
After this date, the room will be automatically deleted and no new participants can join.
|
After this time, the room is closed to new participants and scheduled for deletion.
|
||||||
|
It will be removed after the last participant leaves (graceful deletion).
|
||||||
|
|
||||||
If this value is set and the date has already passed, the room is marked for deletion but will only be removed after the last
|
If not set, the room remains active until manually deleted.
|
||||||
participant leaves ("graceful deletion").
|
|
||||||
|
|
||||||
If this value is not defined, the room will exist indefinitely until manually deleted.
|
|
||||||
roomIdPrefix:
|
roomIdPrefix:
|
||||||
type: string
|
type: string
|
||||||
example: 'room'
|
example: 'room'
|
||||||
|
|||||||
@ -18,15 +18,14 @@ properties:
|
|||||||
autoDeletionDate:
|
autoDeletionDate:
|
||||||
type: [number, 'null']
|
type: [number, 'null']
|
||||||
example: 1900000000000
|
example: 1900000000000
|
||||||
description: >
|
description: |
|
||||||
The date and time when the room will be deleted (must be one hour in the future or more) represented in milliseconds since the Unix epoch.
|
The timestamp (in milliseconds since the Unix epoch) specifying when the room will be automatically deleted.
|
||||||
|
This must be at least one hour in the future.
|
||||||
|
|
||||||
After this date, the room will be automatically deleted and no new participants can join.
|
After this time, the room is closed to new participants and scheduled for deletion.
|
||||||
|
It will be removed after the last participant leaves (graceful deletion).
|
||||||
|
|
||||||
If this value is set and the date has already passed, the room is marked for deletion but will only be removed after the last
|
If not set, the room remains active until manually deleted.
|
||||||
participant leaves ("graceful deletion").
|
|
||||||
|
|
||||||
If this value is not defined, the room will exist indefinitely until manually deleted.
|
|
||||||
preferences:
|
preferences:
|
||||||
$ref: meet-room-preferences.yaml#/MeetRoomPreferences
|
$ref: meet-room-preferences.yaml#/MeetRoomPreferences
|
||||||
description: The preferences for the room.
|
description: The preferences for the room.
|
||||||
@ -38,13 +37,13 @@ properties:
|
|||||||
# this limit, new participants will not be allowed to join.
|
# this limit, new participants will not be allowed to join.
|
||||||
moderatorURL:
|
moderatorURL:
|
||||||
type: string
|
type: string
|
||||||
example: 'http://localhost:6080/room/room-123/?secret=123456'
|
example: 'http://localhost:6080/room/room-123?secret=123456'
|
||||||
description: >
|
description: >
|
||||||
The URL for the moderator to join the room. The moderator has special permissions to manage the
|
The URL for the moderator participants to join the room. The moderator role has special permissions to manage the
|
||||||
room and participants.
|
room and participants.
|
||||||
publisherURL:
|
publisherURL:
|
||||||
type: string
|
type: string
|
||||||
example: 'http://localhost:6080/room/room-123/?secret=654321'
|
example: 'http://localhost:6080/room/room-123?secret=654321'
|
||||||
description: >
|
description: >
|
||||||
The URL for the publisher to join the room. The publisher has permissions to publish audio and
|
The URL for the publisher participants to join the room. The publisher role has permissions to publish audio and
|
||||||
video streams to the room.
|
video streams to the room.
|
||||||
|
|||||||
@ -1,17 +1,17 @@
|
|||||||
type: object
|
type: object
|
||||||
required:
|
required:
|
||||||
- creationDate
|
- creationDate
|
||||||
- event
|
- event
|
||||||
- data
|
- data
|
||||||
properties:
|
properties:
|
||||||
creationDate:
|
creationDate:
|
||||||
type: number
|
type: number
|
||||||
description: The date when the event was created (milliseconds since the Unix epoch).
|
description: The date when the event was created (milliseconds since the Unix epoch).
|
||||||
example: 1620000000000
|
example: 1620000000000
|
||||||
event:
|
event:
|
||||||
type: string
|
type: string
|
||||||
description: Event type identifier.
|
description: Event type identifier.
|
||||||
example: webhookEvent
|
example: webhookEvent
|
||||||
data:
|
data:
|
||||||
type: object
|
type: object
|
||||||
description: The data associated with the event.
|
description: The data associated with the event.
|
||||||
|
|||||||
@ -15,7 +15,7 @@ refreshTokenCookie:
|
|||||||
name: OvMeetRefreshToken
|
name: OvMeetRefreshToken
|
||||||
in: cookie
|
in: cookie
|
||||||
description: >
|
description: >
|
||||||
The JWT token to refresh the access token when it expires. This token is used to obtain a new access token.
|
The JWT token to refresh the access token when it expires..
|
||||||
participantTokenCookie:
|
participantTokenCookie:
|
||||||
type: apiKey
|
type: apiKey
|
||||||
name: OvMeetParticipantToken
|
name: OvMeetParticipantToken
|
||||||
|
|||||||
@ -26,8 +26,6 @@ paths:
|
|||||||
components:
|
components:
|
||||||
securitySchemes:
|
securitySchemes:
|
||||||
$ref: './components/security.yaml'
|
$ref: './components/security.yaml'
|
||||||
# responses:
|
|
||||||
# $ref: './components/responses.yaml'
|
|
||||||
schemas:
|
schemas:
|
||||||
MeetRoom:
|
MeetRoom:
|
||||||
$ref: components/schemas/meet-room.yaml
|
$ref: components/schemas/meet-room.yaml
|
||||||
|
|||||||
@ -27,28 +27,11 @@
|
|||||||
- Internal API - Authentication
|
- Internal API - Authentication
|
||||||
responses:
|
responses:
|
||||||
'200':
|
'200':
|
||||||
description: Successfully logged out
|
$ref: '../../components/responses/internal/success-user-logout.yaml'
|
||||||
headers:
|
|
||||||
Set-Cookie:
|
|
||||||
schema:
|
|
||||||
type: string
|
|
||||||
example: 'OvMeetAccessToken=; Path=/; HttpOnly; SameSite=Strict'
|
|
||||||
Set-Cookie-Refresh:
|
|
||||||
schema:
|
|
||||||
type: string
|
|
||||||
example: 'OvMeetRefreshToken=; Path=/meet/internal-api/v1/auth; HttpOnly; SameSite=Strict'
|
|
||||||
content:
|
|
||||||
application/json:
|
|
||||||
schema:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
message:
|
|
||||||
type: string
|
|
||||||
example: 'Logout successful'
|
|
||||||
/auth/refresh:
|
/auth/refresh:
|
||||||
post:
|
post:
|
||||||
operationId: refreshAccessToken
|
operationId: refreshAccessToken
|
||||||
summary: Refresh the access token
|
summary: Refresh access token
|
||||||
description: >
|
description: >
|
||||||
Refreshes the access token using the refresh token.
|
Refreshes the access token using the refresh token.
|
||||||
The new access token is returned in a cookie.
|
The new access token is returned in a cookie.
|
||||||
@ -68,10 +51,11 @@
|
|||||||
post:
|
post:
|
||||||
operationId: createApiKey
|
operationId: createApiKey
|
||||||
summary: Create a new API key
|
summary: Create a new API key
|
||||||
description: >
|
description: |
|
||||||
Creates a new API key. Only one API key can be created in the system.
|
Creates a new API key, returning it in the response.
|
||||||
If an API key already exists, it will be replaced with the new one.
|
|
||||||
The API key is returned in the response.
|
> **Note:** Only one API key can be created in the system.
|
||||||
|
> If an API key already exists, it will be replaced with the new one.
|
||||||
tags:
|
tags:
|
||||||
- Internal API - Authentication
|
- Internal API - Authentication
|
||||||
security:
|
security:
|
||||||
@ -84,8 +68,11 @@
|
|||||||
get:
|
get:
|
||||||
operationId: getApiKeys
|
operationId: getApiKeys
|
||||||
summary: Get API keys
|
summary: Get API keys
|
||||||
description: >
|
description: |
|
||||||
Retrieves the existing API keys.
|
Retrieves the existing API keys.
|
||||||
|
|
||||||
|
> **Note:** Only one API key can exist in the system.
|
||||||
|
> If no API key exists, an empty array will be returned.
|
||||||
tags:
|
tags:
|
||||||
- Internal API - Authentication
|
- Internal API - Authentication
|
||||||
security:
|
security:
|
||||||
@ -106,9 +93,6 @@
|
|||||||
- accessTokenCookie: []
|
- accessTokenCookie: []
|
||||||
responses:
|
responses:
|
||||||
'204':
|
'204':
|
||||||
description: Successfully deleted the API key
|
description: Successfully deleted the API key. No content is returned.
|
||||||
'500':
|
'500':
|
||||||
$ref: '../../components/responses/internal-server-error.yaml'
|
$ref: '../../components/responses/internal-server-error.yaml'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -45,7 +45,7 @@
|
|||||||
operationId: testWebhookUrl
|
operationId: testWebhookUrl
|
||||||
summary: Test webhook URL
|
summary: Test webhook URL
|
||||||
description: >
|
description: >
|
||||||
Tests the provided webhook URL to ensure it is reachable and valid.
|
Tests the provided webhook URL to ensure it is valid and reachable.
|
||||||
tags:
|
tags:
|
||||||
- Internal API - Global Preferences
|
- Internal API - Global Preferences
|
||||||
requestBody:
|
requestBody:
|
||||||
|
|||||||
@ -2,8 +2,8 @@
|
|||||||
delete:
|
delete:
|
||||||
operationId: endMeeting
|
operationId: endMeeting
|
||||||
summary: End a meeting
|
summary: End a meeting
|
||||||
description: >
|
description: |
|
||||||
Ends a meeting in an OpenVidu Meet room. This will stop all recordings and disconnect all participants.
|
Ends the current meeting in an OpenVidu Meet room. This will stop all recordings and disconnect all participants.
|
||||||
|
|
||||||
This endpoint is idempotent. If the meeting is already ended, it will return a success response without any action.
|
This endpoint is idempotent. If the meeting is already ended, it will return a success response without any action.
|
||||||
tags:
|
tags:
|
||||||
@ -29,9 +29,9 @@
|
|||||||
/meetings/{roomId}/participants/{participantName}:
|
/meetings/{roomId}/participants/{participantName}:
|
||||||
delete:
|
delete:
|
||||||
operationId: disconnectParticipant
|
operationId: disconnectParticipant
|
||||||
summary: Delete a participant from a meeting
|
summary: Kick a participant from a meeting
|
||||||
description: >
|
description: >
|
||||||
Deletes a participant from an OpenVidu Meet room. This will disconnect the participant from the meeting.
|
Kicks a participant from the current meeting in an OpenVidu Meet room.
|
||||||
tags:
|
tags:
|
||||||
- Internal API - Meetings
|
- Internal API - Meetings
|
||||||
security:
|
security:
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
/participants/token:
|
/participants/token:
|
||||||
post:
|
post:
|
||||||
operationId: generateParticipantToken
|
operationId: generateParticipantToken
|
||||||
summary: Generate a token for a participant
|
summary: Generate token for participant
|
||||||
description: >
|
description: >
|
||||||
Generates a token for a participant to join an OpenVidu Meet room.
|
Generates a token for a participant to join an OpenVidu Meet room.
|
||||||
tags:
|
tags:
|
||||||
@ -30,7 +30,7 @@
|
|||||||
/participants/token/refresh:
|
/participants/token/refresh:
|
||||||
post:
|
post:
|
||||||
operationId: refreshParticipantToken
|
operationId: refreshParticipantToken
|
||||||
summary: Refresh a token for a participant
|
summary: Refresh token for participant
|
||||||
description: >
|
description: >
|
||||||
Refresh a token for a participant in an OpenVidu Meet room.
|
Refresh a token for a participant in an OpenVidu Meet room.
|
||||||
tags:
|
tags:
|
||||||
|
|||||||
@ -35,9 +35,10 @@
|
|||||||
post:
|
post:
|
||||||
operationId: stopRecording
|
operationId: stopRecording
|
||||||
summary: Stop a recording
|
summary: Stop a recording
|
||||||
description: >
|
description: |
|
||||||
Stops a recording with the specified recording ID.
|
Stops a recording with the specified recording ID.
|
||||||
The recording must be in an `ACTIVE` state; otherwise, a 409 error is returned.
|
|
||||||
|
> **Note:** The recording must be in an `ACTIVE` state; otherwise, a 409 error is returned.
|
||||||
tags:
|
tags:
|
||||||
- Internal API - Recordings
|
- Internal API - Recordings
|
||||||
security:
|
security:
|
||||||
|
|||||||
@ -106,9 +106,10 @@
|
|||||||
get:
|
get:
|
||||||
operationId: getRoomRoleAndPermissions
|
operationId: getRoomRoleAndPermissions
|
||||||
summary: Get room role and permissions
|
summary: Get room role and permissions
|
||||||
description: >
|
description: |
|
||||||
Retrieves the role and associated permissions that a participant will have in a specified OpenVidu Meet room
|
Retrieves the role and associated permissions that a participant will have in a specified OpenVidu Meet room
|
||||||
when using the URL thant contains the given secret value.
|
when using the URL thant contains the given secret value.
|
||||||
|
|
||||||
This endpoint is useful for checking the participant's role and permissions before joining the room.
|
This endpoint is useful for checking the participant's role and permissions before joining the room.
|
||||||
tags:
|
tags:
|
||||||
- Internal API - Rooms
|
- Internal API - Rooms
|
||||||
|
|||||||
@ -2,12 +2,12 @@
|
|||||||
get:
|
get:
|
||||||
operationId: getRecordings
|
operationId: getRecordings
|
||||||
summary: Get all recordings
|
summary: Get all recordings
|
||||||
description: >
|
description: |
|
||||||
Retrieves a paginated list of all recordings available in the system.
|
Retrieves a paginated list of all recordings available in the system.
|
||||||
You can apply filters to narrow down the results based on specific criteria.
|
You can apply filters to narrow down the results based on specific criteria.
|
||||||
|
|
||||||
> **Note:** If this endpoint is called using the `recordingTokenCookie` authentication method,
|
> **Note:** If this endpoint is called using the `recordingTokenCookie` authentication method,
|
||||||
the `roomId` filter will be ignored and only recordings associated with the room included in the token will be returned.
|
> the `roomId` filter will be ignored and only recordings associated with the room included in the token will be returned.
|
||||||
tags:
|
tags:
|
||||||
- OpenVidu Meet - Recordings
|
- OpenVidu Meet - Recordings
|
||||||
security:
|
security:
|
||||||
@ -15,27 +15,7 @@
|
|||||||
- accessTokenCookie: []
|
- accessTokenCookie: []
|
||||||
- recordingTokenCookie: []
|
- recordingTokenCookie: []
|
||||||
parameters:
|
parameters:
|
||||||
# - name: status
|
# - $ref: '../components/parameters/recording-status.yaml'
|
||||||
# in: query
|
|
||||||
# required: false
|
|
||||||
# description: |
|
|
||||||
# Filter recordings by their status.
|
|
||||||
|
|
||||||
# Possible values:
|
|
||||||
# - `STARTING`
|
|
||||||
# - `ACTIVE`
|
|
||||||
# - `ENDING`
|
|
||||||
# - `COMPLETE`
|
|
||||||
# - `FAILED`
|
|
||||||
# - `ABORTED`
|
|
||||||
# - `LIMITED_REACHED`
|
|
||||||
|
|
||||||
# You can provide multiple statuses as a comma-separated list (e.g., `status=ACTIVE,FAILED`).
|
|
||||||
# If not specified, recordings with any status will be returned.
|
|
||||||
|
|
||||||
# > ⚠️ **Note:** Using this filter may impact performance for large datasets.
|
|
||||||
# schema:
|
|
||||||
# type: string
|
|
||||||
- $ref: '../components/parameters/recording-fields.yaml'
|
- $ref: '../components/parameters/recording-fields.yaml'
|
||||||
- $ref: '../components/parameters/room-id-query.yaml'
|
- $ref: '../components/parameters/room-id-query.yaml'
|
||||||
- $ref: '../components/parameters/max-items.yaml'
|
- $ref: '../components/parameters/max-items.yaml'
|
||||||
@ -55,12 +35,12 @@
|
|||||||
delete:
|
delete:
|
||||||
operationId: bulkDeleteRecordings
|
operationId: bulkDeleteRecordings
|
||||||
summary: Bulk delete recordings
|
summary: Bulk delete recordings
|
||||||
description: >
|
description: |
|
||||||
Deletes multiple recordings at once with the specified recording IDs.
|
Deletes multiple recordings at once with the specified recording IDs.
|
||||||
|
|
||||||
> **Note:** If this endpoint is called using the `recordingTokenCookie` authentication method,
|
> **Note:** If this endpoint is called using the `recordingTokenCookie` authentication method,
|
||||||
all specified recordings must belong to the same room included in the token.
|
> all specified recordings must belong to the same room included in the token.
|
||||||
If a recording does not belong to that room, it will not be deleted.
|
> If a recording does not belong to that room, it will not be deleted.
|
||||||
tags:
|
tags:
|
||||||
- OpenVidu Meet - Recordings
|
- OpenVidu Meet - Recordings
|
||||||
security:
|
security:
|
||||||
@ -89,13 +69,13 @@
|
|||||||
get:
|
get:
|
||||||
operationId: downloadRecordings
|
operationId: downloadRecordings
|
||||||
summary: Download recordings
|
summary: Download recordings
|
||||||
description: >
|
description: |
|
||||||
Downloads multiple recordings as a ZIP file with the specified recording IDs.
|
Downloads multiple recordings as a ZIP file with the specified recording IDs.
|
||||||
The ZIP file will contain all recordings in MP4 format.
|
The ZIP file will contain all recordings in MP4 format.
|
||||||
|
|
||||||
> **Note:** If this endpoint is called using the `recordingTokenCookie` authentication method,
|
> **Note:** If this endpoint is called using the `recordingTokenCookie` authentication method,
|
||||||
all specified recordings must belong to the same room included in the token.
|
> all specified recordings must belong to the same room included in the token.
|
||||||
If a recording does not belong to that room, it will not be included in the ZIP file.
|
> If a recording does not belong to that room, it will not be included in the ZIP file.
|
||||||
tags:
|
tags:
|
||||||
- OpenVidu Meet - Recordings
|
- OpenVidu Meet - Recordings
|
||||||
security:
|
security:
|
||||||
@ -145,6 +125,7 @@
|
|||||||
- recordingTokenCookie: []
|
- recordingTokenCookie: []
|
||||||
parameters:
|
parameters:
|
||||||
- $ref: '../components/parameters/recording-id.yaml'
|
- $ref: '../components/parameters/recording-id.yaml'
|
||||||
|
- $ref: '../components/parameters/recording-secret.yaml'
|
||||||
responses:
|
responses:
|
||||||
'200':
|
'200':
|
||||||
$ref: '../components/responses/success-get-recording.yaml'
|
$ref: '../components/responses/success-get-recording.yaml'
|
||||||
@ -163,9 +144,11 @@
|
|||||||
delete:
|
delete:
|
||||||
operationId: deleteRecording
|
operationId: deleteRecording
|
||||||
summary: Delete a recording
|
summary: Delete a recording
|
||||||
description: >
|
description: |
|
||||||
Deletes a recording with the specified recording.
|
Deletes a recording with the specified recording ID.
|
||||||
The recording will only be deleted if it exists and is not in progress (i.e., not in a state such as `ACTIVE`, `STARTING`, or `ENDING`).
|
|
||||||
|
> ⚠️ **Note:** The recording will only be deleted if it exists and is not in progress
|
||||||
|
> (i.e., not in a state such as `ACTIVE`, `STARTING`, or `ENDING`).
|
||||||
tags:
|
tags:
|
||||||
- OpenVidu Meet - Recordings
|
- OpenVidu Meet - Recordings
|
||||||
security:
|
security:
|
||||||
@ -193,9 +176,10 @@
|
|||||||
get:
|
get:
|
||||||
operationId: getRecordingMedia
|
operationId: getRecordingMedia
|
||||||
summary: Get recording media
|
summary: Get recording media
|
||||||
description: >
|
description: |
|
||||||
Retrieves the media of a recording with the specified recording ID.
|
Retrieves the media of a recording with the specified recording ID.
|
||||||
The media is returned in a binary format suitable for video playback.
|
The media is returned in a binary format suitable for video playback.
|
||||||
|
|
||||||
This endpoint supports range requests, allowing partial content retrieval
|
This endpoint supports range requests, allowing partial content retrieval
|
||||||
for video playback without downloading the entire file.
|
for video playback without downloading the entire file.
|
||||||
tags:
|
tags:
|
||||||
@ -210,7 +194,7 @@
|
|||||||
- $ref: '../components/parameters/recording-range.yaml'
|
- $ref: '../components/parameters/recording-range.yaml'
|
||||||
responses:
|
responses:
|
||||||
'200':
|
'200':
|
||||||
description: Successfully streaming the full recording
|
description: Successfully retrieved the full recording media
|
||||||
headers:
|
headers:
|
||||||
Accept-Ranges:
|
Accept-Ranges:
|
||||||
$ref: '../components/headers/accept-ranges.yaml'
|
$ref: '../components/headers/accept-ranges.yaml'
|
||||||
@ -224,7 +208,7 @@
|
|||||||
type: string
|
type: string
|
||||||
format: binary
|
format: binary
|
||||||
'206':
|
'206':
|
||||||
description: Partial content streaming based on byte range
|
description: Successfully retrieved a partial range of the recording media
|
||||||
headers:
|
headers:
|
||||||
Accept-Ranges:
|
Accept-Ranges:
|
||||||
$ref: '../components/headers/accept-ranges.yaml'
|
$ref: '../components/headers/accept-ranges.yaml'
|
||||||
@ -256,8 +240,8 @@
|
|||||||
schema:
|
schema:
|
||||||
$ref: '../components/schemas/error.yaml'
|
$ref: '../components/schemas/error.yaml'
|
||||||
example:
|
example:
|
||||||
code: 416
|
error: Recording Error
|
||||||
message: 'Requested range not satisfiable'
|
message: 'Recording "room-123--EG_XYZ--XX445" range not satisfiable. File size: 123456789'
|
||||||
'422':
|
'422':
|
||||||
$ref: '../components/responses/validation-error.yaml'
|
$ref: '../components/responses/validation-error.yaml'
|
||||||
'500':
|
'500':
|
||||||
@ -266,9 +250,10 @@
|
|||||||
get:
|
get:
|
||||||
operationId: getRecordingUrl
|
operationId: getRecordingUrl
|
||||||
summary: Get recording URL
|
summary: Get recording URL
|
||||||
description: >
|
description: |
|
||||||
Retrieves the URL of a recording with the specified recording ID.
|
Retrieves the URL of a recording with the specified recording ID.
|
||||||
This URL is intended to be shared with people who do not have direct access to the recording.
|
This URL is intended to be shared with people who do not have direct access to the recording.
|
||||||
|
|
||||||
It can be configured to be accessible by anyone (public access) or restricted to authenticated users only,
|
It can be configured to be accessible by anyone (public access) or restricted to authenticated users only,
|
||||||
depending on the `privateAccess` query parameter.
|
depending on the `privateAccess` query parameter.
|
||||||
tags:
|
tags:
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
operationId: createRoom
|
operationId: createRoom
|
||||||
summary: Create a room
|
summary: Create a room
|
||||||
description: >
|
description: >
|
||||||
Creates a new OpenVidu Meet room with the specified expiration date.
|
Creates a new OpenVidu Meet room.
|
||||||
The room will be available for participants to join using the generated URLs.
|
The room will be available for participants to join using the generated URLs.
|
||||||
tags:
|
tags:
|
||||||
- OpenVidu Meet - Room
|
- OpenVidu Meet - Room
|
||||||
@ -29,6 +29,7 @@
|
|||||||
summary: Get all rooms
|
summary: Get all rooms
|
||||||
description: >
|
description: >
|
||||||
Retrieves a paginated list of all rooms available in the system.
|
Retrieves a paginated list of all rooms available in the system.
|
||||||
|
You can apply filters to narrow down the results based on specific criteria.
|
||||||
tags:
|
tags:
|
||||||
- OpenVidu Meet - Room
|
- OpenVidu Meet - Room
|
||||||
security:
|
security:
|
||||||
@ -53,7 +54,7 @@
|
|||||||
delete:
|
delete:
|
||||||
operationId: bulkDeleteRooms
|
operationId: bulkDeleteRooms
|
||||||
summary: Bulk delete rooms
|
summary: Bulk delete rooms
|
||||||
description: >
|
description: |
|
||||||
Delete multiple OpenVidu Meet rooms at once with the specified room IDs.
|
Delete multiple OpenVidu Meet rooms at once with the specified room IDs.
|
||||||
|
|
||||||
If a room has active participants, it will be marked for deletion
|
If a room has active participants, it will be marked for deletion
|
||||||
@ -120,7 +121,7 @@
|
|||||||
delete:
|
delete:
|
||||||
operationId: deleteRoom
|
operationId: deleteRoom
|
||||||
summary: Delete a room
|
summary: Delete a room
|
||||||
description: >
|
description: |
|
||||||
Deletes an OpenVidu Meet room with the specified room ID.
|
Deletes an OpenVidu Meet room with the specified room ID.
|
||||||
|
|
||||||
If the room has active participants, it will be marked for deletion
|
If the room has active participants, it will be marked for deletion
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
recordingStarted:
|
recordingStarted:
|
||||||
post:
|
post:
|
||||||
summary: Recording started
|
summary: Recording started
|
||||||
description: >
|
description: |
|
||||||
This webhook is triggered when a recording starts.
|
This webhook is triggered when a recording starts.
|
||||||
|
|
||||||
> The recording can be in the `STARTING` status for a few seconds before it becomes `ACTIVE`.
|
> The recording can be in the `STARTING` status for a few seconds before it becomes `ACTIVE`.
|
||||||
@ -31,7 +31,7 @@ recordingStarted:
|
|||||||
- properties:
|
- properties:
|
||||||
status:
|
status:
|
||||||
type: string
|
type: string
|
||||||
enum: [STARTING]
|
enum: [STARTING, ACTIVE]
|
||||||
description: The status of the recording.
|
description: The status of the recording.
|
||||||
example: STARTING
|
example: STARTING
|
||||||
responses:
|
responses:
|
||||||
@ -41,7 +41,7 @@ recordingStarted:
|
|||||||
recordingUpdated:
|
recordingUpdated:
|
||||||
post:
|
post:
|
||||||
summary: Recording updated
|
summary: Recording updated
|
||||||
description: >
|
description: |
|
||||||
This webhook is triggered when a recording update occurs.
|
This webhook is triggered when a recording update occurs.
|
||||||
|
|
||||||
> This update can be due to a change in the recording status (e.g., from `STARTING` to `ACTIVE`).
|
> This update can be due to a change in the recording status (e.g., from `STARTING` to `ACTIVE`).
|
||||||
@ -81,10 +81,11 @@ recordingUpdated:
|
|||||||
recordingEnded:
|
recordingEnded:
|
||||||
post:
|
post:
|
||||||
summary: Recording ended
|
summary: Recording ended
|
||||||
description: >
|
description: |
|
||||||
This webhook is triggered when a recording ends.
|
This webhook is triggered when a recording ends.
|
||||||
|
|
||||||
> The recording can end due to various reasons, such as the user stopping the recording or the recording reaching its maximum duration.
|
> The recording can end due to various reasons, such as the user stopping the recording
|
||||||
|
> or the recording reaching its maximum duration.
|
||||||
operationId: recordingEndedWebhook
|
operationId: recordingEndedWebhook
|
||||||
parameters:
|
parameters:
|
||||||
- $ref: ../components/parameters/x-timestamp.yaml
|
- $ref: ../components/parameters/x-timestamp.yaml
|
||||||
@ -112,7 +113,7 @@ recordingEnded:
|
|||||||
- properties:
|
- properties:
|
||||||
status:
|
status:
|
||||||
type: string
|
type: string
|
||||||
enum: [COMPLETE, FAILED, ABORTED, LIMITED_REACHED]
|
enum: [COMPLETE, FAILED, ABORTED, LIMIT_REACHED]
|
||||||
description: The status of the recording.
|
description: The status of the recording.
|
||||||
example: COMPLETE
|
example: COMPLETE
|
||||||
endDate:
|
endDate:
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user