Recording, file, clip, and storage APIs
This layer covers recording plans, manual recording, search, playback, download, retention, clip/merge jobs, and storage health. A created job is queued work, not a finished output.
This page covers 56 operations. Each row states the endpoint, purpose, timing, completion check, and caller identity. Use the matching OpenAPI file for exact field schemas.
Business APIs may be called by the WebUI or an authorized integration. Administrator APIs require an admin session. Internal APIs and callbacks are only for trusted product components.
Recording plans
| Endpoint | Plain meaning | When to use it | How to confirm | Audience / permission | Main input |
|---|---|---|---|---|---|
GET /api/v2/recording/plans |
Read recording / plans. | Use it when loading a page, refreshing state, or searching current data. | Use the returned data, paging totals, and current resource state. | Business API<br>recordings.view |
name |
POST /api/v2/recording/plans |
Create or run recording / plans. | Use it when the user submits this action or configuration change. | Read the target resource again and verify both saved and runtime state. | Business API<br>recordings.manage |
SaveRecordPlanRequest |
DELETE /api/v2/recording/plans/{planId} |
Delete recording / plans / the selected planId. | Use it only after the user has reviewed and confirmed the affected data. | Read the target resource again and verify both saved and runtime state. | Business API<br>recordings.delete |
planId (required) |
GET /api/v2/recording/plans/{planId} |
Read recording / plans / the selected planId. | Use it when loading a page, refreshing state, or searching current data. | Use the returned data, paging totals, and current resource state. | Business API<br>recordings.view |
planId (required) |
PUT /api/v2/recording/plans/{planId} |
Update recording / plans / the selected planId. | Use it when the user submits this action or configuration change. | Read the target resource again and verify both saved and runtime state. | Business API<br>recordings.manage |
planId (required), SaveRecordPlanRequest |
POST /api/v2/recording/plans/{planId}/enabled |
Create or run recording / plans / the selected planId / enabled. | Use it when the user submits this action or configuration change. | Read the target resource again and verify both saved and runtime state. | Business API<br>recordings.manage |
planId (required), enabled (required) |
GET /api/v2/recording/plans/{planId}/evaluate |
Read recording / plans / the selected planId / evaluate. | Use it when loading a page, refreshing state, or searching current data. | Use the returned data, paging totals, and current resource state. | Business API<br>recordings.view |
planId (required), at |
录像与磁盘
| Endpoint | Plain meaning | When to use it | How to confirm | Audience / permission | Main input |
|---|---|---|---|---|---|
POST /api/v2/recording/auto-record/evaluate-stream |
Create or run recording / auto record / evaluate stream. | Use it when the user submits this action or configuration change. | Read the target resource again and verify both saved and runtime state. | Business API<br>recordings.manage |
mediaServerId (required), vhost, app (required), streamId (required), at |
POST /api/v2/recording/auto-record/run-once |
Create or run recording / auto record / run once. | Use it when the user submits this action or configuration change. | Read the target resource again and verify both saved and runtime state. | Business API<br>recordings.manage |
at |
GET /api/v2/recording/plan-template |
Read recording / plan template. | Use it when loading a page, refreshing state, or searching current data. | Use the returned data, paging totals, and current resource state. | Business API<br>recordings.view |
No business input |
GET /api/v2/recording/search/capabilities |
Read recording / search / capabilities. | Use it when loading a page, refreshing state, or searching current data. | Use the returned data, paging totals, and current resource state. | Business API<br>system.config.view |
No business input |
GET /api/v2/recording/search/dependencies |
Read recording / search / dependencies. | Use it when loading a page, refreshing state, or searching current data. | Use the returned data, paging totals, and current resource state. | Business API<br>recordings.play |
No business input |
POST /api/v2/recording/search/dependencies |
Create or run recording / search / dependencies. | Use it when the user submits this action or configuration change. | Read the target resource again and verify both saved and runtime state. | Business API<br>recordings.play |
DependencyDownloadRequest |
POST /api/v2/recording/search/dependencies/cancel |
Create or run recording / search / dependencies / cancel. | Use it when the user submits this action or configuration change. | Read the target resource again and verify both saved and runtime state. | Business API<br>recordings.play |
No business input |
GET /api/v2/recording/search/hardware |
Read recording / search / hardware. | Use it when loading a page, refreshing state, or searching current data. | Use the returned data, paging totals, and current resource state. | Business API<br>system.config.view |
No business input |
POST /api/v2/recording/search/image |
Create or run recording / search / image. | Use it when the user submits this action or configuration change. | Read the target resource again and verify both saved and runtime state. | Business API<br>recordings.play |
No business input |
POST /api/v2/recording/search/index-jobs |
Create or run recording / search / index jobs. | Use it when the user submits this action or configuration change. | Read the target resource again and verify both saved and runtime state. | Business API<br>recordings.manage |
RecordingFileRecoveryRequest |
POST /api/v2/recording/search/prepare |
Create or run recording / search / prepare. | Use it when the user submits this action or configuration change. | Read the target resource again and verify both saved and runtime state. | Business API<br>recordings.play |
No business input |
GET /api/v2/recording/search/status |
Read recording / search / status. | Use it when loading a page, refreshing state, or searching current data. | Use the returned data, paging totals, and current resource state. | Business API<br>recordings.play |
No business input |
POST /api/v2/recording/search/text |
Create or run recording / search / text. | Use it when the user submits this action or configuration change. | Read the target resource again and verify both saved and runtime state. | Business API<br>recordings.play |
RecordingSearchQueryRequest |
GET /api/v2/recording/sessions |
Read recording / sessions. | Use it when loading a page, refreshing state, or searching current data. | Use the returned data, paging totals, and current resource state. | Business API<br>recordings.view |
page, pageSize, mediaServerId, nodeId, channelId, app, streamId, state, recordSource |
POST /api/v2/recording/start |
Create or run recording / start. | Use it when the user submits this action or configuration change. | An HTTP success means accepted; poll or subscribe until the resource reaches a final state. | Business API<br>recordings.manage |
StartRecordingRequest |
GET /api/v2/recording/state-model |
Read recording / state model. | Use it when loading a page, refreshing state, or searching current data. | Use the returned data, paging totals, and current resource state. | Business API<br>recordings.view |
No business input |
POST /api/v2/recording/stop |
Create or run recording / stop. | Use it when the user submits this action or configuration change. | An HTTP success means accepted; poll or subscribe until the resource reaches a final state. | Business API<br>recordings.manage |
StopRecordingRequest |
Recording files
| Endpoint | Plain meaning | When to use it | How to confirm | Audience / permission | Main input |
|---|---|---|---|---|---|
GET /api/v2/recording/files |
Read recording / files. | Use it when loading a page, refreshing state, or searching current data. | Use the returned data, paging totals, and current resource state. | Business API<br>recordings.view |
page, pageSize, mediaServerId, nodeId, channelId, app, streamId, fileState, recordDate, sourceHook, indexSource, startTime, endTime |
GET /api/v2/recording/files/{fileId}/download |
Read recording / files / the selected fileId / download. | Use it when loading a page, refreshing state, or searching current data. | Use the returned data, paging totals, and current resource state. | Business API<br>recordings.download |
fileId (required) |
GET /api/v2/recording/files/{fileId}/media |
Read recording / files / the selected fileId / media. | Use it when loading a page, refreshing state, or searching current data. | Use the returned data, paging totals, and current resource state. | Business API<br>recordings.play |
fileId (required) |
POST /api/v2/recording/files/delete |
Create or run recording / files / delete. | Use it only after the user has reviewed and confirmed the affected data. | Read the target resource again and verify both saved and runtime state. | Business API<br>recordings.delete |
DeleteRecordFilesRequest |
POST /api/v2/recording/files/restore |
Create or run recording / files / restore. | Use it when the user submits this action or configuration change. | Read the target resource again and verify both saved and runtime state. | Business API<br>recordings.manage |
RecordFileBatchRequest |
POST /api/v2/recording/files/scan |
Create or run recording / files / scan. | Use it when the user submits this action or configuration change. | Read the target resource again and verify both saved and runtime state. | Business API<br>recordings.manage |
RecordFileScanRequest |
POST /api/v2/recording/files/soft-delete |
Create or run recording / files / soft delete. | Use it when the user submits this action or configuration change. | Read the target resource again and verify both saved and runtime state. | Business API<br>recordings.delete |
RecordFileBatchRequest |
GET /api/v2/recording/files/statistics |
Read recording / files / statistics. | Use it when loading a page, refreshing state, or searching current data. | Use the returned data, paging totals, and current resource state. | Business API<br>recordings.view |
channelId |
Disk and storage
| Endpoint | Plain meaning | When to use it | How to confirm | Audience / permission | Main input |
|---|---|---|---|---|---|
GET /api/v2/recording/disk-check-template |
Read recording / disk check template. | Use it when loading a page, refreshing state, or searching current data. | Use the returned data, paging totals, and current resource state. | Business API<br>recordings.view |
No business input |
POST /api/v2/recording/disk/browser/directories |
Create or run recording / disk / browser / directories. | Use it when the user submits this action or configuration change. | Read the target resource again and verify both saved and runtime state. | Business API<br>recordings.manage |
RecordRootDirectoryCreateRequest |
POST /api/v2/recording/disk/browser/entries |
Create or run recording / disk / browser / entries. | Use it when the user submits this action or configuration change. | Read the target resource again and verify both saved and runtime state. | Business API<br>recordings.manage |
RecordRootDirectoryBrowseRequest |
POST /api/v2/recording/disk/browser/roots |
Create or run recording / disk / browser / roots. | Use it when the user submits this action or configuration change. | Read the target resource again and verify both saved and runtime state. | Business API<br>recordings.manage |
No business input |
POST /api/v2/recording/disk/check |
Create or run recording / disk / check. | Use it when the user submits this action or configuration change. | Read the target resource again and verify both saved and runtime state. | Business API<br>recordings.manage |
No business input |
GET /api/v2/recording/disk/fallback-recovery |
Read recording / disk / fallback recovery. | Use it when loading a page, refreshing state, or searching current data. | Use the returned data, paging totals, and current resource state. | Business API<br>recordings.view |
limit |
POST /api/v2/recording/disk/fallback-recovery/preview |
Create or run recording / disk / fallback recovery / preview. | Use it when the user submits this action or configuration change. | Read the target resource again and verify both saved and runtime state. | Business API<br>recordings.manage |
RecordRootFallbackRecoveryRequest |
POST /api/v2/recording/disk/fallback-recovery/run |
Create or run recording / disk / fallback recovery / run. | Use it when the user submits this action or configuration change. | Read the target resource again and verify both saved and runtime state. | Business API<br>recordings.manage |
RecordRootFallbackRecoveryRequest |
POST /api/v2/recording/disk/guard |
Create or run recording / disk / guard. | Use it when the user submits this action or configuration change. | Read the target resource again and verify both saved and runtime state. | Business API<br>recordings.manage |
No business input |
GET /api/v2/recording/disk/identities |
Read recording / disk / identities. | Use it when loading a page, refreshing state, or searching current data. | Use the returned data, paging totals, and current resource state. | Business API<br>recordings.view |
No business input |
POST /api/v2/recording/disk/probe-root |
Create or run recording / disk / probe root. | Use it when the user submits this action or configuration change. | Read the target resource again and verify both saved and runtime state. | Business API<br>recordings.manage |
RecordRootIdentityInspectRequest |
GET /api/v2/recording/disk/roots |
Read recording / disk / roots. | Use it when loading a page, refreshing state, or searching current data. | Use the returned data, paging totals, and current resource state. | Business API<br>recordings.view |
No business input |
GET /api/v2/recording/disk/states |
Read recording / disk / states. | Use it when loading a page, refreshing state, or searching current data. | Use the returned data, paging totals, and current resource state. | Business API<br>recordings.view |
No business input |
POST /api/v2/recording/disk/validate-root |
Create or run recording / disk / validate root. | Use it when the user submits this action or configuration change. | Read the target resource again and verify both saved and runtime state. | Business API<br>recordings.manage |
RecordRootIdentityBindRequest |
Clip and merge
| Endpoint | Plain meaning | When to use it | How to confirm | Audience / permission | Main input |
|---|---|---|---|---|---|
GET /api/v2/recording/cut-merge/backlog |
Read recording / cut merge / backlog. | Use it when loading a page, refreshing state, or searching current data. | Use the returned data, paging totals, and current resource state. | Business API<br>recordings.view |
mediaServerId (required) |
POST /api/v2/recording/cut-merge/cleanup |
Create or run recording / cut merge / cleanup. | Use it when the user submits this action or configuration change. | Read the target resource again and verify both saved and runtime state. | Business API<br>recordings.manage |
CutMergeCleanupRequest |
GET /api/v2/recording/cut-merge/tasks |
Read recording / cut merge / tasks. | Use it when loading a page, refreshing state, or searching current data. | Use the returned data, paging totals, and current resource state. | Business API<br>recordings.view |
mediaServerId, taskStatus, mainId, app, page, pageSize |
POST /api/v2/recording/cut-merge/tasks |
Create or run recording / cut merge / tasks. | Use it when the user submits this action or configuration change. | An HTTP success means accepted; poll or subscribe until the resource reaches a final state. | Business API<br>recordings.manage |
CutMergeRequest |
DELETE /api/v2/recording/cut-merge/tasks/{taskId} |
Delete recording / cut merge / tasks / the selected taskId. | Use it only after the user has reviewed and confirmed the affected data. | An HTTP success means accepted; poll or subscribe until the resource reaches a final state. | Business API<br>recordings.delete |
taskId (required), deleteOutputFile |
GET /api/v2/recording/cut-merge/tasks/{taskId} |
Read recording / cut merge / tasks / the selected taskId. | Use it when loading a page, refreshing state, or searching current data. | Use the returned data, paging totals, and current resource state. | Business API<br>recordings.view |
taskId (required), mediaServerId (required) |
GET /api/v2/recording/cut-merge/tasks/{taskId}/detail |
Read recording / cut merge / tasks / the selected taskId / detail. | Use it when loading a page, refreshing state, or searching current data. | Use the returned data, paging totals, and current resource state. | Business API<br>recordings.view |
taskId (required), mediaServerId |
GET /api/v2/recording/cut-merge/tasks/{taskId}/download |
Read recording / cut merge / tasks / the selected taskId / download. | Use it when loading a page, refreshing state, or searching current data. | Use the returned data, paging totals, and current resource state. | Business API<br>recordings.download |
taskId (required) |
GET /api/v2/recording/cut-merge/tasks/{taskId}/media |
Read recording / cut merge / tasks / the selected taskId / media. | Use it when loading a page, refreshing state, or searching current data. | Use the returned data, paging totals, and current resource state. | Business API<br>recordings.play |
taskId (required) |
GET /api/v2/recording/cut-merge/tasks/{taskId}/status |
Read recording / cut merge / tasks / the selected taskId / status. | Use it when loading a page, refreshing state, or searching current data. | Use the returned data, paging totals, and current resource state. | Business API<br>recordings.view |
taskId (required), mediaServerId (required) |
Fields and examples
This page keeps business purpose readable. When coding, use the OpenAPI and Postman assets shipped with the deployed version for request bodies, response bodies, enums, file types, and examples. Do not use a newer website contract against an older service.