/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'