/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. tags: - OpenVidu Meet - Recordings security: - apiKeyInHeader: [] - accessTokenCookie: [] 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/room-id.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' '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: - name: recordingIds in: query required: true description: | The unique IDs of the recordings to delete. You can provide multiple recording IDs as a comma-separated list (e.g., `recordingIds=room-123--EG_XYZ--XX445,room-123--EG_XYZ--XX446`). schema: type: string responses: '200': $ref: '../components/responses/success-bulk-delete-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' /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: [] 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' '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: [] 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' '500': $ref: '../components/responses/internal-server-error.yaml' /recordings/{recordingId}/media: get: operationId: getRecordingMeedia 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: [] parameters: - $ref: '../components/parameters/recording-id.yaml' - $ref: '../components/parameters/recording-range.yaml' responses: '200': description: Successfully streaming the full recording headers: Accept-Ranges: description: Indicates that byte-range requests are supported schema: type: string Content-Length: description: The total file size in bytes schema: type: integer content: video/mp4: schema: type: string format: binary '206': description: Partial content streaming based on byte range headers: Accept-Ranges: description: Indicates that byte-range requests are supported schema: type: string Content-Range: description: Specifies the range of bytes being sent schema: type: string Content-Length: description: The length of the partial content in bytes schema: type: integer content: video/mp4: schema: type: string format: binary '400': description: Bad Request — Invalid range header format content: application/json: schema: $ref: '../components/schemas/error.yaml' example: code: 400 message: 'Invalid Range header' '401': $ref: '../components/responses/unauthorized-error.yaml' '403': $ref: '../components/responses/forbidden-error.yaml' '404': $ref: '../components/responses/error-room-not-found.yaml' '416': description: Requested range not satisfiable content: application/json: schema: $ref: '../components/schemas/error.yaml' example: code: 416 message: 'Requested range not satisfiable' '500': $ref: '../components/responses/internal-server-error.yaml'