212 lines
8.8 KiB
YAML
212 lines
8.8 KiB
YAML
/recordings:
|
|
get:
|
|
operationId: getRecordings
|
|
summary: Get all recordings
|
|
description: >
|
|
Retrieves a paginated list of all recordings available in the system.
|
|
You can apply filters to narrow down the results based on specific criteria.
|
|
|
|
> **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.
|
|
tags:
|
|
- OpenVidu Meet - Recordings
|
|
security:
|
|
- apiKeyInHeader: []
|
|
- accessTokenCookie: []
|
|
- recordingTokenCookie: []
|
|
parameters:
|
|
# - name: status
|
|
# 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/room-id-query.yaml'
|
|
- $ref: '../components/parameters/max-items.yaml'
|
|
- $ref: '../components/parameters/next-page-token.yaml'
|
|
responses:
|
|
'200':
|
|
$ref: '../components/responses/success-get-recordings.yaml'
|
|
'401':
|
|
$ref: '../components/responses/unauthorized-error.yaml'
|
|
'403':
|
|
$ref: '../components/responses/forbidden-error.yaml'
|
|
'422':
|
|
$ref: '../components/responses/validation-error.yaml'
|
|
'500':
|
|
$ref: '../components/responses/internal-server-error.yaml'
|
|
|
|
delete:
|
|
operationId: bulkDeleteRecordings
|
|
summary: Bulk delete recordings
|
|
description: >
|
|
Deletes multiple recordings at once with the specified recording IDs.
|
|
tags:
|
|
- OpenVidu Meet - Recordings
|
|
security:
|
|
- apiKeyInHeader: []
|
|
- accessTokenCookie: []
|
|
parameters:
|
|
- $ref: '../components/parameters/recording-ids.yaml'
|
|
responses:
|
|
'200':
|
|
$ref: '../components/responses/success-bulk-delete-recordings.yaml'
|
|
description: >
|
|
**Mixed results**. Some recordings were deleted successfully while others
|
|
could not be deleted (e.g., due to being in progress or not found).
|
|
'204':
|
|
description: >
|
|
All specified recordings were deleted successfully.
|
|
No content is returned.
|
|
'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'
|
|
|
|
/recordings/{recordingId}:
|
|
get:
|
|
operationId: getRecording
|
|
summary: Get a recording
|
|
description: >
|
|
Retrieves the details of a recording with the specified recording ID.
|
|
tags:
|
|
- OpenVidu Meet - Recordings
|
|
security:
|
|
- apiKeyInHeader: []
|
|
- accessTokenCookie: []
|
|
- recordingTokenCookie: []
|
|
parameters:
|
|
- $ref: '../components/parameters/recording-id.yaml'
|
|
responses:
|
|
'200':
|
|
$ref: '../components/responses/success-get-recording.yaml'
|
|
'401':
|
|
$ref: '../components/responses/unauthorized-error.yaml'
|
|
'403':
|
|
$ref: '../components/responses/forbidden-error.yaml'
|
|
'404':
|
|
$ref: '../components/responses/error-recording-not-found.yaml'
|
|
'422':
|
|
$ref: '../components/responses/validation-error.yaml'
|
|
'500':
|
|
$ref: '../components/responses/internal-server-error.yaml'
|
|
delete:
|
|
operationId: deleteRecording
|
|
summary: Delete a recording
|
|
description: >
|
|
Deletes a recording with the specified recording.
|
|
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:
|
|
- OpenVidu Meet - Recordings
|
|
security:
|
|
- apiKeyInHeader: []
|
|
- accessTokenCookie: []
|
|
- recordingTokenCookie: []
|
|
parameters:
|
|
- $ref: '../components/parameters/recording-id.yaml'
|
|
responses:
|
|
'204':
|
|
description: Recording successfully deleted. No content is returned.
|
|
'401':
|
|
$ref: '../components/responses/unauthorized-error.yaml'
|
|
'403':
|
|
$ref: '../components/responses/forbidden-error.yaml'
|
|
'404':
|
|
$ref: '../components/responses/error-recording-not-found.yaml'
|
|
'409':
|
|
$ref: '../components/responses/error-recording-in-progress.yaml'
|
|
'422':
|
|
$ref: '../components/responses/validation-error.yaml'
|
|
'500':
|
|
$ref: '../components/responses/internal-server-error.yaml'
|
|
/recordings/{recordingId}/media:
|
|
get:
|
|
operationId: getRecordingMedia
|
|
summary: Get recording media
|
|
description: >
|
|
Retrieves the media of a recording with the specified recording ID.
|
|
The media is returned in a binary format suitable for video playback.
|
|
This endpoint supports range requests, allowing partial content retrieval
|
|
for video playback without downloading the entire file.
|
|
tags:
|
|
- OpenVidu Meet - Recordings
|
|
security:
|
|
- apiKeyInHeader: []
|
|
- accessTokenCookie: []
|
|
- recordingTokenCookie: []
|
|
parameters:
|
|
- $ref: '../components/parameters/recording-id.yaml'
|
|
- $ref: '../components/parameters/recording-range.yaml'
|
|
responses:
|
|
'200':
|
|
description: Successfully streaming the full recording
|
|
headers:
|
|
Accept-Ranges:
|
|
$ref: '../components/headers/accept-ranges.yaml'
|
|
Content-Length:
|
|
$ref: '../components/headers/content-length.yaml'
|
|
Cache-Control:
|
|
$ref: '../components/headers/cache-control.yaml'
|
|
content:
|
|
video/mp4:
|
|
schema:
|
|
type: string
|
|
format: binary
|
|
'206':
|
|
description: Partial content streaming based on byte range
|
|
headers:
|
|
Accept-Ranges:
|
|
$ref: '../components/headers/accept-ranges.yaml'
|
|
Content-Length:
|
|
$ref: '../components/headers/content-length.yaml'
|
|
Cache-Control:
|
|
$ref: '../components/headers/cache-control.yaml'
|
|
Content-Range:
|
|
$ref: '../components/headers/content-range.yaml'
|
|
content:
|
|
video/mp4:
|
|
schema:
|
|
type: string
|
|
format: binary
|
|
'401':
|
|
$ref: '../components/responses/unauthorized-error.yaml'
|
|
'403':
|
|
$ref: '../components/responses/forbidden-error.yaml'
|
|
'404':
|
|
$ref: '../components/responses/error-recording-not-found.yaml'
|
|
'409':
|
|
$ref: '../components/responses/error-recording-in-progress.yaml'
|
|
'416':
|
|
description: Requested range not satisfiable
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '../components/schemas/error.yaml'
|
|
example:
|
|
code: 416
|
|
message: 'Requested range not satisfiable'
|
|
'422':
|
|
$ref: '../components/responses/validation-error.yaml'
|
|
'500':
|
|
$ref: '../components/responses/internal-server-error.yaml'
|