# 完整 API 操作目录 契约版本:1.0.0.169。共 626 个操作。 通用 v2 API 与 third-party 便捷接口共同覆盖平台能力。内部服务入口已排除。参数、模型和错误以 openapi.json 与任务指南为准。 | 方法/路径 | 权限 | 模块 | 用途 | |---|---|---|---| | `GET /api/v2/system/background-tasks` | system.view | 01 系统与健康 | 查询当前进程后台任务注册结果 | | `GET /api/v2/system/info` | system.view | 01 系统与健康 | 获取系统基础信息 | | `GET /api/v2/system/roles` | system.view | 01 系统与健康 | 获取当前进程角色 | | `GET /api/v2/system/version` | system.view | 01 系统与健康 | 获取 版本信息 | | `GET /health` | * | 01 系统与健康 | 获取 健康状态 | | `GET /api/v2/system/readiness` | system.view | 01 系统与健康 | 执行系统验收检查 | | `GET /api/v2/system/parity-audit` | system.view | 01 系统与健康 | 审计旧 AKStream 关键能力在 Next 中的覆盖关系 | | `GET /api/v2/system/migration-audit` | system.view | 01 系统与健康 | 执行 迁移数据体检 | | `POST /api/v2/system/migration-audit/removed-protocol-residues/cleanup` | system.config.manage | 01 系统与健康 | 清理已移除协议历史残留数据 | | `GET /api/v2/system/database-schema-audit` | system.view | 01 系统与健康 | GET /api/v2/system/database-schema-audit | | `GET /api/v2/system/data-retention/cleanup/preview` | system.config.view | 01 系统与健康 | 预览中间数据保留清理范围 | | `POST /api/v2/system/data-retention/cleanup/run-once` | system.config.manage | 01 系统与健康 | 立即执行一轮中间数据保留清理 | | `GET /api/v2/system/api-docs` | system.view | 01 系统与健康 | 跳转到受登录保护的 Knife4j API 文档 | | `GET /api/v2/system/openapi-audit` | system.view | 01 系统与健康 | 审计 Swagger/Knife4j 接口文档质量 | | `GET /api/v2/system/source-documentation-audit` | system.view | 01 系统与健康 | 审计源码 XML 注释覆盖情况 | | `GET /api/v2/system/swagger` | system.view | 01 系统与健康 | 跳转到受登录保护的 Swagger UI | | `GET /api/v2/config/center` | system.config.view | 01 系统与健康 | 读取 配置中心快照 | | `PUT /api/v2/config/center` | system.config.manage | 01 系统与健康 | 按白名单更新 JSON 配置 | | `GET /api/v2/config/raw` | system.config.raw.manage | 01 系统与健康 | 读取受控原始 JSON 配置文件 | | `PUT /api/v2/config/raw` | system.config.raw.manage | 01 系统与健康 | 确认写入原始 JSON 配置 | | `POST /api/v2/config/raw/plan` | system.config.raw.manage | 01 系统与健康 | 预览原始 JSON 配置差异 | | `GET /api/v2/config/runtime` | system.config.view | 01 系统与健康 | 读取 .NET Runtime / GC 配置 | | `PUT /api/v2/config/runtime` | system.config.manage | 01 系统与健康 | 确认写入 .NET Runtime / GC 配置 | | `POST /api/v2/config/runtime/plan` | system.config.manage | 01 系统与健康 | 预览 .NET Runtime / GC 配置差异 | | `GET /api/v2/events/outbox` | system.logs.view | 01 系统与健康 | 查询 Outbox 事件 | | `GET /api/v2/events/runtime/info` | authenticated | 01 系统与健康 | 查询运行状态 WebSocket 协议说明 | | `GET /api/v2/events/runtime/ws` | authenticated | 01 系统与健康 | 建立已认证的运行状态 WebSocket | | `GET /api/v2/system/logs/agent/sessions/{id}/events` | system.logs.view | 01 系统与健康 | 增量读取日志智能诊断中的模型消息、工具参数、工具结果与最终结论 | | `POST /api/v2/system/config/deploy` | system.config.manage | 01 系统与健康 | 部署配置版本 | | `GET /api/v2/system/config/effective` | system.config.view | 01 系统与健康 | 读取带来源和生效方式的有效配置 | | `POST /api/v2/system/config/plan` | system.config.manage | 01 系统与健康 | 预览白名单配置差异和最高生效级别 | | `GET /api/v2/system/config/revisions` | system.config.view | 01 系统与健康 | 读取配置版本历史 | | `POST /api/v2/system/config/rollback` | system.config.manage | 01 系统与健康 | 回滚到历史配置版本 | | `GET /api/v2/system/config/scopes` | system.config.view | 01 系统与健康 | 列出配置作用域 | | `POST /api/v2/system/config/wizard/apply` | system.config.manage | 01 系统与健康 | 确认后分组应用向导计划 | | `GET /api/v2/system/config/wizard/assessment` | system.config.view | 01 系统与健康 | 评估目标节点资源、媒体负载、流媒体配置可读性和端口环境 | | `GET /api/v2/system/config/wizard/catalog` | system.config.view | 01 系统与健康 | 读取 AKStream.Next、流媒体服务与宿主机的完整向导参数目录 | | `POST /api/v2/system/config/wizard/plan` | system.config.manage | 01 系统与健康 | 把选中的向导建议转换为 AKStream、流媒体服务、宿主和外部操作计划 | | `POST /api/v2/system/config/wizard/recommend` | system.config.manage | 01 系统与健康 | 按业务峰值、延迟与弱网目标逐项生成配置建议 | | `GET /api/v2/system/console/summary` | system.view | 01 系统与健康 | 读取系统中枢运行总览 | | `POST /api/v2/system/filesystem/directories` | system.config.manage | 01 系统与健康 | 在当前服务器目录中创建并回读验证一个直接子目录 | | `GET /api/v2/system/filesystem/entries` | system.config.manage | 01 系统与健康 | 按配置字段语义浏览当前服务所在服务器的目录或文件 | | `GET /api/v2/system/filesystem/roots` | system.config.manage | 01 系统与健康 | 列出当前服务所在服务器的文件系统选择入口 | | `POST /api/v2/system/filesystem/validate` | system.config.manage | 01 系统与健康 | 校验手写服务器路径的存在性、类型、读取权限与可执行权限 | | `GET /api/v2/system/lifecycle/agents` | system.lifecycle.view | 01 系统与健康 | 读取 Node Agent 在线和版本状态 | | `POST /api/v2/system/lifecycle/agents/{nodeId}/enrollment` | system.lifecycle.manage | 01 系统与健康 | 创建一次性 Node Agent 注册码 | | `GET /api/v2/system/lifecycle/operations` | system.lifecycle.view | 01 系统与健康 | 读取节点生命周期操作 | | `POST /api/v2/system/lifecycle/operations` | system.lifecycle.manage | 01 系统与健康 | 创建受 Agent 执行的节点生命周期操作 | | `POST /api/v2/system/logs/agent/sessions` | system.logs.view | 01 系统与健康 | 围绕所选日志创建只读、多轮大语言模型智能诊断会话 | | `GET /api/v2/system/logs/agent/sessions/{id}` | system.logs.view | 01 系统与健康 | 读取日志智能诊断会话状态 | | `POST /api/v2/system/logs/agent/sessions/{id}/cancel` | system.logs.view | 01 系统与健康 | 取消日志智能诊断当前轮次,不删除已经采集的会话证据 | | `POST /api/v2/system/logs/agent/sessions/{id}/messages` | system.logs.view | 01 系统与健康 | 在已有日志智能诊断上下文中继续追问并允许模型追加只读查询 | | `GET /api/v2/system/logs/analysis/status` | system.logs.view | 01 系统与健康 | 读取日志大语言模型分析能力状态,不返回 API Key | | `POST /api/v2/system/logs/analyze` | system.logs.view | 01 系统与健康 | 选择服务器环形缓冲中的日志,自动关联原始上下文并进行大语言模型故障分析 | | `GET /api/v2/system/logs/files/{fileId}/download` | system.logs.download | 01 系统与健康 | 下载白名单目录内的日志文件 | | `GET /api/v2/system/logs/query` | system.logs.view | 01 系统与健康 | 按来源、级别、关键字和 TraceId 查询系统日志 | | `GET /api/v2/system/logs/sources` | system.logs.view | 01 系统与健康 | 列出系统日志来源、集群节点、媒体服务和安全文件标识 | | `GET /api/v2/system/logs/stream` | system.logs.view | 01 系统与健康 | 以 NDJSON 长连接实时输出可断线续传的 日志 | | `POST /api/v2/system/notifications/email/test` | system.view | 01 系统与健康 | 登录后台后测试系统 SMTP 运维通知配置 | | `GET /api/v2/system/runtime/diagnostics` | system.view | 01 系统与健康 | 读取当前 运行环境诊断 | | `GET /api/v2/system/runtime/ports` | system.view | 01 系统与健康 | 按当前启用模块、实际配置和监听状态生成端口开放清单 | | `GET /api/v2/system/runtime/tuning` | system.view | 01 系统与健康 | 读取当前宿主机白名单调优参数与执行能力 | | `PUT /api/v2/system/runtime/tuning` | system.host.manage | 01 系统与健康 | 通过 NodeAgent 与固定 root helper 应用并验证 Linux 宿主调优参数 | | `POST /api/v2/system/runtime/tuning/plan` | system.host.manage | 01 系统与健康 | 预览 Linux 宿主句柄、IPv6 与 TCP 白名单参数差异 | | `GET /api/v2/system/tasks` | system.tasks.view | 01 系统与健康 | 读取内置后台任务注册和运行状态 | | `POST /api/v2/system/tasks/{taskName}/run` | system.tasks.execute | 01 系统与健康 | 预览或人工执行受支持的内置任务 | | `GET /api/v2/system/tls/acme` | system.config.view | 01 系统与健康 | 读取内置 .NET ACME、Let's Encrypt 证书、待验证订单和自动续签状态 | | `POST /api/v2/system/tls/acme/apply-nginx` | system.config.manage | 01 系统与健康 | 将已签发的正式 ACME 证书写入 Nginx 站点配置,校验成功后 Reload,失败自动恢复 | | `PUT /api/v2/system/tls/acme/automation` | system.config.manage | 01 系统与健康 | 开启或关闭 每 12 小时的自动续签检查及 Nginx 自动 Reload | | `POST /api/v2/system/tls/acme/complete` | system.config.manage | 01 系统与健康 | 检查已生成的 HTTP/DNS 验证内容,完成 ACME 验证、CSR 和证书下载 | | `POST /api/v2/system/tls/acme/issue` | system.config.manage | 01 系统与健康 | 使用 Let's Encrypt 测试或正式环境签发证书,并登记自动续签状态 | | `POST /api/v2/system/tls/acme/preflight` | system.config.manage | 01 系统与健康 | 在签发前检查公网域名、HTTP 验证目录或手工 DNS TXT 前置条件 | | `POST /api/v2/system/tls/acme/prepare` | system.config.manage | 01 系统与健康 | 由内置 .NET ACME 客户端创建订单并生成 HTTP 文件或 DNS TXT 验证内容 | | `POST /api/v2/system/tls/acme/renew` | system.config.manage | 01 系统与健康 | 执行指定证书的续签演练或真实续签 | | `GET /api/v2/system/tls/deployment` | system.config.view | 01 系统与健康 | 探测 Nginx、Kestrel、域名网络入口与 MediaServer 证书生效状态 | | `POST /api/v2/system/tls/nginx/reload` | system.config.manage | 01 系统与健康 | 校验成功后审计并重新加载 Nginx | | `POST /api/v2/system/tls/nginx/template` | system.config.manage | 01 系统与健康 | 生成不会自动落盘的 Nginx HTTPS/WSS 反向代理模板 | | `POST /api/v2/system/tls/nginx/validate` | system.config.manage | 01 系统与健康 | 使用已探测的可执行文件和配置路径执行 nginx -t | | `GET /api/v2/system/upgrades` | system.upgrade.view | 01 系统与健康 | 读取当前实例最近的正式包升级记录和持久化执行状态 | | `GET /api/v2/system/upgrades/{id}` | system.upgrade.view | 01 系统与健康 | 读取一个升级任务 | | `POST /api/v2/system/upgrades/{id}/start` | system.upgrade.manage | 01 系统与健康 | 二次确认后由本机高权限 NodeAgent 调度脱离主进程的升级事务 | | `POST /api/v2/system/upgrades/packages` | system.upgrade.manage | 01 系统与健康 | 以流式请求体上传并预检当前平台正式升级包 | | `GET /api/v2/system/webhooks/catalog` | system.view | 01 系统与健康 | 读取第三方 Webhook 可选事件目录 | | `POST /api/v2/system/webhooks/deliveries/{id}/retry` | system.config.manage | 01 系统与健康 | 重试指定方案的一条失败投递 | | `POST /api/v2/system/webhooks/outbox/{id}/retry` | system.config.manage | 01 系统与健康 | 人工重试第三方 Webhook | | `GET /api/v2/system/webhooks/status` | system.view | 01 系统与健康 | 查询第三方 Webhook 状态 | | `GET /api/v2/system/webhooks/subscriptions` | system.view | 01 系统与健康 | 列出第三方 Webhook 推送方案 | | `POST /api/v2/system/webhooks/subscriptions` | system.config.manage | 01 系统与健康 | 创建一个地址对应的 Webhook 推送方案 | | `PUT /api/v2/system/webhooks/subscriptions/{id}` | system.config.manage | 01 系统与健康 | 修改 Webhook 推送方案 | | `POST /api/v2/system/webhooks/subscriptions/{id}/archive` | system.config.manage | 01 系统与健康 | 归档 Webhook 推送方案并保留历史 | | `GET /api/v2/system/webhooks/subscriptions/{id}/deliveries` | system.view | 01 系统与健康 | 分页读取指定方案的独立投递历史 | | `POST /api/v2/system/webhooks/subscriptions/{id}/test` | system.config.manage | 01 系统与健康 | 向指定 Webhook 推送方案发送真实测试事件 | | `POST /api/v2/system/webhooks/test` | system.config.manage | 01 系统与健康 | 发送第三方 Webhook 测试事件 | | `POST /api/v2/system/zlm-configuration/apply` | system.config.manage | 01 系统与健康 | 确认完整预览集合后向原目标节点下发配置写入 | | `GET /api/v2/system/zlm-configuration/operations/{id}` | nodes.view | 01 系统与健康 | 读取目标媒体配置任务的真实状态和脱敏回读结果 | | `POST /api/v2/system/zlm-configuration/plan` | system.config.manage | 01 系统与健康 | 逐节点预览媒体配置差异,不写入文件 | | `POST /api/v2/system/zlm-configuration/read` | nodes.view | 01 系统与健康 | 按顶部管理上下文读取目标媒体节点的真实配置 | | `GET /api/v2/logging/level` | system.logs.view | 02 日志与安全 | 获取当前日志级别配置 | | `PUT /api/v2/logging/level` | system.logs.manage | 02 日志与安全 | 设置全局日志级别 | | `POST /api/v2/logging/overrides` | system.logs.manage | 02 日志与安全 | 设置模块、节点、设备、流或接口的日志级别覆盖 | | `DELETE /api/v2/logging/overrides/{scope}/{key}` | system.logs.manage | 02 日志与安全 | 删除日志级别覆盖规则 | | `PUT /api/v2/logging/zlm-module-output` | system.logs.manage | 02 日志与安全 | 设置 内部流媒体服务模块常规日志开关 | | `PUT /api/v2/logging/zlm-process-output` | system.logs.manage | 02 日志与安全 | 设置流媒体服务子进程输出日志开关 | | `GET /api/v2/security/api-tokens` | security.tokens.view | 02 日志与安全 | 查询 API Token 摘要和是否支持再次显示 | | `POST /api/v2/security/api-tokens` | security.tokens.manage | 02 日志与安全 | 创建受限 API Token | | `PUT /api/v2/security/api-tokens/{tokenId}` | security.tokens.manage | 02 日志与安全 | 修改现有 API Token 的名称、权限、IP 白名单和有效期 | | `DELETE /api/v2/security/api-tokens/{tokenId}` | security.tokens.manage | 02 日志与安全 | 立即吊销 API Token | | `POST /api/v2/security/api-tokens/{tokenId}/reveal` | security.tokens.manage | 02 日志与安全 | 显示完整 API Token | | `POST /api/v2/security/api-tokens/{tokenId}/rotate` | security.tokens.manage | 02 日志与安全 | 轮换 API Token | | `GET /api/v2/security/audit` | security.audit.view | 02 日志与安全 | 分页查询安全审计 | | `GET /api/v2/security/permissions` | authenticated | 02 日志与安全 | 查询全部可用于组合角色的权限点 | | `GET /api/v2/security/roles` | security.roles.view | 02 日志与安全 | 查询内置和自定义角色及权限点 | | `POST /api/v2/security/roles` | security.roles.manage | 02 日志与安全 | 使用权限点创建自定义角色 | | `PUT /api/v2/security/roles/{roleId}` | security.roles.manage | 02 日志与安全 | 修改自定义角色并立即使相关用户旧会话失效 | | `DELETE /api/v2/security/roles/{roleId}` | security.roles.manage | 02 日志与安全 | 删除尚未绑定用户的自定义角色 | | `GET /api/v2/security/rtsp-auth` | security.rtsp.view | 02 日志与安全 | 查询 RTSP 鉴权凭据 | | `POST /api/v2/security/rtsp-auth` | security.rtsp.manage | 02 日志与安全 | 创建或更新 RTSP 鉴权凭据 | | `DELETE /api/v2/security/rtsp-auth` | security.rtsp.manage | 02 日志与安全 | 删除 RTSP 鉴权凭据 | | `POST /api/v2/security/rtsp-auth/test` | security.rtsp.manage | 02 日志与安全 | 验证指定 RTSP 账号能否构造 Digest 响应 | | `GET /api/v2/security/users` | security.users.view | 02 日志与安全 | 查询管理台用户及角色绑定 | | `POST /api/v2/security/users` | security.users.manage | 02 日志与安全 | POST /api/v2/security/users | | `PUT /api/v2/security/users/{userId}` | security.users.manage | 02 日志与安全 | 修改用户状态及角色绑定,并立即撤销旧会话 | | `DELETE /api/v2/security/users/{userId}` | security.users.manage | 02 日志与安全 | 软删除用户、撤销会话及其 API Token | | `POST /api/v2/security/users/{userId}/password` | security.users.manage | 02 日志与安全 | 管理员重置用户密码并撤销全部会话 | | `POST /api/v2/security/users/{userId}/sessions/revoke` | security.users.manage | 02 日志与安全 | 撤销指定用户的全部登录会话 | | `GET /api/v2/cluster/monitoring` | nodes.view | 03 集群与节点 | 查询全局监控快照 | | `GET /api/v2/cluster/monitoring/current` | nodes.view | 03 集群与节点 | 查询不含历史趋势的当前监控快照 | | `GET /api/v2/cluster/monitoring/local-runtime` | nodes.view | 03 集群与节点 | 查询当前节点最新的轻量进程资源快照 | | `GET /api/v2/cluster/status` | nodes.view | 03 集群与节点 | 查询集群运行状态 | | `GET /api/v2/media-servers` | nodes.view | 03 集群与节点 | 查询流媒体服务节点列表 | | `GET /api/v2/media-servers/{mediaServerId}/references` | nodes.view | 03 集群与节点 | 查询流媒体服务节点退役前的业务引用明细 | | `POST /api/v2/media-servers/{mediaServerId}/retire` | nodes.manage | 03 集群与节点 | 预览或退役流媒体服务节点 | | `GET /api/v2/nodes` | nodes.view | 03 集群与节点 | 查询 节点列表 | | `POST /api/v2/nodes/self/heartbeat` | nodes.manage | 03 集群与节点 | 手动触发当前进程 node 心跳 | | `GET /api/v2/node/commands` | nodes.view | 03 集群与节点 | 分页查询当前集群的 node 命令 | | `GET /api/v2/node/commands/{commandId}` | nodes.view | 03 集群与节点 | 读取 node 命令详情 | | `GET /api/v2/node/commands/{commandId}/detail` | nodes.view | 03 集群与节点 | 读取 node 命令详情 | | `GET /api/v2/node/commands/local` | nodes.view | 03 集群与节点 | 查询当前 node 的本机命令 | | `GET /api/v2/node/commands/stats` | nodes.view | 03 集群与节点 | 统计当前集群的 node 命令状态 | | `POST /api/v2/nodes/{nodeId}/commands` | nodes.manage | 03 集群与节点 | 创建 node 命令 | | `GET /api/v2/node/rtp/leases` | nodes.view | 03 集群与节点 | 查询 RTP 端口租约 | | `POST /api/v2/node/rtp/leases` | nodes.manage | 03 集群与节点 | 申请 RTP 端口租约 | | `POST /api/v2/node/rtp/leases/{leaseId}/release` | nodes.manage | 03 集群与节点 | 释放 RTP 端口租约 | | `POST /api/v2/node/rtp/ports/{port}/release` | nodes.manage | 03 集群与节点 | 按端口释放 RTP 端口租约 | | `GET /api/v2/node/ffmpeg-templates` | nodes.view | 03 集群与节点 | 查询 FFmpeg 模板列表 | | `POST /api/v2/node/ffmpeg-templates` | nodes.manage | 03 集群与节点 | 新增 FFmpeg 模板 | | `PUT /api/v2/node/ffmpeg-templates/{templateName}` | nodes.manage | 03 集群与节点 | 修改 FFmpeg 模板 | | `DELETE /api/v2/node/ffmpeg-templates/{templateName}` | nodes.manage | 03 集群与节点 | 删除 FFmpeg 模板 | | `GET /api/v2/node/zlm/config` | nodes.view | 03 集群与节点 | 读取本机流媒体服务config.ini | | `POST /api/v2/node/zlm/config/apply` | nodes.manage | 03 集群与节点 | 应用本机流媒体服务config.ini 写入计划 | | `POST /api/v2/node/zlm/config/plan` | nodes.manage | 03 集群与节点 | 生成本机流媒体服务config.ini 写入计划 | | `GET /api/v2/node/zlm/config/raw` | system.config.raw.manage | 03 集群与节点 | 读取原始 MediaServer config.ini | | `PUT /api/v2/node/zlm/config/raw` | system.config.raw.manage | 03 集群与节点 | 备份并写入原始 MediaServer config.ini | | `POST /api/v2/node/zlm/config/raw/plan` | system.config.raw.manage | 03 集群与节点 | 校验并预览原始 MediaServer config.ini 差异 | | `GET /api/v2/node/zlm/core-settings` | nodes.view | 03 集群与节点 | 读取流媒体服务核心协议、延迟、端口和 HTTP 页面配置 | | `PUT /api/v2/node/zlm/core-settings` | nodes.manage | 03 集群与节点 | 校验、备份并写入流媒体服务核心配置 | | `GET /api/v2/node/zlm/process` | nodes.view | 03 集群与节点 | 获取本机流媒体服务进程状态 | | `POST /api/v2/node/zlm/process/reload` | nodes.manage | 03 集群与节点 | 向本机流媒体服务进程发送热加载信号 | | `POST /api/v2/node/zlm/process/restart` | nodes.manage | 03 集群与节点 | 重启本机流媒体服务进程 | | `POST /api/v2/node/zlm/process/start` | nodes.manage | 03 集群与节点 | 启动本机流媒体服务进程 | | `POST /api/v2/node/zlm/process/stop` | nodes.manage | 03 集群与节点 | 停止本机流媒体服务进程 | | `GET /api/v2/zlm/webhook-inbox` | system.logs.view | 04 MediaServer 适配 | 查询流媒体服务 WebHook 收件箱 | | `GET /api/v2/zlm/nodes` | nodes.view | 04 MediaServer 适配 | 获取已配置的流媒体服务节点 | | `GET /api/v2/zlm/nodes/{nodeId}/apis` | nodes.view | 04 MediaServer 适配 | 读取指定流媒体服务节点 API 列表 | | `GET /api/v2/zlm/nodes/{nodeId}/capabilities` | nodes.view | 04 MediaServer 适配 | 执行指定流媒体服务节点能力发现 | | `GET /api/v2/zlm/nodes/{nodeId}/recording-status` | nodes.view | 04 MediaServer 适配 | 查询指定流媒体服务节点上某路流的实际录像状态 | | `GET /api/v2/zlm/nodes/{nodeId}/version` | nodes.view | 04 MediaServer 适配 | 读取指定流媒体服务节点版本 | | `GET /api/v2/channels` | channels.view | 05 视频通道与流 | 查询视频通道列表 | | `POST /api/v2/channels` | channels.manage | 05 视频通道与流 | 创建视频通道 | | `GET /api/v2/channels/{channelId}` | channels.view | 05 视频通道与流 | 读取视频通道 | | `PUT /api/v2/channels/{channelId}` | channels.manage | 05 视频通道与流 | 更新视频通道 | | `DELETE /api/v2/channels/{channelId}` | channels.manage | 05 视频通道与流 | 删除视频通道 | | `POST /api/v2/channels/{channelId}/activate` | channels.manage | 05 视频通道与流 | 激活待接入视频通道 | | `POST /api/v2/channels/{channelId}/pause` | channels.manage | 05 视频通道与流 | 人工暂停视频通道自动恢复 | | `POST /api/v2/channels/{channelId}/ptz` | devices.control | 05 视频通道与流 | 控制视频通道 PTZ | | `GET /api/v2/channels/{channelId}/ptz/capabilities` | channels.view | 05 视频通道与流 | 读取视频通道 PTZ 能力 | | `POST /api/v2/channels/{channelId}/ptz/capabilities/refresh` | devices.control | 05 视频通道与流 | 刷新视频通道 PTZ 能力 | | `GET /api/v2/channels/{channelId}/ptz/settings` | channels.view | 05 视频通道与流 | 读取设备 PTZ 能力与人工开关 | | `PUT /api/v2/channels/{channelId}/ptz/settings` | channels.manage | 05 视频通道与流 | 保存 PTZ 使用开关和 GB28181 未上报能力的管理员确认,不修改设备报告字段 | | `POST /api/v2/channels/{channelId}/retry` | channels.manage | 05 视频通道与流 | 清理自动拉流退避状态并立即重试 | | `POST /api/v2/channels/{channelId}/return-to-pending` | channels.manage | 05 视频通道与流 | 将视频通道退回待激活资产池 | | `GET /api/v2/channels/{channelId}/runtime-logs` | channels.view | 05 视频通道与流 | 查询通道运行审计时间线 | | `GET /api/v2/channels/{channelId}/snapshots` | streams.play | 05 视频通道与流 | 查询通道周期截图设置、在线状态及带鉴权的图片预览和下载地址 | | `GET /api/v2/channels/{channelId}/snapshots/{slot}` | streams.play | 05 视频通道与流 | 预览或下载指定周期截图JPEG | | `POST /api/v2/channels/{channelId}/snapshots/access` | streams.play | 05 视频通道与流 | 签发绑定当前通道和view/download动作的短时截图票据 | | `PUT /api/v2/channels/{channelId}/snapshots/settings` | channels.manage | 05 视频通道与流 | 05 视频通道与流:PUT /api/v2/channels/{channelId}/snapshots/settings | | `POST /api/v2/channels/{channelId}/start` | channels.manage | 05 视频通道与流 | 启动视频通道拉流 | | `POST /api/v2/channels/{channelId}/stop` | channels.manage | 05 视频通道与流 | 停流并人工暂停视频通道 | | `GET /api/v2/channels/asset-transfer/export` | channels.view | 05 视频通道与流 | 导出设备、协议通道、统一通道和分组 | | `POST /api/v2/channels/asset-transfer/import` | channels.manage | 05 视频通道与流 | 预览或确认导入接入资产 | | `GET /api/v2/channels/groups` | channels.view | 05 视频通道与流 | 查询视频设备分组 | | `POST /api/v2/channels/groups` | channels.manage | 05 视频通道与流 | 创建视频设备分组 | | `PUT /api/v2/channels/groups/{groupKey}` | channels.manage | 05 视频通道与流 | 更新视频设备分组 | | `DELETE /api/v2/channels/groups/{groupKey}` | channels.manage | 05 视频通道与流 | 删除空视频设备分组 | | `GET /api/v2/channels/pending-activation` | channels.view | 05 视频通道与流 | 查询待激活视频通道列表 | | `GET /api/v2/channels/recording-search/capability` | channels.view | 05 视频通道与流 | 查询通道图文检索选项是否可编辑 | | `GET /api/v2/streams/commands` | streams.view | 05 视频通道与流 | 查询流生命周期命令 | | `GET /api/v2/streams/sessions` | streams.view | 05 视频通道与流 | 查询流会话状态 | | `POST /api/v2/streams/smoke-tests/rtsp` | streams.manage | 05 视频通道与流 | 执行 RTSP 拉流烟测 | | `POST /api/v2/streams/smoke-tests/rtsp/batch` | streams.manage | 05 视频通道与流 | 批量执行 RTSP 拉流烟测 | | `POST /api/v2/streams/start-proxy` | streams.manage | 05 视频通道与流 | 创建拉流启动命令 | | `POST /api/v2/streams/stop-proxy` | streams.manage | 05 视频通道与流 | 创建拉流停止命令 | | `GET /api/v2/streams/players` | streams.view | 05 视频通道与流 | 查询流媒体服务播放者会话 | | `GET /api/v2/recording/plans` | recordings.view | 06 录像与磁盘 | 查询录像计划列表 | | `POST /api/v2/recording/plans` | recordings.manage | 06 录像与磁盘 | 创建录像计划 | | `GET /api/v2/recording/plans/{planId}` | recordings.view | 06 录像与磁盘 | 读取录像计划 | | `PUT /api/v2/recording/plans/{planId}` | recordings.manage | 06 录像与磁盘 | 更新录像计划 | | `DELETE /api/v2/recording/plans/{planId}` | recordings.delete | 06 录像与磁盘 | 删除录像计划 | | `POST /api/v2/recording/plans/{planId}/enabled` | recordings.manage | 06 录像与磁盘 | 启用或停用录像计划 | | `GET /api/v2/recording/plans/{planId}/evaluate` | recordings.view | 06 录像与磁盘 | 判断指定时间是否命中录像计划 | | `GET /api/v2/recording/plan-template` | recordings.view | 06 录像与磁盘 | 获取录像计划模板示例 | | `GET /api/v2/recording/sessions` | recordings.view | 06 录像与磁盘 | 分页查询录像会话 | | `POST /api/v2/recording/start` | recordings.manage | 06 录像与磁盘 | 创建开始录像命令 | | `GET /api/v2/recording/state-model` | recordings.view | 06 录像与磁盘 | 获取录像状态机说明 | | `POST /api/v2/recording/stop` | recordings.manage | 06 录像与磁盘 | 创建停止录像命令 | | `GET /api/v2/recording/files` | recordings.view | 06 录像与磁盘 | 分页查询录像文件索引 | | `GET /api/v2/recording/files/{fileId}/download` | recordings.download | 06 录像与磁盘 | 下载录像文件 | | `GET /api/v2/recording/files/{fileId}/media` | recordings.play | 06 录像与磁盘 | 播放录像文件 | | `POST /api/v2/recording/files/delete` | recordings.delete | 06 录像与磁盘 | 发起录像文件硬删除请求 | | `POST /api/v2/recording/files/restore` | recordings.manage | 06 录像与磁盘 | 恢复软删除录像文件 | | `POST /api/v2/recording/files/scan` | recordings.manage | 06 录像与磁盘 | 扫描录像目录并补偿录像文件索引 | | `POST /api/v2/recording/files/soft-delete` | recordings.delete | 06 录像与磁盘 | 软删除录像文件,保留可恢复窗口 | | `GET /api/v2/recording/files/statistics` | recordings.view | 06 录像与磁盘 | 统计通道全部有效录像资产 | | `GET /api/v2/recording/disk-check-template` | recordings.view | 06 录像与磁盘 | 获取磁盘保障检查项 | | `POST /api/v2/recording/disk/browser/directories` | recordings.manage | 06 录像与磁盘 | 在当前磁盘位置新建并验证录像目录 | | `POST /api/v2/recording/disk/browser/entries` | recordings.manage | 06 录像与磁盘 | 浏览服务器上的录像目录候选项 | | `POST /api/v2/recording/disk/browser/roots` | recordings.manage | 06 录像与磁盘 | 列出录像管理员可选择的服务器目录入口 | | `POST /api/v2/recording/disk/check` | recordings.manage | 06 录像与磁盘 | 立即执行一次录像磁盘检查 | | `GET /api/v2/recording/disk/fallback-recovery` | recordings.view | 06 录像与磁盘 | 查询当前节点的掉盘录像预检与恢复任务 | | `POST /api/v2/recording/disk/fallback-recovery/preview` | recordings.manage | 06 录像与磁盘 | 创建掉盘录像预检任务 | | `POST /api/v2/recording/disk/fallback-recovery/run` | recordings.manage | 06 录像与磁盘 | 创建掉盘录像正式恢复任务 | | `POST /api/v2/recording/disk/guard` | recordings.manage | 06 录像与磁盘 | 立即执行一次录像磁盘检查并应用暂停/恢复守护 | | `GET /api/v2/recording/disk/identities` | recordings.view | 06 录像与磁盘 | 查询当前节点已经由管理员验证并绑定的录像硬盘身份 | | `POST /api/v2/recording/disk/probe-root` | recordings.manage | 06 录像与磁盘 | 只读探测录像根目录所属硬盘及容量信息 | | `GET /api/v2/recording/disk/roots` | recordings.view | 06 录像与磁盘 | 获取当前配置下的录像根目录 | | `GET /api/v2/recording/disk/states` | recordings.view | 06 录像与磁盘 | 查询磁盘卷状态 | | `POST /api/v2/recording/disk/validate-root` | recordings.manage | 06 录像与磁盘 | 验证录像目录并在首次成功时绑定当前硬盘身份 | | `GET /api/v2/recording/cut-merge/backlog` | recordings.view | 06 录像与磁盘 | 查询录像裁剪/合并积压任务 | | `POST /api/v2/recording/cut-merge/cleanup` | recordings.manage | 06 录像与磁盘 | 清理裁剪合并临时目录和按保留策略清理输出文件 | | `GET /api/v2/recording/cut-merge/tasks` | recordings.view | 06 录像与磁盘 | 查询录像裁剪/合并任务列表 | | `POST /api/v2/recording/cut-merge/tasks` | recordings.manage | 06 录像与磁盘 | 创建录像裁剪/合并任务 | | `GET /api/v2/recording/cut-merge/tasks/{taskId}` | recordings.view | 06 录像与磁盘 | 查询录像裁剪/合并任务状态 | | `DELETE /api/v2/recording/cut-merge/tasks/{taskId}` | recordings.delete | 06 录像与磁盘 | 真删除录像裁剪/合并任务和输出文件 | | `GET /api/v2/recording/cut-merge/tasks/{taskId}/detail` | recordings.view | 06 录像与磁盘 | 查询录像裁剪/合并任务安全详情 | | `GET /api/v2/recording/cut-merge/tasks/{taskId}/download` | recordings.download | 06 录像与磁盘 | 下载裁剪合并输出文件 | | `GET /api/v2/recording/cut-merge/tasks/{taskId}/media` | recordings.play | 06 录像与磁盘 | 播放裁剪合并输出文件 | | `GET /api/v2/recording/cut-merge/tasks/{taskId}/status` | recordings.view | 06 录像与磁盘 | 查询录像裁剪/合并任务状态 | | `POST /api/v2/recording/auto-record/evaluate-stream` | recordings.manage | 06 录像与磁盘 | 只评估指定流媒体服务流对应的自动录像计划 | | `POST /api/v2/recording/auto-record/run-once` | recordings.manage | 06 录像与磁盘 | 立即执行一次自动录像计划调度 | | `GET /api/v2/recording/search/capabilities` | system.config.view | 06 录像与磁盘 | 探测当前节点 CPU、CUDA、RKNN、MPS 运行时及模型验收状态 | | `GET /api/v2/recording/search/dependencies` | recordings.play | 06 录像与磁盘 | 06 录像与磁盘:GET /api/v2/recording/search/dependencies | | `POST /api/v2/recording/search/dependencies` | recordings.play | 06 录像与磁盘 | 06 录像与磁盘:POST /api/v2/recording/search/dependencies | | `POST /api/v2/recording/search/dependencies/cancel` | recordings.play | 06 录像与磁盘 | 06 录像与磁盘:POST /api/v2/recording/search/dependencies/cancel | | `GET /api/v2/recording/search/hardware` | system.config.view | 06 录像与磁盘 | 读取当前节点 SoC、NPU 核心数与 FFmpeg 硬件加速能力 | | `POST /api/v2/recording/search/image` | recordings.play | 06 录像与磁盘 | 以图片检索已勾选通道的录像片段 | | `POST /api/v2/recording/search/index-jobs` | recordings.manage | 06 录像与磁盘 | 管理员在临时启用文件补救后,按录像 ID 手工提交有界补建任务 | | `POST /api/v2/recording/search/prepare` | recordings.play | 06 录像与磁盘 | 在后台加载、编译缓存并预热当前所选图文模型 | | `GET /api/v2/recording/search/status` | recordings.play | 06 录像与磁盘 | 查询录像图文检索的授权、通道范围、直播采样和文件补救运行态 | | `POST /api/v2/recording/search/text` | recordings.play | 06 录像与磁盘 | 以中文文字检索已勾选通道的录像片段 | | `GET /api/v2/gb28181/alarms/events` | devices.view | 07 GB28181 国标 | 查询 GB28181 告警事件 | | `POST /api/v2/gb28181/alarms/query` | devices.control | 07 GB28181 国标 | 创建 GB28181 告警查询命令 | | `POST /api/v2/gb28181/alarms/report` | devices.control | 07 GB28181 国标 | 协议网关回写 GB28181 告警事件 | | `POST /api/v2/gb28181/alarms/reset` | devices.control | 07 GB28181 国标 | 创建 GB28181 报警复位控制命令 | | `POST /api/v2/gb28181/broadcast` | devices.control | 07 GB28181 国标 | 创建 GB28181 语音广播命令 | | `POST /api/v2/gb28181/catalog/items` | devices.control | 07 GB28181 国标 | GB28181 目录通道上报 | | `POST /api/v2/gb28181/catalog/query` | devices.control | 07 GB28181 国标 | 创建 GB28181 主动目录查询命令 | | `GET /api/v2/gb28181/catalog/query/{taskId}` | devices.view | 07 GB28181 国标 | 查询 GB28181 主动目录查询任务状态 | | `GET /api/v2/gb28181/commands` | devices.view | 07 GB28181 国标 | 查询 GB28181 协议命令 | | `POST /api/v2/gb28181/device-config/query` | devices.control | 07 GB28181 国标 | 创建 GB28181 设备配置查询命令 | | `POST /api/v2/gb28181/device-config/set` | devices.control | 07 GB28181 国标 | 创建 GB28181 设备配置设置命令 | | `POST /api/v2/gb28181/device-info/query` | devices.control | 07 GB28181 国标 | 创建 GB28181 设备信息查询命令 | | `POST /api/v2/gb28181/device-status/query` | devices.control | 07 GB28181 国标 | 创建 GB28181 设备状态查询命令 | | `POST /api/v2/gb28181/devices/{deviceId}/unregister` | devices.manage | 07 GB28181 国标 | GB28181 设备注销上报 | | `POST /api/v2/gb28181/devices/keepalive` | devices.manage | 07 GB28181 国标 | GB28181 设备心跳上报 | | `POST /api/v2/gb28181/devices/register` | devices.manage | 07 GB28181 国标 | GB28181 设备注册上报 | | `POST /api/v2/gb28181/devices/timeout-scan` | devices.manage | 07 GB28181 国标 | 手工触发 GB28181 Server 下级设备心跳超时扫描 | | `GET /api/v2/gb28181/live/{deviceId}/{channelId}` | devices.view | 07 GB28181 国标 | 查询 GB28181 实时流会话 | | `POST /api/v2/gb28181/live/invite` | devices.control | 07 GB28181 国标 | 请求 GB28181 实时流 | | `POST /api/v2/gb28181/live/stop` | devices.control | 07 GB28181 国标 | 停止 GB28181 实时流 | | `POST /api/v2/gb28181/media-status/report` | devices.control | 07 GB28181 国标 | 处理 GB28181 MediaStatus 历史媒体结束通知 | | `GET /api/v2/gb28181/mobile-position/events` | devices.view | 07 GB28181 国标 | 跨天查询 GB28181 GPS 历史轨迹 | | `DELETE /api/v2/gb28181/mobile-position/events/{id}` | devices.manage | 07 GB28181 国标 | 逻辑删除一条 GB28181 GPS 轨迹 | | `GET /api/v2/gb28181/mobile-position/map-config` | devices.view | 07 GB28181 国标 | 读取 GPS 轨迹地图前端配置 | | `POST /api/v2/gb28181/mobile-position/query` | devices.control | 07 GB28181 国标 | 创建 GB28181 移动位置查询命令 | | `GET /api/v2/gb28181/mobile-position/status` | devices.view | 07 GB28181 国标 | 查询 GPS 轨迹 Provider 运行状态 | | `GET /api/v2/gb28181/presets` | devices.view | 07 GB28181 国标 | 读取最近一次 GB28181 预置位查询缓存结果 | | `POST /api/v2/gb28181/presets/control` | devices.control | 07 GB28181 国标 | 创建 GB28181 预置位设置、调用或删除控制命令 | | `POST /api/v2/gb28181/presets/query` | devices.control | 07 GB28181 国标 | 创建 GB28181 预置位查询命令 | | `GET /api/v2/gb28181/sessions` | devices.view | 07 GB28181 国标 | 查询 GB28181 流会话 | | `GET /api/v2/gb28181/signals` | devices.view | 07 GB28181 国标 | 查询 GB28181 信令事件 | | `GET /api/v2/gb28181/state-model` | devices.view | 07 GB28181 国标 | 获取 GB28181 状态机说明 | | `GET /api/v2/gb28181/subscriptions` | devices.view | 07 GB28181 国标 | 分页查询 GB28181 订阅状态 | | `POST /api/v2/gb28181/subscriptions/cancel` | devices.control | 07 GB28181 国标 | 取消 GB28181 协议订阅 | | `POST /api/v2/gb28181/subscriptions/renew-due` | devices.control | 07 GB28181 国标 | 手动触发 GB28181 到期订阅续期扫描 | | `POST /api/v2/gb28181/subscriptions/subscribe` | devices.control | 07 GB28181 国标 | 创建 GB28181 目录、告警或移动位置订阅命令 | | `GET /api/v2/gb28181/client/platform` | devices.view | 07 GB28181 国标 | 查询 GB28181 Client 侧上级平台注册状态 | | `POST /api/v2/gb28181/device-control/record` | devices.control | 07 GB28181 国标 | 创建 GB28181 录像控制命令 | | `POST /api/v2/gb28181/playback/invite` | devices.control | 07 GB28181 国标 | 请求 GB28181 历史回放流 | | `POST /api/v2/gb28181/playback/pause` | devices.control | 07 GB28181 国标 | 暂停 GB28181 历史回放 | | `POST /api/v2/gb28181/playback/resume` | devices.control | 07 GB28181 国标 | 继续 GB28181 历史回放 | | `POST /api/v2/gb28181/playback/seek` | devices.control | 07 GB28181 国标 | 执行 GB28181 历史回放定位 | | `POST /api/v2/gb28181/playback/speed` | devices.control | 07 GB28181 国标 | 调整 GB28181 历史回放倍速 | | `POST /api/v2/gb28181/playback/stop` | devices.control | 07 GB28181 国标 | 停止 GB28181 历史回放流 | | `POST /api/v2/gb28181/records/query` | devices.control | 07 GB28181 国标 | 创建 GB28181 设备历史录像查询命令 | | `GET /api/v2/gb28181/records/query/{taskId}` | devices.view | 07 GB28181 国标 | 查询 GB28181 设备历史录像查询任务状态 | | `POST /api/v2/gb28181/device-control/drag-zoom` | devices.control | 07 GB28181 国标 | 创建 GB28181 拉框放大或缩小控制命令 | | `POST /api/v2/gb28181/device-control/guard` | devices.control | 07 GB28181 国标 | 创建 GB28181 布防或撤防控制命令 | | `POST /api/v2/gb28181/device-control/home-position` | devices.control | 07 GB28181 国标 | 创建 GB28181 看守位控制命令 | | `POST /api/v2/gb28181/device-control/iframe` | devices.control | 07 GB28181 国标 | 创建 GB28181 强制关键帧控制命令 | | `POST /api/v2/gb28181/device-control/results` | devices.control | 07 GB28181 国标 | 回填 GB28181 DeviceControl 业务响应 | | `POST /api/v2/gb28181/device-control/teleboot` | devices.control | 07 GB28181 国标 | 创建 GB28181 远程启动控制命令 | | `POST /api/v2/gb28181/ptz` | devices.control | 07 GB28181 国标 | 创建 GB28181 PTZ 控制命令 | | `POST /api/v2/gb28181/talk/start` | devices.talk | 07 GB28181 国标 | 启动 GB28181 双向语音对讲 | | `POST /api/v2/gb28181/talk/stop` | devices.talk | 07 GB28181 国标 | 停止 GB28181 双向语音对讲 | | `POST /api/v2/onvif/native/smoke-test` | devices.control | 08 ONVIF 设备 | 对指定 ONVIF 目标设备执行原生信令烟测 | | `POST /api/v2/onvif/discovery/results` | devices.manage | 08 ONVIF 设备 | 导入 ONVIF 发现结果 | | `POST /api/v2/onvif/discovery/start` | devices.manage | 08 ONVIF 设备 | 通过流媒体服务创建 ONVIF 设备发现命令 | | `POST /api/v2/onvif/native/discovery` | devices.manage | 08 ONVIF 设备 | 发现 ONVIF 设备 | | `POST /api/v2/onvif/devices/{deviceId}/channels/{channelId}/media-uris/refresh` | devices.manage | 08 ONVIF 设备 | 刷新 ONVIF Profile 流与快照地址 | | `POST /api/v2/onvif/devices/{deviceId}/media-sources/refresh` | devices.manage | 08 ONVIF 设备 | 刷新 ONVIF 音视频源 | | `POST /api/v2/onvif/devices/{deviceId}/media-uris/refresh` | devices.manage | 08 ONVIF 设备 | 批量刷新 ONVIF Profile 流与快照地址 | | `POST /api/v2/onvif/devices/{deviceId}/profiles/{channelId}/talk-capabilities/refresh` | devices.manage | 08 ONVIF 设备 | 刷新 ONVIF Profile 的音频输出与对讲解码能力 | | `POST /api/v2/onvif/devices/{deviceId}/profiles/refresh` | devices.manage | 08 ONVIF 设备 | ONVIF 设备直接刷新 GetProfiles | | `POST /api/v2/onvif/devices/{deviceId}/stream-uri` | devices.manage | 08 ONVIF 设备 | 通过流媒体服务创建 ONVIF GetStreamUri 命令 | | `POST /api/v2/onvif/native/audio-sources` | devices.control | 08 ONVIF 设备 | ONVIF GetAudioSources | | `POST /api/v2/onvif/native/profiles` | devices.control | 08 ONVIF 设备 | ONVIF GetProfiles | | `POST /api/v2/onvif/native/snapshot-uri` | devices.control | 08 ONVIF 设备 | ONVIF GetSnapshotUri | | `POST /api/v2/onvif/native/stream-uri` | devices.control | 08 ONVIF 设备 | ONVIF GetStreamUri | | `POST /api/v2/onvif/native/video-sources` | devices.control | 08 ONVIF 设备 | ONVIF GetVideoSources | | `POST /api/v2/onvif/profiles/results` | devices.control | 08 ONVIF 设备 | 回填 ONVIF GetProfiles | | `POST /api/v2/onvif/snapshot-uri/results` | devices.control | 08 ONVIF 设备 | 回填 ONVIF SnapshotUri | | `POST /api/v2/onvif/stream-uri/results` | devices.control | 08 ONVIF 设备 | 回填 ONVIF StreamUri | | `POST /api/v2/onvif/devices/{deviceId}/channels/{channelId}/imaging/focus/native` | devices.manage | 08 ONVIF 设备 | 操作 ONVIF Profile Imaging 能力、参数和参数套餐 | | `POST /api/v2/onvif/devices/{deviceId}/channels/{channelId}/ptz/native` | devices.manage | 08 ONVIF 设备 | 操作 ONVIF Profile PTZ 动作 | | `POST /api/v2/onvif/devices/{deviceId}/channels/{channelId}/ptz/presets/refresh` | devices.manage | 08 ONVIF 设备 | 刷新 ONVIF Profile PTZ 预置位并落库 | | `POST /api/v2/onvif/native/imaging` | devices.control | 08 ONVIF 设备 | 原生 SOAP 调用完整 ONVIF Imaging 标准操作 | | `POST /api/v2/onvif/native/ptz` | devices.control | 08 ONVIF 设备 | ONVIF PTZ | | `POST /api/v2/onvif/ptz` | devices.control | 08 ONVIF 设备 | 创建 ONVIF PTZ 命令 | | `POST /api/v2/onvif/devices/{deviceId}/events/properties/refresh` | devices.manage | 08 ONVIF 设备 | 刷新 ONVIF 设备事件能力并回填设备画像 | | `POST /api/v2/onvif/devices/{deviceId}/events/pull` | devices.manage | 08 ONVIF 设备 | 拉取 ONVIF PullPoint Event | | `POST /api/v2/onvif/devices/{deviceId}/events/subscriptions` | devices.manage | 08 ONVIF 设备 | 创建或替换 ONVIF PullPoint Event 托管订阅 | | `GET /api/v2/onvif/event-subscriptions` | devices.view | 08 ONVIF 设备 | 查询 ONVIF PullPoint Event 托管订阅 | | `POST /api/v2/onvif/event-subscriptions/{subscriptionId}/cancel` | devices.control | 08 ONVIF 设备 | 取消 ONVIF PullPoint Event 托管订阅 | | `POST /api/v2/onvif/event-subscriptions/process-due` | devices.control | 08 ONVIF 设备 | 处理到期 ONVIF 事件订阅 | | `POST /api/v2/onvif/events/report` | devices.control | 08 ONVIF 设备 | 回填 ONVIF Event XML | | `POST /api/v2/onvif/native/events/create-pull-point-subscription` | devices.control | 08 ONVIF 设备 | ONVIF CreatePullPointSubscription | | `POST /api/v2/onvif/native/events/properties` | devices.control | 08 ONVIF 设备 | ONVIF GetEventProperties | | `POST /api/v2/onvif/native/events/pull-messages` | devices.control | 08 ONVIF 设备 | ONVIF PullMessages | | `POST /api/v2/onvif/native/events/renew` | devices.control | 08 ONVIF 设备 | ONVIF Renew | | `POST /api/v2/onvif/native/events/unsubscribe` | devices.control | 08 ONVIF 设备 | ONVIF Unsubscribe | | `POST /api/v2/onvif/devices/{deviceId}/network/default-gateway/native` | devices.manage | 08 ONVIF 设备 | 原生设置 ONVIF 设备默认网关 | | `POST /api/v2/onvif/devices/{deviceId}/network/dns/native` | devices.manage | 08 ONVIF 设备 | 原生设置 ONVIF 设备 DNS 配置 | | `POST /api/v2/onvif/devices/{deviceId}/network/hostname/native` | devices.manage | 08 ONVIF 设备 | 原生设置 ONVIF 设备主机名 | | `POST /api/v2/onvif/devices/{deviceId}/network/ntp/native` | devices.manage | 08 ONVIF 设备 | 原生设置 ONVIF 设备 NTP 配置 | | `POST /api/v2/onvif/devices/{deviceId}/network/protocols/native` | devices.manage | 08 ONVIF 设备 | 原生设置 ONVIF 设备网络协议端口 | | `POST /api/v2/onvif/dns/results` | devices.control | 08 ONVIF 设备 | 回填 ONVIF GetDNS 配置 | | `POST /api/v2/onvif/hostname/results` | devices.control | 08 ONVIF 设备 | 回填 ONVIF GetHostname 主机名 | | `POST /api/v2/onvif/native/dns` | devices.control | 08 ONVIF 设备 | ONVIF GetDNS | | `POST /api/v2/onvif/native/dns/set` | devices.control | 08 ONVIF 设备 | ONVIF SetDNS | | `POST /api/v2/onvif/native/hostname` | devices.control | 08 ONVIF 设备 | ONVIF GetHostname | | `POST /api/v2/onvif/native/hostname/set` | devices.control | 08 ONVIF 设备 | ONVIF SetHostname | | `POST /api/v2/onvif/native/network-default-gateway` | devices.control | 08 ONVIF 设备 | ONVIF GetNetworkDefaultGateway | | `POST /api/v2/onvif/native/network-default-gateway/set` | devices.control | 08 ONVIF 设备 | ONVIF SetNetworkDefaultGateway | | `POST /api/v2/onvif/native/network-interfaces` | devices.control | 08 ONVIF 设备 | ONVIF GetNetworkInterfaces | | `POST /api/v2/onvif/native/network-protocols` | devices.control | 08 ONVIF 设备 | ONVIF GetNetworkProtocols | | `POST /api/v2/onvif/native/network-protocols/set` | devices.control | 08 ONVIF 设备 | ONVIF SetNetworkProtocols | | `POST /api/v2/onvif/native/ntp` | devices.control | 08 ONVIF 设备 | ONVIF GetNTP | | `POST /api/v2/onvif/native/ntp/set` | devices.control | 08 ONVIF 设备 | ONVIF SetNTP | | `POST /api/v2/onvif/network-default-gateway/results` | devices.control | 08 ONVIF 设备 | 回填 ONVIF GetNetworkDefaultGateway 默认网关 | | `POST /api/v2/onvif/network-interfaces/results` | devices.control | 08 ONVIF 设备 | 回填 ONVIF GetNetworkInterfaces 网络接口 | | `POST /api/v2/onvif/network-protocols/results` | devices.control | 08 ONVIF 设备 | 回填 ONVIF GetNetworkProtocols 网络协议 | | `POST /api/v2/onvif/ntp/results` | devices.control | 08 ONVIF 设备 | 回填 ONVIF GetNTP 配置 | | `POST /api/v2/onvif/devices/{deviceId}/device-io/refresh` | devices.manage | 08 ONVIF 设备 | ONVIF 设备直接刷新继电器输出和数字输入 | | `POST /api/v2/onvif/devices/{deviceId}/relay-outputs/{relayToken}/state` | devices.manage | 08 ONVIF 设备 | 原生设置 ONVIF 继电器输出状态 | | `POST /api/v2/onvif/digital-inputs/results` | devices.control | 08 ONVIF 设备 | 回填 ONVIF GetDigitalInputs 数字输入 | | `POST /api/v2/onvif/native/digital-inputs` | devices.control | 08 ONVIF 设备 | ONVIF GetDigitalInputs | | `POST /api/v2/onvif/native/relay-output-state` | devices.control | 08 ONVIF 设备 | ONVIF SetRelayOutputState | | `POST /api/v2/onvif/native/relay-outputs` | devices.control | 08 ONVIF 设备 | ONVIF GetRelayOutputs | | `POST /api/v2/onvif/relay-outputs/results` | devices.control | 08 ONVIF 设备 | 回填 ONVIF GetRelayOutputs 继电器输出 | | `GET /api/v2/onvif/devices` | devices.view | 08 ONVIF 设备 | 查询 ONVIF 设备列表 | | `POST /api/v2/onvif/devices` | devices.manage | 08 ONVIF 设备 | 保存 ONVIF 设备 | | `POST /api/v2/onvif/devices/{deviceId}/bind-channel` | devices.manage | 08 ONVIF 设备 | 将 ONVIF StreamUri 绑定为统一视频通道 | | `POST /api/v2/onvif/devices/{deviceId}/bind-channels` | devices.manage | 08 ONVIF 设备 | 批量绑定 ONVIF 视频通道 | | `POST /api/v2/onvif/devices/{deviceId}/channels/{channelId}/media/synchronization-point/native` | devices.manage | 08 ONVIF 设备 | 请求 ONVIF Profile 输出同步点/关键帧 | | `POST /api/v2/onvif/devices/{deviceId}/services/refresh` | devices.manage | 08 ONVIF 设备 | ONVIF 设备直接刷新 GetServices | | `POST /api/v2/onvif/devices/{deviceId}/system/reboot/native` | devices.manage | 08 ONVIF 设备 | 操作 ONVIF Device SystemReboot | | `POST /api/v2/onvif/devices/{deviceId}/users/create/native` | devices.manage | 08 ONVIF 设备 | 原生创建 ONVIF 设备用户 | | `POST /api/v2/onvif/devices/{deviceId}/users/delete/native` | devices.manage | 08 ONVIF 设备 | 原生删除 ONVIF 设备用户 | | `POST /api/v2/onvif/devices/{deviceId}/users/set/native` | devices.manage | 08 ONVIF 设备 | 原生修改 ONVIF 设备用户 | | `POST /api/v2/onvif/capabilities/results` | devices.control | 08 ONVIF 设备 | 回填 ONVIF GetCapabilities | | `POST /api/v2/onvif/device-information/results` | devices.control | 08 ONVIF 设备 | 回填 ONVIF DeviceInformation | | `POST /api/v2/onvif/native/capabilities` | devices.control | 08 ONVIF 设备 | ONVIF GetCapabilities | | `POST /api/v2/onvif/native/device-information` | devices.control | 08 ONVIF 设备 | ONVIF GetDeviceInformation | | `POST /api/v2/onvif/native/scopes` | devices.control | 08 ONVIF 设备 | ONVIF GetScopes | | `POST /api/v2/onvif/native/service-capabilities` | devices.control | 08 ONVIF 设备 | ONVIF GetServiceCapabilities | | `POST /api/v2/onvif/native/services` | devices.control | 08 ONVIF 设备 | ONVIF GetServices | | `POST /api/v2/onvif/native/set-synchronization-point` | devices.control | 08 ONVIF 设备 | ONVIF SetSynchronizationPoint | | `POST /api/v2/onvif/native/system-date-time` | devices.control | 08 ONVIF 设备 | ONVIF GetSystemDateAndTime | | `POST /api/v2/onvif/native/system-log` | devices.control | 08 ONVIF 设备 | ONVIF GetSystemLog | | `POST /api/v2/onvif/native/system-reboot` | devices.control | 08 ONVIF 设备 | ONVIF SystemReboot | | `POST /api/v2/onvif/native/users` | devices.control | 08 ONVIF 设备 | ONVIF GetUsers | | `POST /api/v2/onvif/native/users/create` | devices.control | 08 ONVIF 设备 | ONVIF CreateUsers | | `POST /api/v2/onvif/native/users/delete` | devices.control | 08 ONVIF 设备 | ONVIF DeleteUsers | | `POST /api/v2/onvif/native/users/set` | devices.control | 08 ONVIF 设备 | ONVIF SetUser | | `POST /api/v2/onvif/scopes/results` | devices.control | 08 ONVIF 设备 | 回填 ONVIF GetScopes 发现范围 | | `POST /api/v2/onvif/service-capabilities/results` | devices.control | 08 ONVIF 设备 | 回填 ONVIF GetServiceCapabilities 服务能力 | | `POST /api/v2/onvif/services/results` | devices.control | 08 ONVIF 设备 | 回填 ONVIF GetServices 服务列表 | | `GET /api/v2/onvif/state-model` | devices.view | 08 ONVIF 设备 | 获取 ONVIF 能力状态模型 | | `POST /api/v2/onvif/system-date-time/results` | devices.control | 08 ONVIF 设备 | 回填 ONVIF GetSystemDateAndTime 系统时间 | | `POST /api/v2/onvif/system-log/results` | devices.control | 08 ONVIF 设备 | 回填 ONVIF GetSystemLog 系统日志 | | `POST /api/v2/onvif/talk/{sessionId}/stop` | devices.talk | 08 ONVIF 设备 | 停止 ONVIF Audio Backchannel 对讲 | | `POST /api/v2/onvif/talk/start` | devices.talk | 08 ONVIF 设备 | 启动 ONVIF RTSP Audio Backchannel 对讲 | | `POST /api/v2/onvif/users/results` | devices.control | 08 ONVIF 设备 | 回填 ONVIF GetUsers 用户列表 | | `GET /api/v2/rtc/capabilities` | rtc.view | 09 WebRTC SFU | 获取 WebRTC SFU 规划能力 | | `GET /api/v2/rtc/room-state-model` | rtc.view | 09 WebRTC SFU | 获取 RTC 房间状态机说明 | | `POST /api/v2/rtc/rooms/{roomId}/access-tickets` | rtc.manage | 09 WebRTC SFU | 为第三方应用主体签发一次性 RTC 入会票据 | | `POST /api/v2/rtc/rooms/{roomId}/join` | rtc.participate | 09 WebRTC SFU | 兼容入口:使用服务端可信身份加入 RTC 房间 | | `POST /api/v2/rtc/session/rooms/{roomId}/join` | 专用流程/开放入口;需读指南 | 09 WebRTC SFU | 使用第三方应用签发的主体票据加入 RTC 房间 | | `POST /api/v2/rtc/session/rooms/{roomId}/token/refresh` | rtc.participate | 09 WebRTC SFU | 轮换并续签 RTC 设备令牌 | | `GET /api/v2/rtc/rooms` | rtc.view | 09 WebRTC SFU | 查询 RTC 房间列表 | | `POST /api/v2/rtc/rooms` | rtc.manage | 09 WebRTC SFU | 创建 RTC 房间 | | `GET /api/v2/rtc/rooms/{roomId}` | rtc.view | 09 WebRTC SFU | 获取 RTC 房间详情 | | `POST /api/v2/rtc/rooms/{roomId}/announcement` | rtc.manage | 09 WebRTC SFU | 由平台管理员广播 RTC 会议公告 | | `PUT /api/v2/rtc/rooms/{roomId}/capacity` | rtc.manage | 09 WebRTC SFU | 更新既有 RTC 会议容量 | | `POST /api/v2/rtc/rooms/{roomId}/close` | rtc.manage | 09 WebRTC SFU | 关闭 RTC 房间并将成员置为离线 | | `GET /api/v2/rtc/rooms/{roomId}/external-sources/available-channels` | rtc.view | 09 WebRTC SFU | 业务管理员查询可授权给房间的已有通道,不返回源URL | | `GET /api/v2/rtc/rooms/{roomId}/external-sources/grants` | rtc.view | 09 WebRTC SFU | 业务管理员查看房间当前外部源授权 | | `POST /api/v2/rtc/rooms/{roomId}/external-sources/grants` | rtc.manage | 09 WebRTC SFU | 业务管理员按已有ChannelId授权本会议可观看/可录制范围 | | `DELETE /api/v2/rtc/rooms/{roomId}/external-sources/grants/{grantId}` | rtc.manage | 09 WebRTC SFU | 撤销外部源授权并终止本会议的接收和新增录制,不停止原流 | | `POST /api/v2/rtc/rooms/{roomId}/moderation` | rtc.manage | 09 WebRTC SFU | 执行 RTC 房间级批量治理 | | `POST /api/v2/rtc/rooms/{roomId}/publications/{publicationId}/admin-stop` | rtc.manage | 09 WebRTC SFU | 由平台管理员停止指定 RTC Publication | | `GET /api/v2/rtc/session/rooms/{roomId}` | rtc.view | 09 WebRTC SFU | 读取当前参会身份可见的房间策略与成员状态 | | `PUT /api/v2/rtc/session/rooms/{roomId}/access-policy` | rtc.participate | 09 WebRTC SFU | 更新会议访问、等候室与锁定策略 | | `GET /api/v2/rtc/session/rooms/{roomId}/admission/status` | rtc.participate | 09 WebRTC SFU | 查询当前设备的等候室准入状态 | | `POST /api/v2/rtc/session/rooms/{roomId}/close` | rtc.participate | 09 WebRTC SFU | 当前主持人结束整个会议并撤销所有设备会话 | | `GET /api/v2/rtc/session/rooms/{roomId}/connection-settings` | rtc.view | 09 WebRTC SFU | 读取当前会议的客户端 STUN/TURN 连接配置 | | `GET /api/v2/rtc/session/rooms/{roomId}/endpoint-info` | rtc.participate | 09 WebRTC SFU | 读取当前会议在线成员最近 90 秒自报的终端参数 | | `PUT /api/v2/rtc/session/rooms/{roomId}/endpoint-info` | rtc.participate | 09 WebRTC SFU | SDK 上报本机可获得的终端与实际媒体参数,不接受硬件唯一标识 | | `POST /api/v2/rtc/session/rooms/{roomId}/extend` | rtc.participate | 09 WebRTC SFU | 在预约硬截止时间内延长 RTC 会议 | | `GET /api/v2/rtc/session/rooms/{roomId}/external-sources` | rtc.view | 09 WebRTC SFU | 会议成员查看当前外部媒体源,不计作参会人 | | `POST /api/v2/rtc/session/rooms/{roomId}/external-sources` | rtc.participate | 09 WebRTC SFU | 主持人将已授权已有通道加入房间 | | `DELETE /api/v2/rtc/session/rooms/{roomId}/external-sources/{bindingId}` | rtc.participate | 09 WebRTC SFU | 主持人移出本会议外部源,不停止平台原流 | | `GET /api/v2/rtc/session/rooms/{roomId}/external-sources/candidates` | rtc.view | 09 WebRTC SFU | 主持人查看业务方已授权的可接入通道 | | `GET /api/v2/rtc/session/rooms/{roomId}/external-sources/candidates/{grantId}/snapshot` | rtc.view | 09 WebRTC SFU | 主持人按授权通道查看最新截图,不暴露源URL | | `POST /api/v2/rtc/session/rooms/{roomId}/heartbeat` | rtc.participate | 09 WebRTC SFU | 刷新经过设备绑定校验的 RTC 心跳 | | `POST /api/v2/rtc/session/rooms/{roomId}/host/claim` | rtc.participate | 09 WebRTC SFU | 由组织者或平台 RTC 管理员接管无人主持的会议 | | `POST /api/v2/rtc/session/rooms/{roomId}/host/transfer` | rtc.participate | 09 WebRTC SFU | 由当前主持人安全移交主持身份 | | `GET /api/v2/rtc/session/rooms/{roomId}/invitations` | rtc.participate | 09 WebRTC SFU | 查询会议邀请摘要 | | `POST /api/v2/rtc/session/rooms/{roomId}/invitations` | rtc.participate | 09 WebRTC SFU | 为指定外部主体签发一次性会议接入票据 | | `POST /api/v2/rtc/session/rooms/{roomId}/invitations/{invitationId}/revoke` | rtc.participate | 09 WebRTC SFU | 撤销尚未使用的会议邀请 | | `GET /api/v2/rtc/session/rooms/{roomId}/leadership` | rtc.view | 09 WebRTC SFU | 查询会议组织者、当前主持人和联席主持人 | | `POST /api/v2/rtc/session/rooms/{roomId}/leave` | rtc.participate | 09 WebRTC SFU | 使当前 RTC 设备安全离会 | | `GET /api/v2/rtc/session/rooms/{roomId}/publications` | rtc.view | 09 WebRTC SFU | 查询当前房间可订阅的独立 Publication | | `POST /api/v2/rtc/session/rooms/{roomId}/publications` | rtc.participate | 09 WebRTC SFU | 创建当前设备的独立 RTC Publication | | `POST /api/v2/rtc/session/rooms/{roomId}/publications/{publicationId}/rtmp-ticket` | rtc.participate | 09 WebRTC SFU | 为微信小程序签发短时 ZLM RTMP 发布票据 | | `POST /api/v2/rtc/session/rooms/{roomId}/publications/{publicationId}/stop` | rtc.participate | 09 WebRTC SFU | 停止当前设备拥有的独立 Publication | | `POST /api/v2/rtc/session/rooms/{roomId}/publications/{publicationId}/telemetry` | rtc.participate | 09 WebRTC SFU | 上报独立 RTC Publication 的浏览器 getStats 实时遥测 | | `GET /api/v2/rtc/session/rooms/{roomId}/subscriptions` | rtc.view | 09 WebRTC SFU | 查询当前设备的独立订阅 | | `POST /api/v2/rtc/session/rooms/{roomId}/subscriptions` | rtc.participate | 09 WebRTC SFU | 创建当前观看设备到指定 Publication 的独立订阅 | | `PUT /api/v2/rtc/session/rooms/{roomId}/video-quality` | rtc.participate | 09 WebRTC SFU | 主持人为单个或全部成员设置可自动适配的摄像头质量目标 | | `GET /api/v2/rtc/rooms/{roomId}/participants/{participantId}/endpoint` | rtc.view | 09 WebRTC SFU | 生成 RTC 成员 WHIP/WHEP 端点 | | `POST /api/v2/rtc/rooms/{roomId}/participants/{participantId}/heartbeat` | rtc.participate | 09 WebRTC SFU | 刷新 RTC 成员心跳 | | `POST /api/v2/rtc/rooms/{roomId}/participants/{participantId}/leave` | rtc.manage | 09 WebRTC SFU | 成员离开 RTC 房间 | | `POST /api/v2/rtc/rooms/{roomId}/participants/{participantId}/media-state` | rtc.manage | 09 WebRTC SFU | 更新 RTC 成员麦克风、摄像头和连接状态 | | `POST /api/v2/rtc/rooms/{roomId}/participants/{participantId}/moderation` | rtc.manage | 09 WebRTC SFU | 执行 RTC 成员管理动作 | | `GET /api/v2/rtc/session/rooms/{roomId}/participants` | rtc.view | 09 WebRTC SFU | 查询安全 RTC 房间成员列表 | | `POST /api/v2/rtc/session/rooms/{roomId}/participants/{participantId}/admission` | rtc.participate | 09 WebRTC SFU | 主持人准入或拒绝等候室成员 | | `POST /api/v2/rtc/session/rooms/{roomId}/participants/{participantId}/cohost` | rtc.participate | 09 WebRTC SFU | 由当前主持人授予或收回联席主持人身份 | | `POST /api/v2/rtc/session/rooms/{roomId}/participants/{participantId}/moderation` | rtc.participate | 09 WebRTC SFU | 使用可信主持人身份管理 RTC 成员 | | `POST /api/v2/rtc/participants/timeout-scan` | rtc.manage | 09 WebRTC SFU | 手动触发 RTC 成员心跳超时离线治理 | | `GET /api/v2/rtc/recordings` | rtc.recordings.view | 09 WebRTC SFU | 按会议号、名称、录制时间、状态、成员及入会设备会话分页查询录制 | | `PUT /api/v2/rtc/rooms/{roomId}/recording-policy` | rtc.manage | 09 WebRTC SFU | 会议所有者或超级管理员允许/禁用本会议录制 | | `POST /api/v2/rtc/rooms/{roomId}/recording/continuous/{recordingId}/composites/{compositeId}/retry` | rtc.manage | 09 WebRTC SFU | 授权业务API重试失败的会后成员/屏幕兼容副本 | | `POST /api/v2/rtc/rooms/{roomId}/recording/continuous/{recordingId}/full-exports` | rtc.manage | 09 WebRTC SFU | 按需排队生成固定布局、混音和公共事件字幕的整场MP4 | | `POST /api/v2/rtc/rooms/{roomId}/recording/continuous/{recordingId}/full-exports/{exportId}/retry` | rtc.manage | 09 WebRTC SFU | 授权业务API重试失败的整场导出 | | `POST /api/v2/rtc/rooms/{roomId}/recording/continuous/{recordingId}/stop` | rtc.manage | 09 WebRTC SFU | 由授权业务API停止指定持续录制任务 | | `GET /api/v2/rtc/rooms/{roomId}/recording/continuous/current` | rtc.recordings.view | 09 WebRTC SFU | 查询房间当前持续录制任务 | | `GET /api/v2/rtc/rooms/{roomId}/recording/continuous/runs` | rtc.recordings.view | 09 WebRTC SFU | 按会议档案权限列出录制任务 | | `POST /api/v2/rtc/rooms/{roomId}/recording/continuous/start` | rtc.manage | 09 WebRTC SFU | 由授权业务API启动房间持续录制 | | `POST /api/v2/rtc/rooms/{roomId}/recording/start` | rtc.manage | 09 WebRTC SFU | 启动 RTC 房间会议录制 | | `POST /api/v2/rtc/rooms/{roomId}/recording/stop` | rtc.manage | 09 WebRTC SFU | 停止 RTC 房间会议录制 | | `GET /api/v2/rtc/rooms/{roomId}/recording/targets` | rtc.view | 09 WebRTC SFU | 查询 RTC 房间可录制的 WHIP 推流目标 | | `POST /api/v2/rtc/rooms/{roomId}/recordings/access` | rtc.recordings.view | 09 WebRTC SFU | 业务后端签发绑定会议和view/play/download操作的短时SDK档案票据 | | `GET /api/v2/rtc/session/rooms/{roomId}/playback/recordings/{recordingId}/attachments/{attachmentId}/content` | rtc.recordings.view | 09 WebRTC SFU | 按录制档案权限读取本次录制实际引用的公开图片、视频、PDF或文本附件 | | `GET /api/v2/rtc/session/rooms/{roomId}/playback/recordings/{recordingId}/attachments/{attachmentId}/download` | rtc.recordings.download | 09 WebRTC SFU | 凭独立下载权限读取本次录制实际引用的公开附件 | | `GET /api/v2/rtc/session/rooms/{roomId}/playback/recordings/{recordingId}/files/{fileId}/download` | rtc.recordings.download | 09 WebRTC SFU | 下载指定录制任务确实关联的媒体分片 | | `GET /api/v2/rtc/session/rooms/{roomId}/playback/recordings/{recordingId}/files/{fileId}/media` | rtc.recordings.play | 09 WebRTC SFU | 读取指定录制任务确实关联的媒体分片 | | `GET /api/v2/rtc/session/rooms/{roomId}/playback/recordings/{recordingId}/full-exports` | rtc.recordings.view | 09 WebRTC SFU | 按档案授权查看整场导出任务与可下载结果 | | `GET /api/v2/rtc/session/rooms/{roomId}/playback/recordings/{recordingId}/full-exports/{exportId}/download` | rtc.recordings.download | 09 WebRTC SFU | 下载获准范围内的固定布局整场MP4 | | `GET /api/v2/rtc/session/rooms/{roomId}/playback/recordings/{recordingId}/full-exports/{exportId}/media` | rtc.recordings.play | 09 WebRTC SFU | 支持HTTP Range播放获准的整场MP4 | | `GET /api/v2/rtc/session/rooms/{roomId}/playback/recordings/{recordingId}/manifest` | rtc.recordings.view | 09 WebRTC SFU | 按RecordingId查询固定原点的会议录制档案 | | `GET /api/v2/rtc/session/rooms/{roomId}/playback/recordings/{recordingId}/package` | rtc.recordings.download | 09 WebRTC SFU | 按RecordingId打包公共事件、独立原轨与成员/屏幕兼容副本 | | `POST /api/v2/rtc/session/rooms/{roomId}/recording/continuous/{recordingId}/stop` | rtc.participate | 09 WebRTC SFU | 由当前主持人停止指定持续录制任务 | | `GET /api/v2/rtc/session/rooms/{roomId}/recording/continuous/current` | rtc.participate | 09 WebRTC SFU | 已准入成员查询当前持续录制状态,启停仍限主持人 | | `GET /api/v2/rtc/session/rooms/{roomId}/recording/continuous/runs` | rtc.recordings.view | 09 WebRTC SFU | 按房间档案权限列出持续录制任务 | | `POST /api/v2/rtc/session/rooms/{roomId}/recording/continuous/start` | rtc.participate | 09 WebRTC SFU | 由当前主持人启动房间持续录制 | | `POST /api/v2/rtc/session/rooms/{roomId}/recording/start` | rtc.participate | 09 WebRTC SFU | 主持人按独立 Publication 启动会议录制 | | `POST /api/v2/rtc/session/rooms/{roomId}/recording/stop` | rtc.participate | 09 WebRTC SFU | 主持人按独立 Publication 停止会议录制 | | `GET /api/v2/rtc/session/rooms/{roomId}/recording/targets` | rtc.view | 09 WebRTC SFU | 通过可信参会身份查询独立 RTC 录制目标 | | `POST /api/v2/rtc/rooms/{roomId}/participants/{viewerParticipantId}/subscriptions/{publisherParticipantId}/whep` | rtc.participate | 09 WebRTC SFU | WHEP 订阅 RTC 发布流 | | `GET /api/v2/rtc/rooms/{roomId}/subscription-topology` | rtc.view | 09 WebRTC SFU | 查询 RTC WHEP 订阅拓扑 | | `POST /api/v2/rtc/session/rooms/{roomId}/playback-ticket` | rtc.participate | 09 WebRTC SFU | 签发会议内只读 HTTP-FLV 播放票据 | | `GET /api/v2/rtc/session/rooms/{roomId}/playback/files/{fileId}/download` | rtc.recordings.download | 09 WebRTC SFU | 下载会议归档中的单个录像分片 | | `GET /api/v2/rtc/session/rooms/{roomId}/playback/files/{fileId}/media` | rtc.recordings.play | 09 WebRTC SFU | 播放会议归档中的单个录像分片 | | `GET /api/v2/rtc/session/rooms/{roomId}/playback/manifest` | rtc.recordings.view | 09 WebRTC SFU | 获取会议音视频、白板和事件的统一时间轴回放清单 | | `GET /api/v2/rtc/session/rooms/{roomId}/playback/package` | rtc.recordings.download | 09 WebRTC SFU | 流式打包下载整场 RTC 会议归档 | | `POST /api/v2/rtc/session/rooms/{roomId}/subscriptions/{subscriptionId}/stop` | rtc.participate | 09 WebRTC SFU | 停止当前设备拥有的独立 Subscription | | `POST /api/v2/rtc/session/rooms/{roomId}/subscriptions/{subscriptionId}/whep` | rtc.participate | 09 WebRTC SFU | 通过 ZLM WHEP 建立独立 Subscription | | `POST /api/v2/rtc/media-sessions/{sessionId}/release` | rtc.manage | 09 WebRTC SFU | 按媒体会话编号释放流媒体服务 WebRTC 会话 | | `GET /api/v2/rtc/rooms/{roomId}/media-sessions` | rtc.view | 09 WebRTC SFU | 查询 RTC 房间 WHIP/WHEP 媒体会话 | | `POST /api/v2/rtc/rooms/{roomId}/participants/{participantId}/whep` | rtc.participate | 09 WebRTC SFU | 代理流媒体服务WHEP 播放 SDP 协商 | | `POST /api/v2/rtc/rooms/{roomId}/participants/{participantId}/whip` | rtc.participate | 09 WebRTC SFU | 代理流媒体服务WHIP 推流 SDP 协商 | | `POST /api/v2/rtc/session/rooms/{roomId}/publications/{publicationId}/whip` | rtc.participate | 09 WebRTC SFU | 将独立 Publication 通过 WHIP 发布到 ZLM | | `DELETE /api/v2/rtc/webrtc` | rtc.manage | 09 WebRTC SFU | 代理释放流媒体服务 WebRTC 会话 | | `POST /api/v2/rtc/rooms/{roomId}/chat/messages` | rtc.participate | 09 WebRTC SFU | 发送 RTC 房间聊天消息 | | `POST /api/v2/rtc/session/rooms/{roomId}/chat/attachments` | rtc.participate | 09 WebRTC SFU | 上传并广播或私发会议文件、图片和视频,也可作为白板图片素材 | | `GET /api/v2/rtc/session/rooms/{roomId}/chat/attachments/{attachmentId}` | rtc.participate | 09 WebRTC SFU | 在参会身份与私发可见性校验后读取会议附件 | | `POST /api/v2/rtc/rooms/{roomId}/participants/{participantId}/whiteboard-access` | rtc.manage | 09 WebRTC SFU | 由平台管理员授予、拒绝或收回成员白板书写权 | | `POST /api/v2/rtc/rooms/{roomId}/whiteboard/events` | rtc.participate | 09 WebRTC SFU | 提交 RTC 白板同步事件 | | `POST /api/v2/rtc/session/rooms/{roomId}/participants/{participantId}/whiteboard-access` | rtc.participate | 09 WebRTC SFU | 主持人审批或收回成员白板书写权 | | `POST /api/v2/rtc/session/rooms/{roomId}/whiteboard/access-request` | rtc.participate | 09 WebRTC SFU | 申请或取消申请 RTC 白板书写权 | | `POST /api/v2/rtc/session/rooms/{roomId}/whiteboard/lock` | rtc.participate | 09 WebRTC SFU | 主持人锁定或解锁协作白板 | | `POST /api/v2/rtc/rooms/{roomId}/participants/{participantId}/screen-share` | rtc.manage | 09 WebRTC SFU | 设置 RTC 成员投屏状态 | | `POST /api/v2/rtc/rooms/{roomId}/datachannel/events` | rtc.participate | 09 WebRTC SFU | 提交 RTC DataChannel 控制事件 | | `GET /api/v2/rtc/rooms/{roomId}/signaling/connections` | rtc.view | 09 WebRTC SFU | 查询 RTC 房间当前 WebSocket 信令连接 | | `GET /api/v2/rtc/rooms/{roomId}/signaling/ws` | rtc.participate | 09 WebRTC SFU | 兼容入口:建立设备身份绑定的 RTC WebSocket | | `GET /api/v2/rtc/session/rooms/{roomId}/signaling/ws` | rtc.participate | 09 WebRTC SFU | 建立绑定成员和设备身份的 RTC 参会 WebSocket | | `GET /api/v2/rtc/rooms/{roomId}/events` | rtc.view | 09 WebRTC SFU | 按房间、通道和序号增量查询 RTC 事件 | | `GET /api/v2/rtc/rooms/{roomId}/participants/{participantId}/events` | rtc.view | 09 WebRTC SFU | 按成员可见性增量查询 RTC 房间事件 | | `GET /api/v2/rtc/resources` | rtc.view | 09 WebRTC SFU | 查询 RTC 资源树快照 | | `GET /api/v2/protocols/{protocol}/devices/{deviceId}` | devices.view | 10 协议统一视图 | 读取协议设备 | | `GET /api/v2/protocols/{protocol}/devices/{deviceId}/channels` | devices.view | 10 协议统一视图 | 查询协议设备通道 | | `POST /api/v2/protocols/{protocol}/devices/{deviceId}/channels` | devices.manage | 10 协议统一视图 | 保存协议设备通道 | | `POST /api/v2/protocols/{protocol}/devices/{deviceId}/offline` | devices.manage | 10 协议统一视图 | 标记协议设备离线 | | `POST /api/v2/protocols/{protocol}/devices/{deviceId}/online` | devices.manage | 10 协议统一视图 | 标记协议设备在线 | | `GET /api/v2/protocols/acceptance` | devices.view | 10 协议统一视图 | 读取协议验收总览 | | `GET /api/v2/protocols/alarms/events` | devices.view | 10 协议统一视图 | 统一查询 GB28181、ONVIF 等协议告警事件 | | `POST /api/v2/protocols/alarms/events/{alarmEventId}/acknowledge` | devices.control | 10 协议统一视图 | 确认协议告警事件 | | `POST /api/v2/protocols/alarms/events/{alarmEventId}/clear` | devices.control | 10 协议统一视图 | 清除协议告警事件 | | `POST /api/v2/protocols/alarms/events/{alarmEventId}/ignore` | devices.control | 10 协议统一视图 | 忽略协议告警事件 | | `POST /api/v2/protocols/alarms/events/{alarmEventId}/status` | devices.control | 10 协议统一视图 | 按指定状态更新协议告警事件 | | `POST /api/v2/protocols/alarms/events/batch/{action}` | devices.control | 10 协议统一视图 | 批量确认、本地清除或忽略协议告警 | | `GET /api/v2/protocols/alarms/events/stats` | devices.view | 10 协议统一视图 | 统计协议告警事件处置状态 | | `GET /api/v2/protocols/channels/orphan-video-bindings` | devices.view | 10 协议统一视图 | 查询协议通道孤儿视频绑定 | | `POST /api/v2/protocols/channels/orphan-video-bindings/clear` | devices.control | 10 协议统一视图 | 清空协议通道孤儿视频绑定 | | `GET /api/v2/protocols/commands` | devices.view | 10 协议统一视图 | 统一查询 GB28181、ONVIF 等协议命令 | | `GET /api/v2/protocols/commands/{commandId}` | devices.view | 10 协议统一视图 | 读取协议命令详情 | | `GET /api/v2/protocols/commands/{commandId}/detail` | devices.view | 10 协议统一视图 | 读取协议命令详情,并联查关联 node 命令 | | `GET /api/v2/protocols/commands/{commandId}/diagnosis` | devices.view | 10 协议统一视图 | 读取单条协议命令的可解释诊断 | | `GET /api/v2/protocols/commands/diagnostics` | devices.view | 10 协议统一视图 | 诊断协议命令失败和超时分布 | | `GET /api/v2/protocols/commands/stats` | devices.view | 10 协议统一视图 | 统计协议命令运行状态 | | `GET /api/v2/protocols/devices` | devices.view | 10 协议统一视图 | 查询协议设备列表 | | `POST /api/v2/protocols/devices` | devices.manage | 10 协议统一视图 | 保存协议设备 | | `DELETE /api/v2/protocols/devices/{protocol}/{deviceId}` | devices.manage | 10 协议统一视图 | 清除待生成通道的协议设备 | | `POST /api/v2/protocols/devices/{protocol}/{deviceId}/hard-delete` | devices.manage | 10 协议统一视图 | 物理删除未激活协议设备的历史残留 | | `PUT /api/v2/protocols/devices/{protocol}/{deviceId}/name` | devices.manage | 10 协议统一视图 | 修改协议设备的平台展示名称 | | `GET /api/v2/protocols/sessions` | devices.view | 10 协议统一视图 | 统一查询 GB28181、ONVIF 等协议流会话 | | `GET /api/v2/protocols/sessions/{sessionId}` | devices.view | 10 协议统一视图 | 读取协议流会话详情 | | `GET /api/v2/protocols/signals` | devices.view | 10 协议统一视图 | 统一查询 GB28181、ONVIF 等协议信令事件 | | `GET /api/v2/third-party/capabilities` | authenticated | 11 第三方集成 | 验证第三方 API Token 并读取能力分类 | | `GET /api/v2/third-party/channels` | channels.view | 11 第三方集成 | 分页查询第三方视频通道 | | `GET /api/v2/third-party/channels/{channelId}` | channels.view | 11 第三方集成 | 读取第三方视频通道详情 | | `POST /api/v2/third-party/channels/{channelId}/start` | channels.manage | 11 第三方集成 | 启动第三方视频通道拉流 | | `POST /api/v2/third-party/channels/{channelId}/stop` | channels.manage | 11 第三方集成 | 停止并暂停第三方视频通道 | | `GET /api/v2/third-party/media-servers` | nodes.view | 11 第三方集成 | 查询第三方可用媒体节点 | | `GET /api/v2/third-party/streams` | streams.view | 11 第三方集成 | 查询第三方流会话状态 | | `POST /api/v2/third-party/channels/{channelId}/playback` | streams.play | 11 第三方集成 | 签发第三方直播短时播放地址 | | `POST /api/v2/third-party/channels/{channelId}/playback-lease` | streams.play | 11 第三方集成 | 创建 URL 不变的第三方直播播放租约 | | `POST /api/v2/third-party/cut-merge/tasks/{taskId}/download-link` | recordings.download | 11 第三方集成 | 签发裁剪合并结果短时下载地址 | | `POST /api/v2/third-party/cut-merge/tasks/{taskId}/playback-lease` | recordings.play | 11 第三方集成 | 创建 URL 不变的裁剪结果播放租约 | | `POST /api/v2/third-party/cut-merge/tasks/{taskId}/playback-link` | recordings.play | 11 第三方集成 | 签发裁剪合并结果短时播放地址 | | `POST /api/v2/third-party/gb28181/playback-sessions/{sessionId}/playback-lease` | streams.play | 11 第三方集成 | 为 GB28181 回放会话创建播放租约 | | `GET /api/v2/third-party/playback-leases/{leaseId}` | authenticated | 11 第三方集成 | 查询第三方可续租播放会话状态 | | `DELETE /api/v2/third-party/playback-leases/{leaseId}` | authenticated | 11 第三方集成 | 撤销第三方播放会话 | | `POST /api/v2/third-party/playback-leases/{leaseId}/renew` | authenticated | 11 第三方集成 | 续租第三方播放会话且保持 URL 不变 | | `POST /api/v2/third-party/recordings/{fileId}/download-link` | recordings.download | 11 第三方集成 | 签发录像短时下载地址 | | `POST /api/v2/third-party/recordings/{fileId}/playback-lease` | recordings.play | 11 第三方集成 | 创建 URL 不变的录像播放租约 | | `POST /api/v2/third-party/recordings/{fileId}/playback-link` | recordings.play | 11 第三方集成 | 签发录像短时播放地址 | | `GET /api/v2/third-party/recordings` | recordings.view | 11 第三方集成 | 分页查询第三方录像文件 | | `POST /api/v2/third-party/recordings/hard-delete` | recordings.delete | 11 第三方集成 | 第三方批量发起录像硬删除 | | `POST /api/v2/third-party/recordings/restore` | recordings.manage | 11 第三方集成 | 第三方批量恢复软删除录像 | | `POST /api/v2/third-party/recordings/soft-delete` | recordings.delete | 11 第三方集成 | 第三方批量软删除录像 | | `GET /api/v2/third-party/cut-merge/tasks` | recordings.view | 11 第三方集成 | 分页查询第三方裁剪合并任务 | | `POST /api/v2/third-party/cut-merge/tasks` | recordings.manage | 11 第三方集成 | 创建第三方录像裁剪合并任务 | | `GET /api/v2/third-party/cut-merge/tasks/{taskId}` | recordings.view | 11 第三方集成 | 读取第三方裁剪合并任务状态 | | `DELETE /api/v2/third-party/cut-merge/tasks/{taskId}` | recordings.delete | 11 第三方集成 | 删除第三方裁剪合并任务 | | `POST /api/v2/auth/bootstrap` | 专用流程/开放入口;需读指南 | 99 未归类 | 从服务器本机初始化首个超级管理员 | | `GET /api/v2/auth/bootstrap-status` | 专用流程/开放入口;需读指南 | 99 未归类 | 查询是否需要首次初始化管理员 | | `GET /api/v2/auth/captcha/{id}` | 专用流程/开放入口;需读指南 | 99 未归类 | 读取一次性图形验证码图片 | | `POST /api/v2/auth/captcha/{id}/refresh` | 专用流程/开放入口;需读指南 | 99 未归类 | 作废当前验证码并签发新的随机挑战 | | `POST /api/v2/auth/change-password` | authenticated | 99 未归类 | 当前用户修改自己的密码并撤销全部会话 | | `POST /api/v2/auth/login` | 专用流程/开放入口;需读指南 | 99 未归类 | 用户名密码登录 | | `POST /api/v2/auth/logout` | authenticated | 99 未归类 | 退出当前会话并立即撤销服务端会话 | | `GET /api/v2/auth/me` | authenticated | 99 未归类 | 读取当前登录用户、角色和权限点 | | `POST /api/v2/auth/refresh` | 专用流程/开放入口;需读指南 | 99 未归类 | 旋转 Refresh Token 并签发新的短时访问令牌 | | `GET /api/v2/display-wall/programs` | display-wall.view | 99 未归类 | 查询显示墙节目 | | `POST /api/v2/display-wall/programs` | display-wall.manage | 99 未归类 | 创建显示墙节目 | | `GET /api/v2/display-wall/programs/{id}` | display-wall.view | 99 未归类 | 读取一个显示墙节目 | | `PUT /api/v2/display-wall/programs/{id}` | display-wall.manage | 99 未归类 | 保存显示墙节目,并通过修订号防止并发覆盖 | | `DELETE /api/v2/display-wall/programs/{id}` | display-wall.manage | 99 未归类 | 删除未在播出的显示墙节目 | | `GET /api/v2/display-wall/runtime` | display-wall.view | 99 未归类 | 读取显示墙播出控制与轻量通道在线快照 | | `POST /api/v2/display-wall/runtime/start` | display-wall.manage | 99 未归类 | 从第一个场景启动节目轮询,所有已打开大屏按同一服务端时间同步播出 | | `POST /api/v2/display-wall/runtime/stop` | display-wall.manage | 99 未归类 | 停止节目轮询并冻结在当前场景,不清空已经上墙的画面 | | `GET /api/v2/licensing/export/{licenseId}` | authenticated | 99 未归类 | GET /api/v2/licensing/export/{licenseId} | | `POST /api/v2/licensing/import` | system.config.manage | 99 未归类 | POST /api/v2/licensing/import | | `GET /api/v2/licensing/request` | authenticated | 99 未归类 | GET /api/v2/licensing/request | | `GET /api/v2/licensing/status` | authenticated | 99 未归类 | GET /api/v2/licensing/status | | `GET /api/v2/talk/sessions/{sessionId}` | devices.view | 99 未归类 | 查询对讲媒体发送状态 | | `POST /api/v2/talk/sessions/{sessionId}/audio` | devices.talk | 99 未归类 | 向已建立的 GB28181 或 ONVIF 对讲会话写入 G.711 音频 | | `DELETE /api/v2/talk/sessions/{sessionId}/media` | devices.talk | 99 未归类 | 仅释放对讲媒体发送端 | | `POST /api/v2/talk/sessions/{sessionId}/ptt` | devices.talk | 99 未归类 | 设置对讲会话 PTT 发送门控 | | `GET /api/v2/setup/status` | 专用流程/开放入口;需读指南 | 01 系统与健康 | 读取安装状态 | | `GET /api/v2/setup/catalog` | setup-token | 01 系统与健康 | 读取首次配置选项 | | `GET /api/v2/setup/files/roots` | setup-token | 01 系统与健康 | 列出安装目录选择入口 | | `POST /api/v2/setup/files/browse` | setup-token | 01 系统与健康 | 浏览安装目录 | | `POST /api/v2/setup/files/directories` | setup-token | 01 系统与健康 | 创建安装目录 | | `POST /api/v2/setup/files/validate` | setup-token | 01 系统与健康 | 验证安装目录 | | `POST /api/v2/setup/database/test` | setup-token | 01 系统与健康 | 测试安装数据库连接 | | `GET /api/v2/setup/detect/network` | setup-token | 01 系统与健康 | 检查安装网络环境 | | `POST /api/v2/setup/detect/nginx` | setup-token | 01 系统与健康 | 检查 HTTPS 代理环境 | | `POST /api/v2/setup/notifications/test` | setup-token | 01 系统与健康 | 测试通知配置 | | `GET /api/v2/setup/media/build/inspect` | setup-token | 01 系统与健康 | 检查媒体服务准备条件 | | `GET /api/v2/setup/media/build/status` | 专用流程/开放入口;需读指南 | 01 系统与健康 | 读取媒体服务准备状态 | | `POST /api/v2/setup/media/build/start` | setup-token | 01 系统与健康 | 启动媒体服务准备任务 | | `POST /api/v2/setup/preflight` | setup-token | 01 系统与健康 | 预检首次配置 | | `POST /api/v2/setup/complete` | setup-token | 01 系统与健康 | 提交首次配置并查看结果 |