Third-party API reference by task
These endpoints are for server-to-server integration. Keep the long-lived API token in your backend and return only resource-bound short-lived URLs to browsers or players.
This page covers 27 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.
Connection and resources
| Endpoint | Plain meaning | When to use it | How to confirm | Audience / permission | Main input |
|---|---|---|---|---|---|
GET /api/v2/third-party/capabilities |
Read third party / capabilities. | Use it when loading a page, refreshing state, or searching current data. | Use the returned data, paging totals, and current resource state. | Third-party API<br>authenticated |
No business input |
GET /api/v2/third-party/media-servers |
Read third party / media servers. | Use it when loading a page, refreshing state, or searching current data. | Use the returned data, paging totals, and current resource state. | Third-party API<br>nodes.view |
clusterId |
Channels and live playback
| Endpoint | Plain meaning | When to use it | How to confirm | Audience / permission | Main input |
|---|---|---|---|---|---|
GET /api/v2/third-party/channels |
Read third party / channels. | Use it when loading a page, refreshing state, or searching current data. | Use the returned data, paging totals, and current resource state. | Third-party 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 |
GET /api/v2/third-party/channels/{channelId} |
Read third party / 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. | Third-party API<br>channels.view |
channelId (required) |
POST /api/v2/third-party/channels/{channelId}/playback |
Create or run third party / channels / the selected channelId / playback. | Use it when the user submits this action or configuration change. | Read the target resource again and verify both saved and runtime state. | Third-party API<br>streams.play |
channelId (required), ThirdPartyLivePlaybackRequest |
POST /api/v2/third-party/channels/{channelId}/playback-lease |
Create or run third party / channels / the selected channelId / playback lease. | Use it when the user submits this action or configuration change. | Read the target resource again and verify both saved and runtime state. | Third-party API<br>streams.play |
channelId (required), ThirdPartyPlaybackLeaseRequest |
POST /api/v2/third-party/channels/{channelId}/start |
Create or run third party / 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. | Third-party API<br>channels.manage |
channelId (required) |
POST /api/v2/third-party/channels/{channelId}/stop |
Create or run third party / 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. | Third-party API<br>channels.manage |
channelId (required) |
GET /api/v2/third-party/streams |
Read third party / streams. | Use it when loading a page, refreshing state, or searching current data. | Use the returned data, paging totals, and current resource state. | Third-party API<br>streams.view |
mediaServerId, streamId, state |
Clip and merge
| Endpoint | Plain meaning | When to use it | How to confirm | Audience / permission | Main input |
|---|---|---|---|---|---|
GET /api/v2/third-party/cut-merge/tasks |
Read third party / 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. | Third-party API<br>recordings.view |
mediaServerId, taskStatus, mainId, page, pageSize |
POST /api/v2/third-party/cut-merge/tasks |
Create or run third party / 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. | Third-party API<br>recordings.manage |
CutMergeRequest |
DELETE /api/v2/third-party/cut-merge/tasks/{taskId} |
Delete third party / 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. | Third-party API<br>recordings.delete |
taskId (required), deleteOutputFile |
GET /api/v2/third-party/cut-merge/tasks/{taskId} |
Read third party / 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. | Third-party API<br>recordings.view |
taskId (required) |
POST /api/v2/third-party/cut-merge/tasks/{taskId}/download-link |
Create or run third party / cut merge / tasks / the selected taskId / download link. | 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. | Third-party API<br>recordings.download |
taskId (required), ThirdPartyMediaLinkRequest |
POST /api/v2/third-party/cut-merge/tasks/{taskId}/playback-lease |
Create or run third party / cut merge / tasks / the selected taskId / playback lease. | 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. | Third-party API<br>recordings.play |
taskId (required), ThirdPartyPlaybackLeaseRequest |
POST /api/v2/third-party/cut-merge/tasks/{taskId}/playback-link |
Create or run third party / cut merge / tasks / the selected taskId / playback link. | 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. | Third-party API<br>recordings.play |
taskId (required), ThirdPartyMediaLinkRequest |
GB recording playback
| Endpoint | Plain meaning | When to use it | How to confirm | Audience / permission | Main input |
|---|---|---|---|---|---|
POST /api/v2/third-party/gb28181/playback-sessions/{sessionId}/playback-lease |
Create or run third party / gb28181 / playback sessions / the selected sessionId / playback lease. | Use it when the user submits this action or configuration change. | Read the target resource again and verify both saved and runtime state. | Third-party API<br>streams.play |
sessionId (required), ThirdPartyPlaybackLeaseRequest |
Playback leases
| Endpoint | Plain meaning | When to use it | How to confirm | Audience / permission | Main input |
|---|---|---|---|---|---|
DELETE /api/v2/third-party/playback-leases/{leaseId} |
Delete third party / playback leases / the selected leaseId. | 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. | Third-party API<br>authenticated |
leaseId (required), reason |
GET /api/v2/third-party/playback-leases/{leaseId} |
Read third party / playback leases / the selected leaseId. | Use it when loading a page, refreshing state, or searching current data. | Use the returned data, paging totals, and current resource state. | Third-party API<br>authenticated |
leaseId (required) |
POST /api/v2/third-party/playback-leases/{leaseId}/renew |
Create or run third party / playback leases / the selected leaseId / renew. | Use it when the user submits this action or configuration change. | Read the target resource again and verify both saved and runtime state. | Third-party API<br>authenticated |
leaseId (required), RenewThirdPartyPlaybackLeaseRequest |
Recordings and deletion
| Endpoint | Plain meaning | When to use it | How to confirm | Audience / permission | Main input |
|---|---|---|---|---|---|
GET /api/v2/third-party/recordings |
Read third party / recordings. | Use it when loading a page, refreshing state, or searching current data. | Use the returned data, paging totals, and current resource state. | Third-party API<br>recordings.view |
page, pageSize, channelId, mediaServerId, nodeId, app, streamId, fileState, startTime, endTime |
POST /api/v2/third-party/recordings/{fileId}/download-link |
Create or run third party / recordings / the selected fileId / download link. | Use it when the user submits this action or configuration change. | Read the target resource again and verify both saved and runtime state. | Third-party API<br>recordings.download |
fileId (required), ThirdPartyMediaLinkRequest |
POST /api/v2/third-party/recordings/{fileId}/playback-lease |
Create or run third party / recordings / the selected fileId / playback lease. | Use it when the user submits this action or configuration change. | Read the target resource again and verify both saved and runtime state. | Third-party API<br>recordings.play |
fileId (required), ThirdPartyPlaybackLeaseRequest |
POST /api/v2/third-party/recordings/{fileId}/playback-link |
Create or run third party / recordings / the selected fileId / playback link. | Use it when the user submits this action or configuration change. | Read the target resource again and verify both saved and runtime state. | Third-party API<br>recordings.play |
fileId (required), ThirdPartyMediaLinkRequest |
POST /api/v2/third-party/recordings/hard-delete |
Create or run third party / recordings / 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. | Third-party API<br>recordings.delete |
RecordFileBatchRequest |
POST /api/v2/third-party/recordings/restore |
Create or run third party / recordings / restore. | Use it when the user submits this action or configuration change. | Read the target resource again and verify both saved and runtime state. | Third-party API<br>recordings.manage |
RecordFileBatchRequest |
POST /api/v2/third-party/recordings/soft-delete |
Create or run third party / recordings / 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. | Third-party API<br>recordings.delete |
RecordFileBatchRequest |
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.