Device, channel, stream, and unified resource APIs
This layer presents different protocols as devices, channels, and streams. Prefer unified channel and protocol views; use protocol-specific APIs only when the workflow truly needs them.
This page covers 69 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.
视频通道与流
| Endpoint | Plain meaning | When to use it | How to confirm | Audience / permission | Main input |
|---|---|---|---|---|---|
GET /api/v2/channels |
Read channels. | 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>channels.view |
page, pageSize, mediaServerId, nodeId, protocol, vhost, app, stream, streamId, deviceId, deviceChannelId, enabled, autoVideo, autoRecord, noPlayerBreak, hasAudio, hasPtz, isShareChannel, desiredState, actualState, sourceUrl, keyword |
POST /api/v2/channels |
Create or run channels. | 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>channels.manage |
SaveVideoChannelRequest |
DELETE /api/v2/channels/{channelId} |
Delete channels / the selected channelId. | 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>channels.manage |
channelId (required) |
GET /api/v2/channels/{channelId} |
Read channels / the selected channelId. | 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>channels.view |
channelId (required) |
PUT /api/v2/channels/{channelId} |
Update channels / the selected channelId. | 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>channels.manage |
channelId (required), SaveVideoChannelRequest |
POST /api/v2/channels/{channelId}/activate |
Create or run channels / the selected channelId / activate. | 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>channels.manage |
channelId (required), ActivateVideoChannelRequest |
POST /api/v2/channels/{channelId}/pause |
Create or run channels / the selected channelId / pause. | 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>channels.manage |
channelId (required) |
POST /api/v2/channels/{channelId}/ptz |
Create or run channels / the selected channelId / ptz. | 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>devices.control |
channelId (required), VideoChannelPtzRequest |
GET /api/v2/channels/{channelId}/ptz/capabilities |
Read channels / the selected channelId / ptz / 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>channels.view |
channelId (required) |
POST /api/v2/channels/{channelId}/ptz/capabilities/refresh |
Create or run channels / the selected channelId / ptz / capabilities / refresh. | 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>devices.control |
channelId (required) |
GET /api/v2/channels/{channelId}/ptz/settings |
Read channels / the selected channelId / ptz / settings. | 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>channels.view |
channelId (required) |
PUT /api/v2/channels/{channelId}/ptz/settings |
Update channels / the selected channelId / ptz / settings. | 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>channels.manage |
channelId (required), SaveChannelPtzSettingsRequest |
POST /api/v2/channels/{channelId}/retry |
Create or run channels / the selected channelId / retry. | 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>channels.manage |
channelId (required) |
POST /api/v2/channels/{channelId}/return-to-pending |
Create or run channels / the selected channelId / return to pending. | 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>channels.manage |
channelId (required) |
GET /api/v2/channels/{channelId}/runtime-logs |
Read channels / the selected channelId / runtime logs. | 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>channels.view |
channelId (required), Page (required), PageSize (required), SinceHours (required), Level, Category |
GET /api/v2/channels/{channelId}/snapshots |
Read channels / the selected channelId / snapshots. | 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>streams.play |
channelId (required) |
GET /api/v2/channels/{channelId}/snapshots/{slot} |
Read channels / the selected channelId / snapshots / the selected slot. | 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>streams.play |
channelId (required), slot (required), v, download |
POST /api/v2/channels/{channelId}/snapshots/access |
Create or run channels / the selected channelId / snapshots / access. | 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>streams.play |
channelId (required), ChannelSnapshotAccessRequest |
PUT /api/v2/channels/{channelId}/snapshots/settings |
Update channels / the selected channelId / snapshots / settings. | 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>channels.manage |
channelId (required), ChannelSnapshotSettings |
POST /api/v2/channels/{channelId}/start |
Create or run channels / the selected channelId / 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>channels.manage |
channelId (required) |
POST /api/v2/channels/{channelId}/stop |
Create or run channels / the selected channelId / 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>channels.manage |
channelId (required) |
GET /api/v2/channels/asset-transfer/export |
Read channels / asset transfer / export. | 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>channels.view |
No business input |
POST /api/v2/channels/asset-transfer/import |
Create or run channels / asset transfer / import. | 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>channels.manage |
AssetTransferImportRequest |
GET /api/v2/channels/groups |
Read channels / groups. | 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>channels.view |
No business input |
POST /api/v2/channels/groups |
Create or run channels / groups. | 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>channels.manage |
SaveChannelGroupRequest |
DELETE /api/v2/channels/groups/{groupKey} |
Delete channels / groups / the selected groupKey. | 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>channels.manage |
groupKey (required) |
PUT /api/v2/channels/groups/{groupKey} |
Update channels / groups / the selected groupKey. | 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>channels.manage |
groupKey (required), SaveChannelGroupRequest |
GET /api/v2/channels/pending-activation |
Read channels / pending activation. | 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>channels.view |
page, pageSize, protocol, deviceId, keyword |
GET /api/v2/channels/recording-search/capability |
Read channels / recording search / capability. | 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>channels.view |
No business input |
GET /api/v2/streams/commands |
Read streams / commands. | 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>streams.view |
mediaServerId, streamId, state, page, pageSize |
GET /api/v2/streams/players |
Read streams / players. | 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>streams.view |
mediaServerId, app, streamId, schema, state, active, page (required), pageSize (required) |
GET /api/v2/streams/sessions |
Read streams / 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>streams.view |
mediaServerId, streamId, state |
POST /api/v2/streams/smoke-tests/rtsp |
Create or run streams / smoke tests / rtsp. | 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>streams.manage |
RtspSmokeTestRequest |
POST /api/v2/streams/smoke-tests/rtsp/batch |
Create or run streams / smoke tests / rtsp / batch. | 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>streams.manage |
RtspSmokeBatchTestRequest |
POST /api/v2/streams/start-proxy |
Create or run streams / start proxy. | 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>streams.manage |
StartStreamCommandRequest |
POST /api/v2/streams/stop-proxy |
Create or run streams / stop proxy. | 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>streams.manage |
StopStreamCommandRequest |
协议统一视图
| Endpoint | Plain meaning | When to use it | How to confirm | Audience / permission | Main input |
|---|---|---|---|---|---|
GET /api/v2/protocols/{protocol}/devices/{deviceId} |
Read protocols / the selected protocol / devices / the selected deviceId. | 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>devices.view |
protocol (required), deviceId (required) |
GET /api/v2/protocols/{protocol}/devices/{deviceId}/channels |
Read protocols / the selected protocol / devices / the selected deviceId / channels. | 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>devices.view |
protocol (required), deviceId (required), page, pageSize, status, channelType, hasAudio, hasPtz, videoChannelId, keyword |
POST /api/v2/protocols/{protocol}/devices/{deviceId}/channels |
Create or run protocols / the selected protocol / devices / the selected deviceId / channels. | 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>devices.manage |
protocol (required), deviceId (required), SaveProtocolChannelRequest |
POST /api/v2/protocols/{protocol}/devices/{deviceId}/offline |
Create or run protocols / the selected protocol / devices / the selected deviceId / offline. | 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>devices.manage |
protocol (required), deviceId (required) |
POST /api/v2/protocols/{protocol}/devices/{deviceId}/online |
Create or run protocols / the selected protocol / devices / the selected deviceId / online. | 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>devices.manage |
protocol (required), deviceId (required) |
GET /api/v2/protocols/acceptance |
Read protocols / acceptance. | 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>devices.view |
checkDatabase, checkZlm, includeSystemReadiness |
GET /api/v2/protocols/alarms/events |
Read protocols / alarms / events. | 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>devices.view |
page, pageSize, protocol, deviceId, channelId, alarmPriority, alarmMethod, alarmType, ackStatus, begin, end, from, to, sinceHours, keyword |
POST /api/v2/protocols/alarms/events/{alarmEventId}/acknowledge |
Create or run protocols / alarms / events / the selected alarmEventId / acknowledge. | 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>devices.control |
alarmEventId (required), ProtocolAlarmDispositionRequest |
POST /api/v2/protocols/alarms/events/{alarmEventId}/clear |
Create or run protocols / alarms / events / the selected alarmEventId / clear. | 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>devices.control |
alarmEventId (required), ProtocolAlarmDispositionRequest |
POST /api/v2/protocols/alarms/events/{alarmEventId}/ignore |
Create or run protocols / alarms / events / the selected alarmEventId / ignore. | 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>devices.control |
alarmEventId (required), ProtocolAlarmDispositionRequest |
POST /api/v2/protocols/alarms/events/{alarmEventId}/status |
Create or run protocols / alarms / events / the selected alarmEventId / status. | 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>devices.control |
alarmEventId (required), ProtocolAlarmStatusUpdateRequest |
POST /api/v2/protocols/alarms/events/batch/{action} |
Create or run protocols / alarms / events / batch / the selected action. | 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>devices.control |
action (required), ProtocolAlarmBatchDispositionRequest |
GET /api/v2/protocols/alarms/events/stats |
Read protocols / alarms / events / stats. | 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>devices.view |
protocol, deviceId, channelId, alarmPriority, alarmMethod, alarmType, ackStatus, begin, end, from, to, sinceHours, keyword |
GET /api/v2/protocols/channels/orphan-video-bindings |
Read protocols / channels / orphan video bindings. | 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>devices.view |
page, pageSize, protocol, deviceId, channelId, keyword |
POST /api/v2/protocols/channels/orphan-video-bindings/clear |
Create or run protocols / channels / orphan video bindings / clear. | 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>devices.control |
ClearProtocolOrphanVideoBindingRequest |
GET /api/v2/protocols/commands |
Read protocols / commands. | 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>devices.view |
statusMode, page, pageSize, protocol, status, commandType, deviceId, channelId, nodeId, correlationId, requestedBy, from, to, sinceHours, keyword |
GET /api/v2/protocols/commands/{commandId} |
Read protocols / commands / the selected commandId. | 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>devices.view |
commandId (required) |
GET /api/v2/protocols/commands/{commandId}/detail |
Read protocols / commands / the selected commandId / 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>devices.view |
commandId (required) |
GET /api/v2/protocols/commands/{commandId}/diagnosis |
Read protocols / commands / the selected commandId / diagnosis. | 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>devices.view |
commandId (required) |
GET /api/v2/protocols/commands/diagnostics |
Read protocols / commands / diagnostics. | 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>devices.view |
errorOnly, analyzeLimit, bucketLimit, protocol, status, commandType, deviceId, channelId, nodeId, correlationId, requestedBy, from, to, sinceHours, keyword |
GET /api/v2/protocols/commands/stats |
Read protocols / commands / stats. | 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>devices.view |
protocol, status, commandType, deviceId, channelId, nodeId, correlationId, requestedBy, from, to, sinceHours, keyword |
GET /api/v2/protocols/devices |
Read protocols / devices. | 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>devices.view |
page, pageSize, protocol, status, keyword |
POST /api/v2/protocols/devices |
Create or run protocols / devices. | 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>devices.manage |
SaveProtocolDeviceRequest |
DELETE /api/v2/protocols/devices/{protocol}/{deviceId} |
Delete protocols / devices / the selected protocol / the selected deviceId. | 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>devices.manage |
protocol (required), deviceId (required) |
POST /api/v2/protocols/devices/{protocol}/{deviceId}/hard-delete |
Create or run protocols / devices / the selected protocol / the selected deviceId / hard 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>devices.manage |
protocol (required), deviceId (required), HardDeletePendingProtocolDeviceRequest |
PUT /api/v2/protocols/devices/{protocol}/{deviceId}/name |
Update protocols / devices / the selected protocol / the selected deviceId / name. | 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>devices.manage |
protocol (required), deviceId (required), RenameProtocolDeviceRequest |
GET /api/v2/protocols/sessions |
Read protocols / 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>devices.view |
page, pageSize, protocol, sessionType, state, deviceId, channelId, mediaServerId, nodeId, app, stream, streamId, ssrc, rtpPort, from, to, sinceHours, keyword |
GET /api/v2/protocols/sessions/{sessionId} |
Read protocols / sessions / the selected sessionId. | 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>devices.view |
sessionId (required) |
GET /api/v2/protocols/signals |
Read protocols / signals. | 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>devices.view |
protocol, eventType, deviceId, channelId, status, keyword, page, pageSize |
Unified talkback
| Endpoint | Plain meaning | When to use it | How to confirm | Audience / permission | Main input |
|---|---|---|---|---|---|
GET /api/v2/talk/sessions/{sessionId} |
Read talk / sessions / the selected sessionId. | 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>devices.view |
sessionId (required) |
POST /api/v2/talk/sessions/{sessionId}/audio |
Create or run talk / sessions / the selected sessionId / audio. | 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>devices.talk |
sessionId (required), string |
DELETE /api/v2/talk/sessions/{sessionId}/media |
Delete talk / sessions / the selected sessionId / media. | 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>devices.talk |
sessionId (required) |
POST /api/v2/talk/sessions/{sessionId}/ptt |
Create or run talk / sessions / the selected sessionId / ptt. | 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>devices.talk |
sessionId (required), TalkPushToTalkRequest |
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.