{ "openapi": "3.0.1", "info": { "title": "AKStream.Next public integration API", "version": "1.0.0.171" }, "servers": [ { "url": "" } ], "paths": { "/api/v2/system/background-tasks": { "get": { "tags": [ "01 系统与健康" ], "summary": "查询当前进程后台任务注册结果", "operationId": "GET_api_v2_system_background_tasks", "responses": { "200": {} }, "x-akstream-permission": "system.view", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/info": { "get": { "tags": [ "01 系统与健康" ], "summary": "获取系统基础信息", "operationId": "GET_api_v2_system_info", "responses": { "200": {} }, "x-akstream-permission": "system.view", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/roles": { "get": { "tags": [ "01 系统与健康" ], "summary": "获取当前进程角色", "operationId": "GET_api_v2_system_roles", "responses": { "200": {} }, "x-akstream-permission": "system.view", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/version": { "get": { "tags": [ "01 系统与健康" ], "summary": "获取 版本信息", "operationId": "GET_api_v2_system_version", "responses": { "200": {} }, "x-akstream-permission": "system.view", "x-akstream-module": "01 系统与健康" } }, "/health": { "get": { "tags": [ "01 系统与健康" ], "summary": "获取 健康状态", "operationId": "GET_health", "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AkHealthSnapshot" } } } } }, "x-akstream-permission": "*", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/readiness": { "get": { "tags": [ "01 系统与健康" ], "summary": "执行系统验收检查", "operationId": "GET_api_v2_system_readiness", "parameters": [ { "name": "checkDatabase", "in": "query", "schema": { "type": "boolean" } }, { "name": "checkZlm", "in": "query", "schema": { "type": "boolean" } } ], "responses": { "200": {} }, "x-akstream-permission": "system.view", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/parity-audit": { "get": { "tags": [ "01 系统与健康" ], "summary": "审计旧 AKStream 关键能力在 Next 中的覆盖关系", "operationId": "GET_api_v2_system_parity_audit", "parameters": [ { "name": "clusterId", "in": "query", "schema": { "type": "string" } }, { "name": "checkDatabase", "in": "query", "schema": { "type": "boolean" } }, { "name": "includeDetails", "in": "query", "schema": { "type": "boolean" } }, { "name": "includePassed", "in": "query", "schema": { "type": "boolean" } } ], "responses": { "200": {} }, "x-akstream-permission": "system.view", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/migration-audit": { "get": { "tags": [ "01 系统与健康" ], "summary": "执行 迁移数据体检", "operationId": "GET_api_v2_system_migration_audit", "parameters": [ { "name": "clusterId", "in": "query", "schema": { "type": "string" } }, { "name": "includeSamples", "in": "query", "schema": { "type": "boolean" } }, { "name": "sampleSize", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "includePassed", "in": "query", "schema": { "type": "boolean" } } ], "responses": { "200": {} }, "x-akstream-permission": "system.view", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/migration-audit/removed-protocol-residues/cleanup": { "post": { "tags": [ "01 系统与健康" ], "summary": "清理已移除协议历史残留数据", "operationId": "POST_api_v2_system_migration_audit_removed_protocol_residues_cleanup", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RemovedProtocolResidueCleanupRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "system.config.manage", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/database-schema-audit": { "get": { "tags": [ "01 系统与健康" ], "summary": "GET /api/v2/system/database-schema-audit", "operationId": "GET_api_v2_system_database_schema_audit", "parameters": [ { "name": "includeDdl", "in": "query", "schema": { "type": "boolean" } }, { "name": "maxDdlChars", "in": "query", "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": {} }, "x-akstream-permission": "system.view", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/data-retention/cleanup/preview": { "get": { "tags": [ "01 系统与健康" ], "summary": "预览中间数据保留清理范围", "operationId": "GET_api_v2_system_data_retention_cleanup_preview", "parameters": [ { "name": "actor", "in": "query", "schema": { "type": "string" } }, { "name": "reason", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "system.config.view", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/data-retention/cleanup/run-once": { "post": { "tags": [ "01 系统与健康" ], "summary": "立即执行一轮中间数据保留清理", "operationId": "POST_api_v2_system_data_retention_cleanup_run_once", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DataRetentionCleanupRunRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "system.config.manage", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/api-docs": { "get": { "tags": [ "01 系统与健康" ], "summary": "跳转到受登录保护的 Knife4j API 文档", "operationId": "GET_api_v2_system_api_docs", "responses": { "200": {} }, "x-akstream-permission": "system.view", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/openapi-audit": { "get": { "tags": [ "01 系统与健康" ], "summary": "审计 Swagger/Knife4j 接口文档质量", "operationId": "GET_api_v2_system_openapi_audit", "parameters": [ { "name": "onlyProblems", "in": "query", "schema": { "type": "boolean" } } ], "responses": { "200": {} }, "x-akstream-permission": "system.view", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/source-documentation-audit": { "get": { "tags": [ "01 系统与健康" ], "summary": "审计源码 XML 注释覆盖情况", "operationId": "GET_api_v2_system_source_documentation_audit", "parameters": [ { "name": "onlyProblems", "in": "query", "schema": { "type": "boolean" } }, { "name": "checkParameterAndReturnTags", "in": "query", "schema": { "type": "boolean" } }, { "name": "maxResults", "in": "query", "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": {} }, "x-akstream-permission": "system.view", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/swagger": { "get": { "tags": [ "01 系统与健康" ], "summary": "跳转到受登录保护的 Swagger UI", "operationId": "GET_api_v2_system_swagger", "responses": { "200": {} }, "x-akstream-permission": "system.view", "x-akstream-module": "01 系统与健康" } }, "/api/v2/config/center": { "get": { "tags": [ "01 系统与健康" ], "summary": "读取 配置中心快照", "operationId": "GET_api_v2_config_center", "responses": { "200": {} }, "x-akstream-permission": "system.config.view", "x-akstream-module": "01 系统与健康" }, "put": { "tags": [ "01 系统与健康" ], "summary": "按白名单更新 JSON 配置", "operationId": "PUT_api_v2_config_center", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AkConfigurationPatchRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "system.config.manage", "x-akstream-module": "01 系统与健康" } }, "/api/v2/config/raw": { "get": { "tags": [ "01 系统与健康" ], "summary": "读取受控原始 JSON 配置文件", "operationId": "GET_api_v2_config_raw", "parameters": [ { "name": "fileName", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AkRawConfigurationFile" } } } } }, "x-akstream-permission": "system.config.raw.manage", "x-akstream-module": "01 系统与健康" }, "put": { "tags": [ "01 系统与健康" ], "summary": "确认写入原始 JSON 配置", "operationId": "PUT_api_v2_config_raw", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AkRawConfigurationApplyRequest" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AkRawConfigurationApplyResult" } } } } }, "x-akstream-permission": "system.config.raw.manage", "x-akstream-module": "01 系统与健康" } }, "/api/v2/config/raw/plan": { "post": { "tags": [ "01 系统与健康" ], "summary": "预览原始 JSON 配置差异", "operationId": "POST_api_v2_config_raw_plan", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AkRawConfigurationPlanRequest" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AkRawConfigurationPlan" } } } } }, "x-akstream-permission": "system.config.raw.manage", "x-akstream-module": "01 系统与健康" } }, "/api/v2/config/runtime": { "get": { "tags": [ "01 系统与健康" ], "summary": "读取 .NET Runtime / GC 配置", "operationId": "GET_api_v2_config_runtime", "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AkRuntimeConfigurationFile" } } } } }, "x-akstream-permission": "system.config.view", "x-akstream-module": "01 系统与健康" }, "put": { "tags": [ "01 系统与健康" ], "summary": "确认写入 .NET Runtime / GC 配置", "operationId": "PUT_api_v2_config_runtime", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AkRuntimeConfigurationApplyRequest" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AkRawConfigurationApplyResult" } } } } }, "x-akstream-permission": "system.config.manage", "x-akstream-module": "01 系统与健康" } }, "/api/v2/config/runtime/plan": { "post": { "tags": [ "01 系统与健康" ], "summary": "预览 .NET Runtime / GC 配置差异", "operationId": "POST_api_v2_config_runtime_plan", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AkRuntimeConfigurationPlanRequest" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AkRawConfigurationPlan" } } } } }, "x-akstream-permission": "system.config.manage", "x-akstream-module": "01 系统与健康" } }, "/api/v2/events/outbox": { "get": { "tags": [ "01 系统与健康" ], "summary": "查询 Outbox 事件", "operationId": "GET_api_v2_events_outbox", "parameters": [ { "name": "page", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "pageSize", "in": "query", "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": {} }, "x-akstream-permission": "system.logs.view", "x-akstream-module": "01 系统与健康" } }, "/api/v2/events/runtime/info": { "get": { "tags": [ "01 系统与健康" ], "summary": "查询运行状态 WebSocket 协议说明", "operationId": "GET_api_v2_events_runtime_info", "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RuntimeStateWebSocketInfo" } } } } }, "x-akstream-permission": "authenticated", "x-akstream-module": "01 系统与健康" } }, "/api/v2/events/runtime/ws": { "get": { "tags": [ "01 系统与健康" ], "summary": "建立已认证的运行状态 WebSocket", "operationId": "GET_api_v2_events_runtime_ws", "responses": { "101": {}, "400": {}, "401": {}, "403": {} }, "x-akstream-permission": "authenticated", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/logs/agent/sessions/{id}/events": { "get": { "tags": [ "01 系统与健康" ], "summary": "增量读取日志智能诊断中的模型消息、工具参数、工具结果与最终结论", "operationId": "GET_api_v2_system_logs_agent_sessions_id_events", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "after", "in": "query", "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": {} }, "x-akstream-permission": "system.logs.view", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/config/deploy": { "post": { "tags": [ "01 系统与健康" ], "summary": "部署配置版本", "operationId": "POST_api_v2_system_config_deploy", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SystemConfigDeployRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "system.config.manage", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/config/effective": { "get": { "tags": [ "01 系统与健康" ], "summary": "读取带来源和生效方式的有效配置", "operationId": "GET_api_v2_system_config_effective", "parameters": [ { "name": "scopeType", "in": "query", "schema": { "type": "string" } }, { "name": "scopeId", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "system.config.view", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/config/plan": { "post": { "tags": [ "01 系统与健康" ], "summary": "预览白名单配置差异和最高生效级别", "operationId": "POST_api_v2_system_config_plan", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SystemConfigPlanRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "system.config.manage", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/config/revisions": { "get": { "tags": [ "01 系统与健康" ], "summary": "读取配置版本历史", "operationId": "GET_api_v2_system_config_revisions", "parameters": [ { "name": "scopeType", "in": "query", "schema": { "type": "string" } }, { "name": "scopeId", "in": "query", "schema": { "type": "string" } }, { "name": "limit", "in": "query", "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": {} }, "x-akstream-permission": "system.config.view", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/config/rollback": { "post": { "tags": [ "01 系统与健康" ], "summary": "回滚到历史配置版本", "operationId": "POST_api_v2_system_config_rollback", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SystemConfigRollbackRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "system.config.manage", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/config/scopes": { "get": { "tags": [ "01 系统与健康" ], "summary": "列出配置作用域", "operationId": "GET_api_v2_system_config_scopes", "responses": { "200": {} }, "x-akstream-permission": "system.config.view", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/config/wizard/apply": { "post": { "tags": [ "01 系统与健康" ], "summary": "确认后分组应用向导计划", "operationId": "POST_api_v2_system_config_wizard_apply", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConfigurationWizardApplyRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "system.config.manage", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/config/wizard/assessment": { "get": { "tags": [ "01 系统与健康" ], "summary": "评估目标节点资源、媒体负载、流媒体配置可读性和端口环境", "operationId": "GET_api_v2_system_config_wizard_assessment", "parameters": [ { "name": "nodeId", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "system.config.view", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/config/wizard/catalog": { "get": { "tags": [ "01 系统与健康" ], "summary": "读取 AKStream.Next、流媒体服务与宿主机的完整向导参数目录", "operationId": "GET_api_v2_system_config_wizard_catalog", "parameters": [ { "name": "nodeId", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "system.config.view", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/config/wizard/plan": { "post": { "tags": [ "01 系统与健康" ], "summary": "把选中的向导建议转换为 AKStream、流媒体服务、宿主和外部操作计划", "operationId": "POST_api_v2_system_config_wizard_plan", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConfigurationWizardPlanRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "system.config.manage", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/config/wizard/recommend": { "post": { "tags": [ "01 系统与健康" ], "summary": "按业务峰值、延迟与弱网目标逐项生成配置建议", "operationId": "POST_api_v2_system_config_wizard_recommend", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConfigurationWizardRecommendRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "system.config.manage", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/console/summary": { "get": { "tags": [ "01 系统与健康" ], "summary": "读取系统中枢运行总览", "operationId": "GET_api_v2_system_console_summary", "responses": { "200": {} }, "x-akstream-permission": "system.view", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/filesystem/directories": { "post": { "tags": [ "01 系统与健康" ], "summary": "在当前服务器目录中创建并回读验证一个直接子目录", "operationId": "POST_api_v2_system_filesystem_directories", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SystemDirectoryCreateRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "system.config.manage", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/filesystem/entries": { "get": { "tags": [ "01 系统与健康" ], "summary": "按配置字段语义浏览当前服务所在服务器的目录或文件", "operationId": "GET_api_v2_system_filesystem_entries", "parameters": [ { "name": "fieldPath", "in": "query", "required": true, "schema": { "type": "string" } }, { "name": "path", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "system.config.manage", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/filesystem/roots": { "get": { "tags": [ "01 系统与健康" ], "summary": "列出当前服务所在服务器的文件系统选择入口", "operationId": "GET_api_v2_system_filesystem_roots", "parameters": [ { "name": "fieldPath", "in": "query", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "system.config.manage", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/filesystem/validate": { "post": { "tags": [ "01 系统与健康" ], "summary": "校验手写服务器路径的存在性、类型、读取权限与可执行权限", "operationId": "POST_api_v2_system_filesystem_validate", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SystemPathValidationRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "system.config.manage", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/lifecycle/agents": { "get": { "tags": [ "01 系统与健康" ], "summary": "读取 Node Agent 在线和版本状态", "operationId": "GET_api_v2_system_lifecycle_agents", "responses": { "200": {} }, "x-akstream-permission": "system.lifecycle.view", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/lifecycle/agents/{nodeId}/enrollment": { "post": { "tags": [ "01 系统与健康" ], "summary": "创建一次性 Node Agent 注册码", "operationId": "POST_api_v2_system_lifecycle_agents_nodeId_enrollment", "parameters": [ { "name": "nodeId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateNodeAgentEnrollmentRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "system.lifecycle.manage", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/lifecycle/operations": { "get": { "tags": [ "01 系统与健康" ], "summary": "读取节点生命周期操作", "operationId": "GET_api_v2_system_lifecycle_operations", "parameters": [ { "name": "nodeId", "in": "query", "schema": { "type": "string" } }, { "name": "limit", "in": "query", "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": {} }, "x-akstream-permission": "system.lifecycle.view", "x-akstream-module": "01 系统与健康" }, "post": { "tags": [ "01 系统与健康" ], "summary": "创建受 Agent 执行的节点生命周期操作", "operationId": "POST_api_v2_system_lifecycle_operations", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateNodeLifecycleOperationRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "system.lifecycle.manage", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/logs/agent/sessions": { "post": { "tags": [ "01 系统与健康" ], "summary": "围绕所选日志创建只读、多轮大语言模型智能诊断会话", "operationId": "POST_api_v2_system_logs_agent_sessions", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LogDiagnosticAgentStartRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "system.logs.view", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/logs/agent/sessions/{id}": { "get": { "tags": [ "01 系统与健康" ], "summary": "读取日志智能诊断会话状态", "operationId": "GET_api_v2_system_logs_agent_sessions_id", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "system.logs.view", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/logs/agent/sessions/{id}/cancel": { "post": { "tags": [ "01 系统与健康" ], "summary": "取消日志智能诊断当前轮次,不删除已经采集的会话证据", "operationId": "POST_api_v2_system_logs_agent_sessions_id_cancel", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "system.logs.view", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/logs/agent/sessions/{id}/messages": { "post": { "tags": [ "01 系统与健康" ], "summary": "在已有日志智能诊断上下文中继续追问并允许模型追加只读查询", "operationId": "POST_api_v2_system_logs_agent_sessions_id_messages", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LogDiagnosticAgentMessageRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "system.logs.view", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/logs/analysis/status": { "get": { "tags": [ "01 系统与健康" ], "summary": "读取日志大语言模型分析能力状态,不返回 API Key", "operationId": "GET_api_v2_system_logs_analysis_status", "responses": { "200": {} }, "x-akstream-permission": "system.logs.view", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/logs/analyze": { "post": { "tags": [ "01 系统与健康" ], "summary": "选择服务器环形缓冲中的日志,自动关联原始上下文并进行大语言模型故障分析", "operationId": "POST_api_v2_system_logs_analyze", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LogAnalysisRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "system.logs.view", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/logs/files/{fileId}/download": { "get": { "tags": [ "01 系统与健康" ], "summary": "下载白名单目录内的日志文件", "operationId": "GET_api_v2_system_logs_files_fileId_download", "parameters": [ { "name": "fileId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "system.logs.download", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/logs/query": { "get": { "tags": [ "01 系统与健康" ], "summary": "按来源、级别、关键字和 TraceId 查询系统日志", "operationId": "GET_api_v2_system_logs_query", "parameters": [ { "name": "Source", "in": "query", "required": true, "schema": { "type": "string" } }, { "name": "FileId", "in": "query", "schema": { "type": "string" } }, { "name": "Level", "in": "query", "schema": { "type": "string" } }, { "name": "Keyword", "in": "query", "schema": { "type": "string" } }, { "name": "TraceId", "in": "query", "schema": { "type": "string" } }, { "name": "From", "in": "query", "schema": { "type": "string" } }, { "name": "To", "in": "query", "schema": { "type": "string" } }, { "name": "TailLines", "in": "query", "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": {} }, "x-akstream-permission": "system.logs.view", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/logs/sources": { "get": { "tags": [ "01 系统与健康" ], "summary": "列出系统日志来源、集群节点、媒体服务和安全文件标识", "operationId": "GET_api_v2_system_logs_sources", "responses": { "200": {} }, "x-akstream-permission": "system.logs.view", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/logs/stream": { "get": { "tags": [ "01 系统与健康" ], "summary": "以 NDJSON 长连接实时输出可断线续传的 日志", "operationId": "GET_api_v2_system_logs_stream", "parameters": [ { "name": "after", "in": "query", "schema": { "type": "integer", "format": "int64" } }, { "name": "sessionId", "in": "query", "schema": { "type": "string" } }, { "name": "tail", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "nodeIds", "in": "query", "schema": { "type": "string" } }, { "name": "mediaServerIds", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "system.logs.view", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/notifications/email/test": { "post": { "tags": [ "01 系统与健康" ], "summary": "登录后台后测试系统 SMTP 运维通知配置", "operationId": "POST_api_v2_system_notifications_email_test", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SystemEmailTestRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "system.view", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/runtime/diagnostics": { "get": { "tags": [ "01 系统与健康" ], "summary": "读取当前 运行环境诊断", "operationId": "GET_api_v2_system_runtime_diagnostics", "responses": { "200": {} }, "x-akstream-permission": "system.view", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/runtime/ports": { "get": { "tags": [ "01 系统与健康" ], "summary": "按当前启用模块、实际配置和监听状态生成端口开放清单", "operationId": "GET_api_v2_system_runtime_ports", "responses": { "200": {} }, "x-akstream-permission": "system.view", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/runtime/tuning": { "get": { "tags": [ "01 系统与健康" ], "summary": "读取当前宿主机白名单调优参数与执行能力", "operationId": "GET_api_v2_system_runtime_tuning", "responses": { "200": {} }, "x-akstream-permission": "system.view", "x-akstream-module": "01 系统与健康" }, "put": { "tags": [ "01 系统与健康" ], "summary": "通过 NodeAgent 与固定 root helper 应用并验证 Linux 宿主调优参数", "operationId": "PUT_api_v2_system_runtime_tuning", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HostTuningApplyRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "system.host.manage", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/runtime/tuning/plan": { "post": { "tags": [ "01 系统与健康" ], "summary": "预览 Linux 宿主句柄、IPv6 与 TCP 白名单参数差异", "operationId": "POST_api_v2_system_runtime_tuning_plan", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HostTuningPlanRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "system.host.manage", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/tasks": { "get": { "tags": [ "01 系统与健康" ], "summary": "读取内置后台任务注册和运行状态", "operationId": "GET_api_v2_system_tasks", "responses": { "200": {} }, "x-akstream-permission": "system.tasks.view", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/tasks/{taskName}/run": { "post": { "tags": [ "01 系统与健康" ], "summary": "预览或人工执行受支持的内置任务", "operationId": "POST_api_v2_system_tasks_taskName_run", "parameters": [ { "name": "taskName", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RunSystemTaskRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "system.tasks.execute", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/tls/acme": { "get": { "tags": [ "01 系统与健康" ], "summary": "读取内置 .NET ACME、Let's Encrypt 证书、待验证订单和自动续签状态", "operationId": "GET_api_v2_system_tls_acme", "responses": { "200": {} }, "x-akstream-permission": "system.config.view", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/tls/acme/apply-nginx": { "post": { "tags": [ "01 系统与健康" ], "summary": "将已签发的正式 ACME 证书写入 Nginx 站点配置,校验成功后 Reload,失败自动恢复", "operationId": "POST_api_v2_system_tls_acme_apply_nginx", "responses": { "200": {} }, "x-akstream-permission": "system.config.manage", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/tls/acme/automation": { "put": { "tags": [ "01 系统与健康" ], "summary": "开启或关闭 每 12 小时的自动续签检查及 Nginx 自动 Reload", "operationId": "PUT_api_v2_system_tls_acme_automation", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AcmeAutomationRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "system.config.manage", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/tls/acme/complete": { "post": { "tags": [ "01 系统与健康" ], "summary": "检查已生成的 HTTP/DNS 验证内容,完成 ACME 验证、CSR 和证书下载", "operationId": "POST_api_v2_system_tls_acme_complete", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AcmeCompleteRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "system.config.manage", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/tls/acme/issue": { "post": { "tags": [ "01 系统与健康" ], "summary": "使用 Let's Encrypt 测试或正式环境签发证书,并登记自动续签状态", "operationId": "POST_api_v2_system_tls_acme_issue", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AcmeCertificateRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "system.config.manage", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/tls/acme/preflight": { "post": { "tags": [ "01 系统与健康" ], "summary": "在签发前检查公网域名、HTTP 验证目录或手工 DNS TXT 前置条件", "operationId": "POST_api_v2_system_tls_acme_preflight", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AcmeCertificateRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "system.config.manage", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/tls/acme/prepare": { "post": { "tags": [ "01 系统与健康" ], "summary": "由内置 .NET ACME 客户端创建订单并生成 HTTP 文件或 DNS TXT 验证内容", "operationId": "POST_api_v2_system_tls_acme_prepare", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AcmeCertificateRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "system.config.manage", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/tls/acme/renew": { "post": { "tags": [ "01 系统与健康" ], "summary": "执行指定证书的续签演练或真实续签", "operationId": "POST_api_v2_system_tls_acme_renew", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AcmeRenewRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "system.config.manage", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/tls/deployment": { "get": { "tags": [ "01 系统与健康" ], "summary": "探测 Nginx、Kestrel、域名网络入口与 MediaServer 证书生效状态", "operationId": "GET_api_v2_system_tls_deployment", "responses": { "200": {} }, "x-akstream-permission": "system.config.view", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/tls/nginx/reload": { "post": { "tags": [ "01 系统与健康" ], "summary": "校验成功后审计并重新加载 Nginx", "operationId": "POST_api_v2_system_tls_nginx_reload", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NginxReloadRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "system.config.manage", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/tls/nginx/template": { "post": { "tags": [ "01 系统与健康" ], "summary": "生成不会自动落盘的 Nginx HTTPS/WSS 反向代理模板", "operationId": "POST_api_v2_system_tls_nginx_template", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NginxTemplateRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "system.config.manage", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/tls/nginx/validate": { "post": { "tags": [ "01 系统与健康" ], "summary": "使用已探测的可执行文件和配置路径执行 nginx -t", "operationId": "POST_api_v2_system_tls_nginx_validate", "responses": { "200": {} }, "x-akstream-permission": "system.config.manage", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/upgrades": { "get": { "tags": [ "01 系统与健康" ], "summary": "读取当前实例最近的正式包升级记录和持久化执行状态", "operationId": "GET_api_v2_system_upgrades", "responses": { "200": {} }, "x-akstream-permission": "system.upgrade.view", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/upgrades/{id}": { "get": { "tags": [ "01 系统与健康" ], "summary": "读取一个升级任务", "operationId": "GET_api_v2_system_upgrades_id_guid", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "system.upgrade.view", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/upgrades/{id}/start": { "post": { "tags": [ "01 系统与健康" ], "summary": "二次确认后由本机高权限 NodeAgent 调度脱离主进程的升级事务", "operationId": "POST_api_v2_system_upgrades_id_guid_start", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StartSystemUpgradeRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "system.upgrade.manage", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/upgrades/packages": { "post": { "tags": [ "01 系统与健康" ], "summary": "以流式请求体上传并预检当前平台正式升级包", "operationId": "POST_api_v2_system_upgrades_packages", "responses": { "200": {} }, "x-akstream-permission": "system.upgrade.manage", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/webhooks/catalog": { "get": { "tags": [ "01 系统与健康" ], "summary": "读取第三方 Webhook 可选事件目录", "operationId": "GET_api_v2_system_webhooks_catalog", "responses": { "200": {} }, "x-akstream-permission": "system.view", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/webhooks/deliveries/{id}/retry": { "post": { "tags": [ "01 系统与健康" ], "summary": "重试指定方案的一条失败投递", "operationId": "POST_api_v2_system_webhooks_deliveries_id_guid_retry", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "system.config.manage", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/webhooks/outbox/{id}/retry": { "post": { "tags": [ "01 系统与健康" ], "summary": "人工重试第三方 Webhook", "operationId": "POST_api_v2_system_webhooks_outbox_id_guid_retry", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "system.config.manage", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/webhooks/status": { "get": { "tags": [ "01 系统与健康" ], "summary": "查询第三方 Webhook 状态", "operationId": "GET_api_v2_system_webhooks_status", "responses": { "200": {} }, "x-akstream-permission": "system.view", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/webhooks/subscriptions": { "get": { "tags": [ "01 系统与健康" ], "summary": "列出第三方 Webhook 推送方案", "operationId": "GET_api_v2_system_webhooks_subscriptions", "parameters": [ { "name": "includeArchived", "in": "query", "schema": { "type": "boolean" } } ], "responses": { "200": {} }, "x-akstream-permission": "system.view", "x-akstream-module": "01 系统与健康" }, "post": { "tags": [ "01 系统与健康" ], "summary": "创建一个地址对应的 Webhook 推送方案", "operationId": "POST_api_v2_system_webhooks_subscriptions", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OutboundWebhookSubscriptionRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "system.config.manage", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/webhooks/subscriptions/{id}": { "put": { "tags": [ "01 系统与健康" ], "summary": "修改 Webhook 推送方案", "operationId": "PUT_api_v2_system_webhooks_subscriptions_id_guid", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OutboundWebhookSubscriptionRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "system.config.manage", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/webhooks/subscriptions/{id}/archive": { "post": { "tags": [ "01 系统与健康" ], "summary": "归档 Webhook 推送方案并保留历史", "operationId": "POST_api_v2_system_webhooks_subscriptions_id_guid_archive", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "system.config.manage", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/webhooks/subscriptions/{id}/deliveries": { "get": { "tags": [ "01 系统与健康" ], "summary": "分页读取指定方案的独立投递历史", "operationId": "GET_api_v2_system_webhooks_subscriptions_id_guid_deliveries", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "page", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "pageSize", "in": "query", "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": {} }, "x-akstream-permission": "system.view", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/webhooks/subscriptions/{id}/test": { "post": { "tags": [ "01 系统与健康" ], "summary": "向指定 Webhook 推送方案发送真实测试事件", "operationId": "POST_api_v2_system_webhooks_subscriptions_id_guid_test", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OutboundWebhookTestRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "system.config.manage", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/webhooks/test": { "post": { "tags": [ "01 系统与健康" ], "summary": "发送第三方 Webhook 测试事件", "operationId": "POST_api_v2_system_webhooks_test", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OutboundWebhookTestRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "system.config.manage", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/zlm-configuration/apply": { "post": { "tags": [ "01 系统与健康" ], "summary": "确认完整预览集合后向原目标节点下发配置写入", "operationId": "POST_api_v2_system_zlm_configuration_apply", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ZlmConfigurationApplyRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "system.config.manage", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/zlm-configuration/operations/{id}": { "get": { "tags": [ "01 系统与健康" ], "summary": "读取目标媒体配置任务的真实状态和脱敏回读结果", "operationId": "GET_api_v2_system_zlm_configuration_operations_id_guid", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "nodes.view", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/zlm-configuration/plan": { "post": { "tags": [ "01 系统与健康" ], "summary": "逐节点预览媒体配置差异,不写入文件", "operationId": "POST_api_v2_system_zlm_configuration_plan", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ZlmConfigurationPlanRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "system.config.manage", "x-akstream-module": "01 系统与健康" } }, "/api/v2/system/zlm-configuration/read": { "post": { "tags": [ "01 系统与健康" ], "summary": "按顶部管理上下文读取目标媒体节点的真实配置", "operationId": "POST_api_v2_system_zlm_configuration_read", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ZlmConfigurationContext" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "nodes.view", "x-akstream-module": "01 系统与健康" } }, "/api/v2/logging/level": { "get": { "tags": [ "02 日志与安全" ], "summary": "获取当前日志级别配置", "operationId": "GET_api_v2_logging_level", "responses": { "200": {} }, "x-akstream-permission": "system.logs.view", "x-akstream-module": "02 日志与安全" }, "put": { "tags": [ "02 日志与安全" ], "summary": "设置全局日志级别", "operationId": "PUT_api_v2_logging_level", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GlobalLogLevelRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "system.logs.manage", "x-akstream-module": "02 日志与安全" } }, "/api/v2/logging/overrides": { "post": { "tags": [ "02 日志与安全" ], "summary": "设置模块、节点、设备、流或接口的日志级别覆盖", "operationId": "POST_api_v2_logging_overrides", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LogLevelOverrideRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "system.logs.manage", "x-akstream-module": "02 日志与安全" } }, "/api/v2/logging/overrides/{scope}/{key}": { "delete": { "tags": [ "02 日志与安全" ], "summary": "删除日志级别覆盖规则", "operationId": "DELETE_api_v2_logging_overrides_scope_key", "parameters": [ { "name": "scope", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "key", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "system.logs.manage", "x-akstream-module": "02 日志与安全" } }, "/api/v2/logging/zlm-module-output": { "put": { "tags": [ "02 日志与安全" ], "summary": "设置 内部流媒体服务模块常规日志开关", "operationId": "PUT_api_v2_logging_zlm_module_output", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ZlmModuleOutputLogRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "system.logs.manage", "x-akstream-module": "02 日志与安全" } }, "/api/v2/logging/zlm-process-output": { "put": { "tags": [ "02 日志与安全" ], "summary": "设置流媒体服务子进程输出日志开关", "operationId": "PUT_api_v2_logging_zlm_process_output", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ZlmProcessOutputLogRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "system.logs.manage", "x-akstream-module": "02 日志与安全" } }, "/api/v2/security/api-tokens": { "get": { "tags": [ "02 日志与安全" ], "summary": "查询 API Token 摘要和是否支持再次显示", "operationId": "GET_api_v2_security_api_tokens", "responses": { "200": {} }, "x-akstream-permission": "security.tokens.view", "x-akstream-module": "02 日志与安全" }, "post": { "tags": [ "02 日志与安全" ], "summary": "创建受限 API Token", "operationId": "POST_api_v2_security_api_tokens", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateApiTokenRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "security.tokens.manage", "x-akstream-module": "02 日志与安全" } }, "/api/v2/security/api-tokens/{tokenId}": { "put": { "tags": [ "02 日志与安全" ], "summary": "修改现有 API Token 的名称、权限、IP 白名单和有效期", "operationId": "PUT_api_v2_security_api_tokens_tokenId_guid", "parameters": [ { "name": "tokenId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateApiTokenRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "security.tokens.manage", "x-akstream-module": "02 日志与安全" }, "delete": { "tags": [ "02 日志与安全" ], "summary": "立即吊销 API Token", "operationId": "DELETE_api_v2_security_api_tokens_tokenId_guid", "parameters": [ { "name": "tokenId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "security.tokens.manage", "x-akstream-module": "02 日志与安全" } }, "/api/v2/security/api-tokens/{tokenId}/reveal": { "post": { "tags": [ "02 日志与安全" ], "summary": "显示完整 API Token", "operationId": "POST_api_v2_security_api_tokens_tokenId_guid_reveal", "parameters": [ { "name": "tokenId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "security.tokens.manage", "x-akstream-module": "02 日志与安全" } }, "/api/v2/security/api-tokens/{tokenId}/rotate": { "post": { "tags": [ "02 日志与安全" ], "summary": "轮换 API Token", "operationId": "POST_api_v2_security_api_tokens_tokenId_guid_rotate", "parameters": [ { "name": "tokenId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "security.tokens.manage", "x-akstream-module": "02 日志与安全" } }, "/api/v2/security/audit": { "get": { "tags": [ "02 日志与安全" ], "summary": "分页查询安全审计", "operationId": "GET_api_v2_security_audit", "parameters": [ { "name": "page", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "pageSize", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "eventType", "in": "query", "schema": { "type": "string" } }, { "name": "outcome", "in": "query", "schema": { "type": "string" } }, { "name": "before", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "security.audit.view", "x-akstream-module": "02 日志与安全" } }, "/api/v2/security/permissions": { "get": { "tags": [ "02 日志与安全" ], "summary": "查询全部可用于组合角色的权限点", "operationId": "GET_api_v2_security_permissions", "responses": { "200": {} }, "x-akstream-permission": "authenticated", "x-akstream-module": "02 日志与安全" } }, "/api/v2/security/roles": { "get": { "tags": [ "02 日志与安全" ], "summary": "查询内置和自定义角色及权限点", "operationId": "GET_api_v2_security_roles", "responses": { "200": {} }, "x-akstream-permission": "security.roles.view", "x-akstream-module": "02 日志与安全" }, "post": { "tags": [ "02 日志与安全" ], "summary": "使用权限点创建自定义角色", "operationId": "POST_api_v2_security_roles", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SaveRoleRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "security.roles.manage", "x-akstream-module": "02 日志与安全" } }, "/api/v2/security/roles/{roleId}": { "put": { "tags": [ "02 日志与安全" ], "summary": "修改自定义角色并立即使相关用户旧会话失效", "operationId": "PUT_api_v2_security_roles_roleId_guid", "parameters": [ { "name": "roleId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SaveRoleRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "security.roles.manage", "x-akstream-module": "02 日志与安全" }, "delete": { "tags": [ "02 日志与安全" ], "summary": "删除尚未绑定用户的自定义角色", "operationId": "DELETE_api_v2_security_roles_roleId_guid", "parameters": [ { "name": "roleId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "security.roles.manage", "x-akstream-module": "02 日志与安全" } }, "/api/v2/security/rtsp-auth": { "get": { "tags": [ "02 日志与安全" ], "summary": "查询 RTSP 鉴权凭据", "operationId": "GET_api_v2_security_rtsp_auth", "parameters": [ { "name": "mediaServerId", "in": "query", "schema": { "type": "string" } }, { "name": "username", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "security.rtsp.view", "x-akstream-module": "02 日志与安全" }, "post": { "tags": [ "02 日志与安全" ], "summary": "创建或更新 RTSP 鉴权凭据", "operationId": "POST_api_v2_security_rtsp_auth", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SaveRtspAuthCredentialRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "security.rtsp.manage", "x-akstream-module": "02 日志与安全" }, "delete": { "tags": [ "02 日志与安全" ], "summary": "删除 RTSP 鉴权凭据", "operationId": "DELETE_api_v2_security_rtsp_auth", "parameters": [ { "name": "mediaServerId", "in": "query", "schema": { "type": "string" } }, { "name": "username", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "security.rtsp.manage", "x-akstream-module": "02 日志与安全" } }, "/api/v2/security/rtsp-auth/test": { "post": { "tags": [ "02 日志与安全" ], "summary": "验证指定 RTSP 账号能否构造 Digest 响应", "operationId": "POST_api_v2_security_rtsp_auth_test", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TestRtspAuthCredentialRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "security.rtsp.manage", "x-akstream-module": "02 日志与安全" } }, "/api/v2/security/users": { "get": { "tags": [ "02 日志与安全" ], "summary": "查询管理台用户及角色绑定", "operationId": "GET_api_v2_security_users", "responses": { "200": {} }, "x-akstream-permission": "security.users.view", "x-akstream-module": "02 日志与安全" }, "post": { "tags": [ "02 日志与安全" ], "summary": "POST /api/v2/security/users", "operationId": "POST_api_v2_security_users", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateUserRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "security.users.manage", "x-akstream-module": "02 日志与安全" } }, "/api/v2/security/users/{userId}": { "put": { "tags": [ "02 日志与安全" ], "summary": "修改用户状态及角色绑定,并立即撤销旧会话", "operationId": "PUT_api_v2_security_users_userId_guid", "parameters": [ { "name": "userId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateUserRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "security.users.manage", "x-akstream-module": "02 日志与安全" }, "delete": { "tags": [ "02 日志与安全" ], "summary": "软删除用户、撤销会话及其 API Token", "operationId": "DELETE_api_v2_security_users_userId_guid", "parameters": [ { "name": "userId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "security.users.manage", "x-akstream-module": "02 日志与安全" } }, "/api/v2/security/users/{userId}/password": { "post": { "tags": [ "02 日志与安全" ], "summary": "管理员重置用户密码并撤销全部会话", "operationId": "POST_api_v2_security_users_userId_guid_password", "parameters": [ { "name": "userId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ChangePasswordRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "security.users.manage", "x-akstream-module": "02 日志与安全" } }, "/api/v2/security/users/{userId}/sessions/revoke": { "post": { "tags": [ "02 日志与安全" ], "summary": "撤销指定用户的全部登录会话", "operationId": "POST_api_v2_security_users_userId_guid_sessions_revoke", "parameters": [ { "name": "userId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "security.users.manage", "x-akstream-module": "02 日志与安全" } }, "/api/v2/cluster/monitoring": { "get": { "tags": [ "03 集群与节点" ], "summary": "查询全局监控快照", "operationId": "GET_api_v2_cluster_monitoring", "parameters": [ { "name": "clusterId", "in": "query", "schema": { "type": "string" } }, { "name": "historyMinutes", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "historyNodeId", "in": "query", "schema": { "type": "string" } }, { "name": "historyStart", "in": "query", "schema": { "type": "string" } }, { "name": "historyEnd", "in": "query", "schema": { "type": "string" } }, { "name": "historyBucketSeconds", "in": "query", "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": {} }, "x-akstream-permission": "nodes.view", "x-akstream-module": "03 集群与节点" } }, "/api/v2/cluster/monitoring/current": { "get": { "tags": [ "03 集群与节点" ], "summary": "查询不含历史趋势的当前监控快照", "operationId": "GET_api_v2_cluster_monitoring_current", "parameters": [ { "name": "clusterId", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "nodes.view", "x-akstream-module": "03 集群与节点" } }, "/api/v2/cluster/monitoring/local-runtime": { "get": { "tags": [ "03 集群与节点" ], "summary": "查询当前节点最新的轻量进程资源快照", "operationId": "GET_api_v2_cluster_monitoring_local_runtime", "responses": { "200": {} }, "x-akstream-permission": "nodes.view", "x-akstream-module": "03 集群与节点" } }, "/api/v2/cluster/status": { "get": { "tags": [ "03 集群与节点" ], "summary": "查询集群运行状态", "operationId": "GET_api_v2_cluster_status", "parameters": [ { "name": "clusterId", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "nodes.view", "x-akstream-module": "03 集群与节点" } }, "/api/v2/media-servers": { "get": { "tags": [ "03 集群与节点" ], "summary": "查询流媒体服务节点列表", "operationId": "GET_api_v2_media_servers", "parameters": [ { "name": "clusterId", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/MediaServerNodeView" } } } } } }, "x-akstream-permission": "nodes.view", "x-akstream-module": "03 集群与节点" } }, "/api/v2/media-servers/{mediaServerId}/references": { "get": { "tags": [ "03 集群与节点" ], "summary": "查询流媒体服务节点退役前的业务引用明细", "operationId": "GET_api_v2_media_servers_mediaServerId_references", "parameters": [ { "name": "mediaServerId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "clusterId", "in": "query", "schema": { "type": "string" } }, { "name": "sampleSize", "in": "query", "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": {} }, "x-akstream-permission": "nodes.view", "x-akstream-module": "03 集群与节点" } }, "/api/v2/media-servers/{mediaServerId}/retire": { "post": { "tags": [ "03 集群与节点" ], "summary": "预览或退役流媒体服务节点", "operationId": "POST_api_v2_media_servers_mediaServerId_retire", "parameters": [ { "name": "mediaServerId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "clusterId", "in": "query", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RetireMediaServerRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "nodes.manage", "x-akstream-module": "03 集群与节点" } }, "/api/v2/nodes": { "get": { "tags": [ "03 集群与节点" ], "summary": "查询 节点列表", "operationId": "GET_api_v2_nodes", "parameters": [ { "name": "clusterId", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/AkNodeView" } } } } } }, "x-akstream-permission": "nodes.view", "x-akstream-module": "03 集群与节点" } }, "/api/v2/nodes/self/heartbeat": { "post": { "tags": [ "03 集群与节点" ], "summary": "手动触发当前进程 node 心跳", "operationId": "POST_api_v2_nodes_self_heartbeat", "parameters": [ { "name": "firstPost", "in": "query", "schema": { "type": "boolean" } } ], "responses": { "200": {} }, "x-akstream-permission": "nodes.manage", "x-akstream-module": "03 集群与节点" } }, "/api/v2/node/commands": { "get": { "tags": [ "03 集群与节点" ], "summary": "分页查询当前集群的 node 命令", "operationId": "GET_api_v2_node_commands", "parameters": [ { "name": "page", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "pageSize", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "nodeId", "in": "query", "schema": { "type": "string" } }, { "name": "zlmNodeId", "in": "query", "schema": { "type": "string" } }, { "name": "status", "in": "query", "schema": { "type": "string" } }, { "name": "commandType", "in": "query", "schema": { "type": "string" } }, { "name": "requestedBy", "in": "query", "schema": { "type": "string" } }, { "name": "localOnly", "in": "query", "schema": { "type": "boolean" } }, { "name": "from", "in": "query", "schema": { "type": "string", "format": "date-time" } }, { "name": "to", "in": "query", "schema": { "type": "string", "format": "date-time" } }, { "name": "sinceHours", "in": "query", "schema": { "type": "number", "format": "double" } }, { "name": "keyword", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "nodes.view", "x-akstream-module": "03 集群与节点" } }, "/api/v2/node/commands/{commandId}": { "get": { "tags": [ "03 集群与节点" ], "summary": "读取 node 命令详情", "operationId": "GET_api_v2_node_commands_commandId_guid", "parameters": [ { "name": "commandId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "nodes.view", "x-akstream-module": "03 集群与节点" } }, "/api/v2/node/commands/{commandId}/detail": { "get": { "tags": [ "03 集群与节点" ], "summary": "读取 node 命令详情", "operationId": "GET_api_v2_node_commands_commandId_guid_detail", "parameters": [ { "name": "commandId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "nodes.view", "x-akstream-module": "03 集群与节点" } }, "/api/v2/node/commands/local": { "get": { "tags": [ "03 集群与节点" ], "summary": "查询当前 node 的本机命令", "operationId": "GET_api_v2_node_commands_local", "parameters": [ { "name": "status", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "nodes.view", "x-akstream-module": "03 集群与节点" } }, "/api/v2/node/commands/stats": { "get": { "tags": [ "03 集群与节点" ], "summary": "统计当前集群的 node 命令状态", "operationId": "GET_api_v2_node_commands_stats", "parameters": [ { "name": "nodeId", "in": "query", "schema": { "type": "string" } }, { "name": "zlmNodeId", "in": "query", "schema": { "type": "string" } }, { "name": "status", "in": "query", "schema": { "type": "string" } }, { "name": "commandType", "in": "query", "schema": { "type": "string" } }, { "name": "requestedBy", "in": "query", "schema": { "type": "string" } }, { "name": "localOnly", "in": "query", "schema": { "type": "boolean" } }, { "name": "from", "in": "query", "schema": { "type": "string", "format": "date-time" } }, { "name": "to", "in": "query", "schema": { "type": "string", "format": "date-time" } }, { "name": "sinceHours", "in": "query", "schema": { "type": "number", "format": "double" } }, { "name": "keyword", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "nodes.view", "x-akstream-module": "03 集群与节点" } }, "/api/v2/nodes/{nodeId}/commands": { "post": { "tags": [ "03 集群与节点" ], "summary": "创建 node 命令", "operationId": "POST_api_v2_nodes_nodeId_commands", "parameters": [ { "name": "nodeId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "clusterId", "in": "query", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateNodeCommandRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "nodes.manage", "x-akstream-module": "03 集群与节点" } }, "/api/v2/node/rtp/leases": { "get": { "tags": [ "03 集群与节点" ], "summary": "查询 RTP 端口租约", "operationId": "GET_api_v2_node_rtp_leases", "parameters": [ { "name": "status", "in": "query", "schema": { "type": "string" } }, { "name": "direction", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "nodes.view", "x-akstream-module": "03 集群与节点" }, "post": { "tags": [ "03 集群与节点" ], "summary": "申请 RTP 端口租约", "operationId": "POST_api_v2_node_rtp_leases", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RtpPortLeaseRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "nodes.manage", "x-akstream-module": "03 集群与节点" } }, "/api/v2/node/rtp/leases/{leaseId}/release": { "post": { "tags": [ "03 集群与节点" ], "summary": "释放 RTP 端口租约", "operationId": "POST_api_v2_node_rtp_leases_leaseId_guid_release", "parameters": [ { "name": "leaseId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RtpPortReleaseRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "nodes.manage", "x-akstream-module": "03 集群与节点" } }, "/api/v2/node/rtp/ports/{port}/release": { "post": { "tags": [ "03 集群与节点" ], "summary": "按端口释放 RTP 端口租约", "operationId": "POST_api_v2_node_rtp_ports_port_int_release", "parameters": [ { "name": "port", "in": "path", "required": true, "schema": { "type": "integer", "format": "int32" } }, { "name": "direction", "in": "query", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RtpPortReleaseRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "nodes.manage", "x-akstream-module": "03 集群与节点" } }, "/api/v2/node/ffmpeg-templates": { "get": { "tags": [ "03 集群与节点" ], "summary": "查询 FFmpeg 模板列表", "operationId": "GET_api_v2_node_ffmpeg_templates", "parameters": [ { "name": "mediaServerId", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "nodes.view", "x-akstream-module": "03 集群与节点" }, "post": { "tags": [ "03 集群与节点" ], "summary": "新增 FFmpeg 模板", "operationId": "POST_api_v2_node_ffmpeg_templates", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SaveFfmpegTemplateRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "nodes.manage", "x-akstream-module": "03 集群与节点" } }, "/api/v2/node/ffmpeg-templates/{templateName}": { "put": { "tags": [ "03 集群与节点" ], "summary": "修改 FFmpeg 模板", "operationId": "PUT_api_v2_node_ffmpeg_templates_templateName", "parameters": [ { "name": "templateName", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SaveFfmpegTemplateRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "nodes.manage", "x-akstream-module": "03 集群与节点" }, "delete": { "tags": [ "03 集群与节点" ], "summary": "删除 FFmpeg 模板", "operationId": "DELETE_api_v2_node_ffmpeg_templates_templateName", "parameters": [ { "name": "templateName", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "mediaServerId", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "nodes.manage", "x-akstream-module": "03 集群与节点" } }, "/api/v2/node/zlm/config": { "get": { "tags": [ "03 集群与节点" ], "summary": "读取本机流媒体服务config.ini", "operationId": "GET_api_v2_node_zlm_config", "responses": { "200": {} }, "x-akstream-permission": "nodes.view", "x-akstream-module": "03 集群与节点" } }, "/api/v2/node/zlm/config/apply": { "post": { "tags": [ "03 集群与节点" ], "summary": "应用本机流媒体服务config.ini 写入计划", "operationId": "POST_api_v2_node_zlm_config_apply", "responses": { "200": {} }, "x-akstream-permission": "nodes.manage", "x-akstream-module": "03 集群与节点" } }, "/api/v2/node/zlm/config/plan": { "post": { "tags": [ "03 集群与节点" ], "summary": "生成本机流媒体服务config.ini 写入计划", "operationId": "POST_api_v2_node_zlm_config_plan", "responses": { "200": {} }, "x-akstream-permission": "nodes.manage", "x-akstream-module": "03 集群与节点" } }, "/api/v2/node/zlm/config/raw": { "get": { "tags": [ "03 集群与节点" ], "summary": "读取原始 MediaServer config.ini", "operationId": "GET_api_v2_node_zlm_config_raw", "responses": { "200": {} }, "x-akstream-permission": "system.config.raw.manage", "x-akstream-module": "03 集群与节点" }, "put": { "tags": [ "03 集群与节点" ], "summary": "备份并写入原始 MediaServer config.ini", "operationId": "PUT_api_v2_node_zlm_config_raw", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ZlmRawConfigurationApplyRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "system.config.raw.manage", "x-akstream-module": "03 集群与节点" } }, "/api/v2/node/zlm/config/raw/plan": { "post": { "tags": [ "03 集群与节点" ], "summary": "校验并预览原始 MediaServer config.ini 差异", "operationId": "POST_api_v2_node_zlm_config_raw_plan", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ZlmRawConfigurationPlanRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "system.config.raw.manage", "x-akstream-module": "03 集群与节点" } }, "/api/v2/node/zlm/core-settings": { "get": { "tags": [ "03 集群与节点" ], "summary": "读取流媒体服务核心协议、延迟、端口和 HTTP 页面配置", "operationId": "GET_api_v2_node_zlm_core_settings", "responses": { "200": {} }, "x-akstream-permission": "nodes.view", "x-akstream-module": "03 集群与节点" }, "put": { "tags": [ "03 集群与节点" ], "summary": "校验、备份并写入流媒体服务核心配置", "operationId": "PUT_api_v2_node_zlm_core_settings", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SaveZlmCoreSettingsRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "nodes.manage", "x-akstream-module": "03 集群与节点" } }, "/api/v2/node/zlm/process": { "get": { "tags": [ "03 集群与节点" ], "summary": "获取本机流媒体服务进程状态", "operationId": "GET_api_v2_node_zlm_process", "responses": { "200": {} }, "x-akstream-permission": "nodes.view", "x-akstream-module": "03 集群与节点" } }, "/api/v2/node/zlm/process/reload": { "post": { "tags": [ "03 集群与节点" ], "summary": "向本机流媒体服务进程发送热加载信号", "operationId": "POST_api_v2_node_zlm_process_reload", "responses": { "200": {} }, "x-akstream-permission": "nodes.manage", "x-akstream-module": "03 集群与节点" } }, "/api/v2/node/zlm/process/restart": { "post": { "tags": [ "03 集群与节点" ], "summary": "重启本机流媒体服务进程", "operationId": "POST_api_v2_node_zlm_process_restart", "responses": { "200": {} }, "x-akstream-permission": "nodes.manage", "x-akstream-module": "03 集群与节点" } }, "/api/v2/node/zlm/process/start": { "post": { "tags": [ "03 集群与节点" ], "summary": "启动本机流媒体服务进程", "operationId": "POST_api_v2_node_zlm_process_start", "responses": { "200": {} }, "x-akstream-permission": "nodes.manage", "x-akstream-module": "03 集群与节点" } }, "/api/v2/node/zlm/process/stop": { "post": { "tags": [ "03 集群与节点" ], "summary": "停止本机流媒体服务进程", "operationId": "POST_api_v2_node_zlm_process_stop", "responses": { "200": {} }, "x-akstream-permission": "nodes.manage", "x-akstream-module": "03 集群与节点" } }, "/api/v2/zlm/webhook-inbox": { "get": { "tags": [ "04 MediaServer 适配" ], "summary": "查询流媒体服务 WebHook 收件箱", "operationId": "GET_api_v2_zlm_webhook_inbox", "parameters": [ { "name": "page", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "pageSize", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "hookName", "in": "query", "schema": { "type": "string" } }, { "name": "mediaServerId", "in": "query", "schema": { "type": "string" } }, { "name": "status", "in": "query", "schema": { "type": "string" } }, { "name": "businessStatus", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "system.logs.view", "x-akstream-module": "04 MediaServer 适配" } }, "/api/v2/zlm/nodes": { "get": { "tags": [ "04 MediaServer 适配" ], "summary": "获取已配置的流媒体服务节点", "operationId": "GET_api_v2_zlm_nodes", "responses": { "200": {} }, "x-akstream-permission": "nodes.view", "x-akstream-module": "04 MediaServer 适配" } }, "/api/v2/zlm/nodes/{nodeId}/apis": { "get": { "tags": [ "04 MediaServer 适配" ], "summary": "读取指定流媒体服务节点 API 列表", "operationId": "GET_api_v2_zlm_nodes_nodeId_apis", "parameters": [ { "name": "nodeId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "nodes.view", "x-akstream-module": "04 MediaServer 适配" } }, "/api/v2/zlm/nodes/{nodeId}/capabilities": { "get": { "tags": [ "04 MediaServer 适配" ], "summary": "执行指定流媒体服务节点能力发现", "operationId": "GET_api_v2_zlm_nodes_nodeId_capabilities", "parameters": [ { "name": "nodeId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "nodes.view", "x-akstream-module": "04 MediaServer 适配" } }, "/api/v2/zlm/nodes/{nodeId}/recording-status": { "get": { "tags": [ "04 MediaServer 适配" ], "summary": "查询指定流媒体服务节点上某路流的实际录像状态", "operationId": "GET_api_v2_zlm_nodes_nodeId_recording_status", "parameters": [ { "name": "nodeId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "vhost", "in": "query", "schema": { "type": "string" } }, { "name": "app", "in": "query", "schema": { "type": "string" } }, { "name": "stream", "in": "query", "schema": { "type": "string" } }, { "name": "type", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ZlmRecordingStatusResult" } } } }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Failure" } } } }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Failure" } } } }, "502": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Failure" } } } }, "504": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Failure" } } } } }, "x-akstream-permission": "nodes.view", "x-akstream-module": "04 MediaServer 适配" } }, "/api/v2/zlm/nodes/{nodeId}/version": { "get": { "tags": [ "04 MediaServer 适配" ], "summary": "读取指定流媒体服务节点版本", "operationId": "GET_api_v2_zlm_nodes_nodeId_version", "parameters": [ { "name": "nodeId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "nodes.view", "x-akstream-module": "04 MediaServer 适配" } }, "/api/v2/channels": { "get": { "tags": [ "05 视频通道与流" ], "summary": "查询视频通道列表", "operationId": "GET_api_v2_channels", "parameters": [ { "name": "page", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "pageSize", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "mediaServerId", "in": "query", "schema": { "type": "string" } }, { "name": "nodeId", "in": "query", "schema": { "type": "string" } }, { "name": "protocol", "in": "query", "schema": { "type": "string" } }, { "name": "vhost", "in": "query", "schema": { "type": "string" } }, { "name": "app", "in": "query", "schema": { "type": "string" } }, { "name": "stream", "in": "query", "schema": { "type": "string" } }, { "name": "streamId", "in": "query", "schema": { "type": "string" } }, { "name": "deviceId", "in": "query", "schema": { "type": "string" } }, { "name": "deviceChannelId", "in": "query", "schema": { "type": "string" } }, { "name": "enabled", "in": "query", "schema": { "type": "boolean" } }, { "name": "autoVideo", "in": "query", "schema": { "type": "boolean" } }, { "name": "autoRecord", "in": "query", "schema": { "type": "boolean" } }, { "name": "noPlayerBreak", "in": "query", "schema": { "type": "boolean" } }, { "name": "hasAudio", "in": "query", "schema": { "type": "boolean" } }, { "name": "hasPtz", "in": "query", "schema": { "type": "boolean" } }, { "name": "isShareChannel", "in": "query", "schema": { "type": "boolean" } }, { "name": "desiredState", "in": "query", "schema": { "type": "string" } }, { "name": "actualState", "in": "query", "schema": { "type": "string" } }, { "name": "sourceUrl", "in": "query", "schema": { "type": "string" } }, { "name": "keyword", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "channels.view", "x-akstream-module": "05 视频通道与流" }, "post": { "tags": [ "05 视频通道与流" ], "summary": "创建视频通道", "operationId": "POST_api_v2_channels", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SaveVideoChannelRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "channels.manage", "x-akstream-module": "05 视频通道与流" } }, "/api/v2/channels/{channelId}": { "get": { "tags": [ "05 视频通道与流" ], "summary": "读取视频通道", "operationId": "GET_api_v2_channels_channelId", "parameters": [ { "name": "channelId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "channels.view", "x-akstream-module": "05 视频通道与流" }, "put": { "tags": [ "05 视频通道与流" ], "summary": "更新视频通道", "operationId": "PUT_api_v2_channels_channelId", "parameters": [ { "name": "channelId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SaveVideoChannelRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "channels.manage", "x-akstream-module": "05 视频通道与流" }, "delete": { "tags": [ "05 视频通道与流" ], "summary": "删除视频通道", "operationId": "DELETE_api_v2_channels_channelId", "parameters": [ { "name": "channelId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "channels.manage", "x-akstream-module": "05 视频通道与流" } }, "/api/v2/channels/{channelId}/activate": { "post": { "tags": [ "05 视频通道与流" ], "summary": "激活待接入视频通道", "operationId": "POST_api_v2_channels_channelId_activate", "parameters": [ { "name": "channelId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ActivateVideoChannelRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "channels.manage", "x-akstream-module": "05 视频通道与流" } }, "/api/v2/channels/{channelId}/pause": { "post": { "tags": [ "05 视频通道与流" ], "summary": "人工暂停视频通道自动恢复", "operationId": "POST_api_v2_channels_channelId_pause", "parameters": [ { "name": "channelId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "channels.manage", "x-akstream-module": "05 视频通道与流" } }, "/api/v2/channels/{channelId}/ptz": { "post": { "tags": [ "05 视频通道与流" ], "summary": "控制视频通道 PTZ", "operationId": "POST_api_v2_channels_channelId_ptz", "parameters": [ { "name": "channelId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/VideoChannelPtzRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "05 视频通道与流" } }, "/api/v2/channels/{channelId}/ptz/capabilities": { "get": { "tags": [ "05 视频通道与流" ], "summary": "读取视频通道 PTZ 能力", "operationId": "GET_api_v2_channels_channelId_ptz_capabilities", "parameters": [ { "name": "channelId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "channels.view", "x-akstream-module": "05 视频通道与流" } }, "/api/v2/channels/{channelId}/ptz/capabilities/refresh": { "post": { "tags": [ "05 视频通道与流" ], "summary": "刷新视频通道 PTZ 能力", "operationId": "POST_api_v2_channels_channelId_ptz_capabilities_refresh", "parameters": [ { "name": "channelId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "05 视频通道与流" } }, "/api/v2/channels/{channelId}/ptz/settings": { "get": { "tags": [ "05 视频通道与流" ], "summary": "读取设备 PTZ 能力与人工开关", "operationId": "GET_api_v2_channels_channelId_ptz_settings", "parameters": [ { "name": "channelId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ChannelPtzSettings" } } } }, "404": {} }, "x-akstream-permission": "channels.view", "x-akstream-module": "05 视频通道与流" }, "put": { "tags": [ "05 视频通道与流" ], "summary": "保存 PTZ 使用开关和 GB28181 未上报能力的管理员确认,不修改设备报告字段", "operationId": "PUT_api_v2_channels_channelId_ptz_settings", "parameters": [ { "name": "channelId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SaveChannelPtzSettingsRequest" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ChannelPtzSettings" } } } }, "400": {}, "404": {} }, "x-akstream-permission": "channels.manage", "x-akstream-module": "05 视频通道与流" } }, "/api/v2/channels/{channelId}/retry": { "post": { "tags": [ "05 视频通道与流" ], "summary": "清理自动拉流退避状态并立即重试", "operationId": "POST_api_v2_channels_channelId_retry", "parameters": [ { "name": "channelId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "channels.manage", "x-akstream-module": "05 视频通道与流" } }, "/api/v2/channels/{channelId}/return-to-pending": { "post": { "tags": [ "05 视频通道与流" ], "summary": "将视频通道退回待激活资产池", "operationId": "POST_api_v2_channels_channelId_return_to_pending", "parameters": [ { "name": "channelId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "channels.manage", "x-akstream-module": "05 视频通道与流" } }, "/api/v2/channels/{channelId}/runtime-logs": { "get": { "tags": [ "05 视频通道与流" ], "summary": "查询通道运行审计时间线", "operationId": "GET_api_v2_channels_channelId_runtime_logs", "parameters": [ { "name": "channelId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "Page", "in": "query", "required": true, "schema": { "type": "integer", "format": "int32" } }, { "name": "PageSize", "in": "query", "required": true, "schema": { "type": "integer", "format": "int32" } }, { "name": "SinceHours", "in": "query", "required": true, "schema": { "type": "integer", "format": "int32" } }, { "name": "Level", "in": "query", "schema": { "type": "string" } }, { "name": "Category", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "channels.view", "x-akstream-module": "05 视频通道与流" } }, "/api/v2/channels/{channelId}/snapshots": { "get": { "tags": [ "05 视频通道与流" ], "summary": "查询通道周期截图设置、在线状态及带鉴权的图片预览和下载地址", "operationId": "GET_api_v2_channels_channelId_snapshots", "parameters": [ { "name": "channelId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "streams.play", "x-akstream-module": "05 视频通道与流" } }, "/api/v2/channels/{channelId}/snapshots/{slot}": { "get": { "tags": [ "05 视频通道与流" ], "summary": "预览或下载指定周期截图JPEG", "operationId": "GET_api_v2_channels_channelId_snapshots_slot_int", "parameters": [ { "name": "channelId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "slot", "in": "path", "required": true, "schema": { "type": "integer", "format": "int32" } }, { "name": "v", "in": "query", "schema": { "type": "integer", "format": "int64" } }, { "name": "download", "in": "query", "schema": { "type": "boolean" } } ], "responses": { "200": {} }, "x-akstream-permission": "streams.play", "x-akstream-module": "05 视频通道与流" } }, "/api/v2/channels/{channelId}/snapshots/access": { "post": { "tags": [ "05 视频通道与流" ], "summary": "签发绑定当前通道和view/download动作的短时截图票据", "operationId": "POST_api_v2_channels_channelId_snapshots_access", "parameters": [ { "name": "channelId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ChannelSnapshotAccessRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "streams.play", "x-akstream-module": "05 视频通道与流" } }, "/api/v2/channels/{channelId}/snapshots/settings": { "put": { "tags": [ "05 视频通道与流" ], "summary": "05 视频通道与流:PUT /api/v2/channels/{channelId}/snapshots/settings", "operationId": "PUT_api_v2_channels_channelId_snapshots_settings", "parameters": [ { "name": "channelId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ChannelSnapshotSettings" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "channels.manage", "x-akstream-module": "05 视频通道与流" } }, "/api/v2/channels/{channelId}/start": { "post": { "tags": [ "05 视频通道与流" ], "summary": "启动视频通道拉流", "operationId": "POST_api_v2_channels_channelId_start", "parameters": [ { "name": "channelId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "channels.manage", "x-akstream-module": "05 视频通道与流" } }, "/api/v2/channels/{channelId}/stop": { "post": { "tags": [ "05 视频通道与流" ], "summary": "停流并人工暂停视频通道", "operationId": "POST_api_v2_channels_channelId_stop", "parameters": [ { "name": "channelId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "channels.manage", "x-akstream-module": "05 视频通道与流" } }, "/api/v2/channels/asset-transfer/export": { "get": { "tags": [ "05 视频通道与流" ], "summary": "导出设备、协议通道、统一通道和分组", "operationId": "GET_api_v2_channels_asset_transfer_export", "responses": { "200": {} }, "x-akstream-permission": "channels.view", "x-akstream-module": "05 视频通道与流" } }, "/api/v2/channels/asset-transfer/import": { "post": { "tags": [ "05 视频通道与流" ], "summary": "预览或确认导入接入资产", "operationId": "POST_api_v2_channels_asset_transfer_import", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AssetTransferImportRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "channels.manage", "x-akstream-module": "05 视频通道与流" } }, "/api/v2/channels/groups": { "get": { "tags": [ "05 视频通道与流" ], "summary": "查询视频设备分组", "operationId": "GET_api_v2_channels_groups", "responses": { "200": {} }, "x-akstream-permission": "channels.view", "x-akstream-module": "05 视频通道与流" }, "post": { "tags": [ "05 视频通道与流" ], "summary": "创建视频设备分组", "operationId": "POST_api_v2_channels_groups", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SaveChannelGroupRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "channels.manage", "x-akstream-module": "05 视频通道与流" } }, "/api/v2/channels/groups/{groupKey}": { "put": { "tags": [ "05 视频通道与流" ], "summary": "更新视频设备分组", "operationId": "PUT_api_v2_channels_groups_groupKey", "parameters": [ { "name": "groupKey", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SaveChannelGroupRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "channels.manage", "x-akstream-module": "05 视频通道与流" }, "delete": { "tags": [ "05 视频通道与流" ], "summary": "删除空视频设备分组", "operationId": "DELETE_api_v2_channels_groups_groupKey", "parameters": [ { "name": "groupKey", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "channels.manage", "x-akstream-module": "05 视频通道与流" } }, "/api/v2/channels/pending-activation": { "get": { "tags": [ "05 视频通道与流" ], "summary": "查询待激活视频通道列表", "operationId": "GET_api_v2_channels_pending_activation", "parameters": [ { "name": "page", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "pageSize", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "protocol", "in": "query", "schema": { "type": "string" } }, { "name": "deviceId", "in": "query", "schema": { "type": "string" } }, { "name": "keyword", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "channels.view", "x-akstream-module": "05 视频通道与流" } }, "/api/v2/channels/recording-search/capability": { "get": { "tags": [ "05 视频通道与流" ], "summary": "查询通道图文检索选项是否可编辑", "operationId": "GET_api_v2_channels_recording_search_capability", "responses": { "200": {} }, "x-akstream-permission": "channels.view", "x-akstream-module": "05 视频通道与流" } }, "/api/v2/streams/commands": { "get": { "tags": [ "05 视频通道与流" ], "summary": "查询流生命周期命令", "operationId": "GET_api_v2_streams_commands", "parameters": [ { "name": "mediaServerId", "in": "query", "schema": { "type": "string" } }, { "name": "streamId", "in": "query", "schema": { "type": "string" } }, { "name": "state", "in": "query", "schema": { "type": "string" } }, { "name": "page", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "pageSize", "in": "query", "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": {} }, "x-akstream-permission": "streams.view", "x-akstream-module": "05 视频通道与流" } }, "/api/v2/streams/sessions": { "get": { "tags": [ "05 视频通道与流" ], "summary": "查询流会话状态", "operationId": "GET_api_v2_streams_sessions", "parameters": [ { "name": "mediaServerId", "in": "query", "schema": { "type": "string" } }, { "name": "streamId", "in": "query", "schema": { "type": "string" } }, { "name": "state", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "streams.view", "x-akstream-module": "05 视频通道与流" } }, "/api/v2/streams/smoke-tests/rtsp": { "post": { "tags": [ "05 视频通道与流" ], "summary": "执行 RTSP 拉流烟测", "operationId": "POST_api_v2_streams_smoke_tests_rtsp", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RtspSmokeTestRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "streams.manage", "x-akstream-module": "05 视频通道与流" } }, "/api/v2/streams/smoke-tests/rtsp/batch": { "post": { "tags": [ "05 视频通道与流" ], "summary": "批量执行 RTSP 拉流烟测", "operationId": "POST_api_v2_streams_smoke_tests_rtsp_batch", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RtspSmokeBatchTestRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "streams.manage", "x-akstream-module": "05 视频通道与流" } }, "/api/v2/streams/start-proxy": { "post": { "tags": [ "05 视频通道与流" ], "summary": "创建拉流启动命令", "operationId": "POST_api_v2_streams_start_proxy", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StartStreamCommandRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "streams.manage", "x-akstream-module": "05 视频通道与流" } }, "/api/v2/streams/stop-proxy": { "post": { "tags": [ "05 视频通道与流" ], "summary": "创建拉流停止命令", "operationId": "POST_api_v2_streams_stop_proxy", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StopStreamCommandRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "streams.manage", "x-akstream-module": "05 视频通道与流" } }, "/api/v2/streams/players": { "get": { "tags": [ "05 视频通道与流" ], "summary": "查询流媒体服务播放者会话", "operationId": "GET_api_v2_streams_players", "parameters": [ { "name": "mediaServerId", "in": "query", "schema": { "type": "string" } }, { "name": "app", "in": "query", "schema": { "type": "string" } }, { "name": "streamId", "in": "query", "schema": { "type": "string" } }, { "name": "schema", "in": "query", "schema": { "type": "string" } }, { "name": "state", "in": "query", "schema": { "type": "string" } }, { "name": "active", "in": "query", "schema": { "type": "boolean" } }, { "name": "page", "in": "query", "required": true, "schema": { "type": "integer", "format": "int32" } }, { "name": "pageSize", "in": "query", "required": true, "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": {} }, "x-akstream-permission": "streams.view", "x-akstream-module": "05 视频通道与流" } }, "/api/v2/recording/plans": { "get": { "tags": [ "06 录像与磁盘" ], "summary": "查询录像计划列表", "operationId": "GET_api_v2_recording_plans", "parameters": [ { "name": "name", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "recordings.view", "x-akstream-module": "06 录像与磁盘" }, "post": { "tags": [ "06 录像与磁盘" ], "summary": "创建录像计划", "operationId": "POST_api_v2_recording_plans", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SaveRecordPlanRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "recordings.manage", "x-akstream-module": "06 录像与磁盘" } }, "/api/v2/recording/plans/{planId}": { "get": { "tags": [ "06 录像与磁盘" ], "summary": "读取录像计划", "operationId": "GET_api_v2_recording_plans_planId", "parameters": [ { "name": "planId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "recordings.view", "x-akstream-module": "06 录像与磁盘" }, "put": { "tags": [ "06 录像与磁盘" ], "summary": "更新录像计划", "operationId": "PUT_api_v2_recording_plans_planId", "parameters": [ { "name": "planId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SaveRecordPlanRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "recordings.manage", "x-akstream-module": "06 录像与磁盘" }, "delete": { "tags": [ "06 录像与磁盘" ], "summary": "删除录像计划", "operationId": "DELETE_api_v2_recording_plans_planId", "parameters": [ { "name": "planId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "recordings.delete", "x-akstream-module": "06 录像与磁盘" } }, "/api/v2/recording/plans/{planId}/enabled": { "post": { "tags": [ "06 录像与磁盘" ], "summary": "启用或停用录像计划", "operationId": "POST_api_v2_recording_plans_planId_enabled", "parameters": [ { "name": "planId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "enabled", "in": "query", "required": true, "schema": { "type": "boolean" } } ], "responses": { "200": {} }, "x-akstream-permission": "recordings.manage", "x-akstream-module": "06 录像与磁盘" } }, "/api/v2/recording/plans/{planId}/evaluate": { "get": { "tags": [ "06 录像与磁盘" ], "summary": "判断指定时间是否命中录像计划", "operationId": "GET_api_v2_recording_plans_planId_evaluate", "parameters": [ { "name": "planId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "at", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "recordings.view", "x-akstream-module": "06 录像与磁盘" } }, "/api/v2/recording/plan-template": { "get": { "tags": [ "06 录像与磁盘" ], "summary": "获取录像计划模板示例", "operationId": "GET_api_v2_recording_plan_template", "responses": { "200": {} }, "x-akstream-permission": "recordings.view", "x-akstream-module": "06 录像与磁盘" } }, "/api/v2/recording/sessions": { "get": { "tags": [ "06 录像与磁盘" ], "summary": "分页查询录像会话", "operationId": "GET_api_v2_recording_sessions", "parameters": [ { "name": "page", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "pageSize", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "mediaServerId", "in": "query", "schema": { "type": "string" } }, { "name": "nodeId", "in": "query", "schema": { "type": "string" } }, { "name": "channelId", "in": "query", "schema": { "type": "string" } }, { "name": "app", "in": "query", "schema": { "type": "string" } }, { "name": "streamId", "in": "query", "schema": { "type": "string" } }, { "name": "state", "in": "query", "schema": { "type": "string" } }, { "name": "recordSource", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "recordings.view", "x-akstream-module": "06 录像与磁盘" } }, "/api/v2/recording/start": { "post": { "tags": [ "06 录像与磁盘" ], "summary": "创建开始录像命令", "operationId": "POST_api_v2_recording_start", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StartRecordingRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "recordings.manage", "x-akstream-module": "06 录像与磁盘" } }, "/api/v2/recording/state-model": { "get": { "tags": [ "06 录像与磁盘" ], "summary": "获取录像状态机说明", "operationId": "GET_api_v2_recording_state_model", "responses": { "200": {} }, "x-akstream-permission": "recordings.view", "x-akstream-module": "06 录像与磁盘" } }, "/api/v2/recording/stop": { "post": { "tags": [ "06 录像与磁盘" ], "summary": "创建停止录像命令", "operationId": "POST_api_v2_recording_stop", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StopRecordingRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "recordings.manage", "x-akstream-module": "06 录像与磁盘" } }, "/api/v2/recording/files": { "get": { "tags": [ "06 录像与磁盘" ], "summary": "查询受管录像文件,先校验排序,再在数据库中排序及分页。", "operationId": "GET_api_v2_recording_files", "parameters": [ { "name": "sort", "in": "query", "schema": { "type": "string" } }, { "name": "page", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "pageSize", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "mediaServerId", "in": "query", "schema": { "type": "string" } }, { "name": "nodeId", "in": "query", "schema": { "type": "string" } }, { "name": "channelId", "in": "query", "schema": { "type": "string" } }, { "name": "app", "in": "query", "schema": { "type": "string" } }, { "name": "streamId", "in": "query", "schema": { "type": "string" } }, { "name": "fileState", "in": "query", "schema": { "type": "string" } }, { "name": "recordDate", "in": "query", "schema": { "type": "string" } }, { "name": "sourceHook", "in": "query", "schema": { "type": "string" } }, { "name": "indexSource", "in": "query", "schema": { "type": "string" } }, { "name": "startTime", "in": "query", "schema": { "type": "string", "format": "date-time" } }, { "name": "endTime", "in": "query", "schema": { "type": "string", "format": "date-time" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RecordFilePage" } } } }, "400": {} }, "x-akstream-permission": "recordings.view", "x-akstream-module": "06 录像与磁盘" } }, "/api/v2/recording/files/{fileId}/download": { "get": { "tags": [ "06 录像与磁盘" ], "summary": "下载录像文件", "operationId": "GET_api_v2_recording_files_fileId_guid_download", "parameters": [ { "name": "fileId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "recordings.download", "x-akstream-module": "06 录像与磁盘" } }, "/api/v2/recording/files/{fileId}/media": { "get": { "tags": [ "06 录像与磁盘" ], "summary": "播放录像文件", "operationId": "GET_api_v2_recording_files_fileId_guid_media", "parameters": [ { "name": "fileId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "recordings.play", "x-akstream-module": "06 录像与磁盘" } }, "/api/v2/recording/files/delete": { "post": { "tags": [ "06 录像与磁盘" ], "summary": "发起录像文件硬删除请求", "operationId": "POST_api_v2_recording_files_delete", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeleteRecordFilesRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "recordings.delete", "x-akstream-module": "06 录像与磁盘" } }, "/api/v2/recording/files/restore": { "post": { "tags": [ "06 录像与磁盘" ], "summary": "恢复软删除录像文件", "operationId": "POST_api_v2_recording_files_restore", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RecordFileBatchRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "recordings.manage", "x-akstream-module": "06 录像与磁盘" } }, "/api/v2/recording/files/scan": { "post": { "tags": [ "06 录像与磁盘" ], "summary": "扫描录像目录并补偿录像文件索引", "operationId": "POST_api_v2_recording_files_scan", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RecordFileScanRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "recordings.manage", "x-akstream-module": "06 录像与磁盘" } }, "/api/v2/recording/files/soft-delete": { "post": { "tags": [ "06 录像与磁盘" ], "summary": "软删除录像文件,保留可恢复窗口", "operationId": "POST_api_v2_recording_files_soft_delete", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RecordFileBatchRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "recordings.delete", "x-akstream-module": "06 录像与磁盘" } }, "/api/v2/recording/files/statistics": { "get": { "tags": [ "06 录像与磁盘" ], "summary": "统计通道全部有效录像资产", "operationId": "GET_api_v2_recording_files_statistics", "parameters": [ { "name": "channelId", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "recordings.view", "x-akstream-module": "06 录像与磁盘" } }, "/api/v2/recording/disk-check-template": { "get": { "tags": [ "06 录像与磁盘" ], "summary": "获取磁盘保障检查项", "operationId": "GET_api_v2_recording_disk_check_template", "responses": { "200": {} }, "x-akstream-permission": "recordings.view", "x-akstream-module": "06 录像与磁盘" } }, "/api/v2/recording/disk/browser/directories": { "post": { "tags": [ "06 录像与磁盘" ], "summary": "在当前磁盘位置新建并验证录像目录", "operationId": "POST_api_v2_recording_disk_browser_directories", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RecordRootDirectoryCreateRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "recordings.manage", "x-akstream-module": "06 录像与磁盘" } }, "/api/v2/recording/disk/browser/entries": { "post": { "tags": [ "06 录像与磁盘" ], "summary": "浏览服务器上的录像目录候选项", "operationId": "POST_api_v2_recording_disk_browser_entries", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RecordRootDirectoryBrowseRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "recordings.manage", "x-akstream-module": "06 录像与磁盘" } }, "/api/v2/recording/disk/browser/roots": { "post": { "tags": [ "06 录像与磁盘" ], "summary": "列出录像管理员可选择的服务器目录入口", "operationId": "POST_api_v2_recording_disk_browser_roots", "responses": { "200": {} }, "x-akstream-permission": "recordings.manage", "x-akstream-module": "06 录像与磁盘" } }, "/api/v2/recording/disk/check": { "post": { "tags": [ "06 录像与磁盘" ], "summary": "立即执行一次录像磁盘检查", "operationId": "POST_api_v2_recording_disk_check", "responses": { "200": {} }, "x-akstream-permission": "recordings.manage", "x-akstream-module": "06 录像与磁盘" } }, "/api/v2/recording/disk/fallback-recovery": { "get": { "tags": [ "06 录像与磁盘" ], "summary": "查询当前节点的掉盘录像预检与恢复任务", "operationId": "GET_api_v2_recording_disk_fallback_recovery", "parameters": [ { "name": "limit", "in": "query", "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": {} }, "x-akstream-permission": "recordings.view", "x-akstream-module": "06 录像与磁盘" } }, "/api/v2/recording/disk/fallback-recovery/preview": { "post": { "tags": [ "06 录像与磁盘" ], "summary": "创建掉盘录像预检任务", "operationId": "POST_api_v2_recording_disk_fallback_recovery_preview", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RecordRootFallbackRecoveryRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "recordings.manage", "x-akstream-module": "06 录像与磁盘" } }, "/api/v2/recording/disk/fallback-recovery/run": { "post": { "tags": [ "06 录像与磁盘" ], "summary": "创建掉盘录像正式恢复任务", "operationId": "POST_api_v2_recording_disk_fallback_recovery_run", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RecordRootFallbackRecoveryRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "recordings.manage", "x-akstream-module": "06 录像与磁盘" } }, "/api/v2/recording/disk/guard": { "post": { "tags": [ "06 录像与磁盘" ], "summary": "立即执行一次录像磁盘检查并应用暂停/恢复守护", "operationId": "POST_api_v2_recording_disk_guard", "responses": { "200": {} }, "x-akstream-permission": "recordings.manage", "x-akstream-module": "06 录像与磁盘" } }, "/api/v2/recording/disk/identities": { "get": { "tags": [ "06 录像与磁盘" ], "summary": "查询当前节点已经由管理员验证并绑定的录像硬盘身份", "operationId": "GET_api_v2_recording_disk_identities", "responses": { "200": {} }, "x-akstream-permission": "recordings.view", "x-akstream-module": "06 录像与磁盘" } }, "/api/v2/recording/disk/probe-root": { "post": { "tags": [ "06 录像与磁盘" ], "summary": "只读探测录像根目录所属硬盘及容量信息", "operationId": "POST_api_v2_recording_disk_probe_root", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RecordRootIdentityInspectRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "recordings.manage", "x-akstream-module": "06 录像与磁盘" } }, "/api/v2/recording/disk/roots": { "get": { "tags": [ "06 录像与磁盘" ], "summary": "获取当前配置下的录像根目录", "operationId": "GET_api_v2_recording_disk_roots", "responses": { "200": {} }, "x-akstream-permission": "recordings.view", "x-akstream-module": "06 录像与磁盘" } }, "/api/v2/recording/disk/states": { "get": { "tags": [ "06 录像与磁盘" ], "summary": "查询磁盘卷状态", "operationId": "GET_api_v2_recording_disk_states", "responses": { "200": {} }, "x-akstream-permission": "recordings.view", "x-akstream-module": "06 录像与磁盘" } }, "/api/v2/recording/disk/validate-root": { "post": { "tags": [ "06 录像与磁盘" ], "summary": "验证录像目录并在首次成功时绑定当前硬盘身份", "operationId": "POST_api_v2_recording_disk_validate_root", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RecordRootIdentityBindRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "recordings.manage", "x-akstream-module": "06 录像与磁盘" } }, "/api/v2/recording/cut-merge/backlog": { "get": { "tags": [ "06 录像与磁盘" ], "summary": "查询录像裁剪/合并积压任务", "operationId": "GET_api_v2_recording_cut_merge_backlog", "parameters": [ { "name": "mediaServerId", "in": "query", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "recordings.view", "x-akstream-module": "06 录像与磁盘" } }, "/api/v2/recording/cut-merge/cleanup": { "post": { "tags": [ "06 录像与磁盘" ], "summary": "清理裁剪合并临时目录和按保留策略清理输出文件", "operationId": "POST_api_v2_recording_cut_merge_cleanup", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CutMergeCleanupRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "recordings.manage", "x-akstream-module": "06 录像与磁盘" } }, "/api/v2/recording/cut-merge/tasks": { "get": { "tags": [ "06 录像与磁盘" ], "summary": "查询录像裁剪/合并任务列表", "operationId": "GET_api_v2_recording_cut_merge_tasks", "parameters": [ { "name": "mediaServerId", "in": "query", "schema": { "type": "string" } }, { "name": "taskStatus", "in": "query", "schema": { "type": "string" } }, { "name": "mainId", "in": "query", "schema": { "type": "string" } }, { "name": "app", "in": "query", "schema": { "type": "string" } }, { "name": "page", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "pageSize", "in": "query", "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CutMergeTaskPage" } } } } }, "x-akstream-permission": "recordings.view", "x-akstream-module": "06 录像与磁盘" }, "post": { "tags": [ "06 录像与磁盘" ], "summary": "创建录像裁剪/合并任务", "operationId": "POST_api_v2_recording_cut_merge_tasks", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CutMergeRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "recordings.manage", "x-akstream-module": "06 录像与磁盘" } }, "/api/v2/recording/cut-merge/tasks/{taskId}": { "get": { "tags": [ "06 录像与磁盘" ], "summary": "查询录像裁剪/合并任务状态", "operationId": "GET_api_v2_recording_cut_merge_tasks_taskId", "parameters": [ { "name": "taskId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "mediaServerId", "in": "query", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CutMergeTaskStatusResult" } } } } }, "x-akstream-permission": "recordings.view", "x-akstream-module": "06 录像与磁盘" }, "delete": { "tags": [ "06 录像与磁盘" ], "summary": "真删除录像裁剪/合并任务和输出文件", "operationId": "DELETE_api_v2_recording_cut_merge_tasks_taskId", "parameters": [ { "name": "taskId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "deleteOutputFile", "in": "query", "schema": { "type": "boolean" } } ], "responses": { "200": {} }, "x-akstream-permission": "recordings.delete", "x-akstream-module": "06 录像与磁盘" } }, "/api/v2/recording/cut-merge/tasks/{taskId}/detail": { "get": { "tags": [ "06 录像与磁盘" ], "summary": "查询录像裁剪/合并任务安全详情", "operationId": "GET_api_v2_recording_cut_merge_tasks_taskId_detail", "parameters": [ { "name": "taskId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "mediaServerId", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CutMergeTaskDetail" } } } } }, "x-akstream-permission": "recordings.view", "x-akstream-module": "06 录像与磁盘" } }, "/api/v2/recording/cut-merge/tasks/{taskId}/download": { "get": { "tags": [ "06 录像与磁盘" ], "summary": "下载裁剪合并输出文件", "operationId": "GET_api_v2_recording_cut_merge_tasks_taskId_download", "parameters": [ { "name": "taskId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "recordings.download", "x-akstream-module": "06 录像与磁盘" } }, "/api/v2/recording/cut-merge/tasks/{taskId}/media": { "get": { "tags": [ "06 录像与磁盘" ], "summary": "播放裁剪合并输出文件", "operationId": "GET_api_v2_recording_cut_merge_tasks_taskId_media", "parameters": [ { "name": "taskId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "recordings.play", "x-akstream-module": "06 录像与磁盘" } }, "/api/v2/recording/cut-merge/tasks/{taskId}/status": { "get": { "tags": [ "06 录像与磁盘" ], "summary": "查询录像裁剪/合并任务状态", "operationId": "GET_api_v2_recording_cut_merge_tasks_taskId_status", "parameters": [ { "name": "taskId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "mediaServerId", "in": "query", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CutMergeTaskStatusResult" } } } } }, "x-akstream-permission": "recordings.view", "x-akstream-module": "06 录像与磁盘" } }, "/api/v2/recording/auto-record/evaluate-stream": { "post": { "tags": [ "06 录像与磁盘" ], "summary": "只评估指定流媒体服务流对应的自动录像计划", "operationId": "POST_api_v2_recording_auto_record_evaluate_stream", "parameters": [ { "name": "mediaServerId", "in": "query", "required": true, "schema": { "type": "string" } }, { "name": "vhost", "in": "query", "schema": { "type": "string" } }, { "name": "app", "in": "query", "required": true, "schema": { "type": "string" } }, { "name": "streamId", "in": "query", "required": true, "schema": { "type": "string" } }, { "name": "at", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "recordings.manage", "x-akstream-module": "06 录像与磁盘" } }, "/api/v2/recording/auto-record/run-once": { "post": { "tags": [ "06 录像与磁盘" ], "summary": "立即执行一次自动录像计划调度", "operationId": "POST_api_v2_recording_auto_record_run_once", "parameters": [ { "name": "at", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "recordings.manage", "x-akstream-module": "06 录像与磁盘" } }, "/api/v2/recording/search/capabilities": { "get": { "tags": [ "06 录像与磁盘" ], "summary": "探测当前节点 CPU、CUDA、RKNN、MPS 运行时及模型验收状态", "operationId": "GET_api_v2_recording_search_capabilities", "responses": { "200": {} }, "x-akstream-permission": "system.config.view", "x-akstream-module": "06 录像与磁盘" } }, "/api/v2/recording/search/dependencies": { "get": { "tags": [ "06 录像与磁盘" ], "summary": "06 录像与磁盘:GET /api/v2/recording/search/dependencies", "operationId": "GET_api_v2_recording_search_dependencies", "responses": { "200": {} }, "x-akstream-permission": "recordings.play", "x-akstream-module": "06 录像与磁盘" }, "post": { "tags": [ "06 录像与磁盘" ], "summary": "06 录像与磁盘:POST /api/v2/recording/search/dependencies", "operationId": "POST_api_v2_recording_search_dependencies", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DependencyDownloadRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "recordings.play", "x-akstream-module": "06 录像与磁盘" } }, "/api/v2/recording/search/dependencies/cancel": { "post": { "tags": [ "06 录像与磁盘" ], "summary": "06 录像与磁盘:POST /api/v2/recording/search/dependencies/cancel", "operationId": "POST_api_v2_recording_search_dependencies_cancel", "responses": { "200": {} }, "x-akstream-permission": "recordings.play", "x-akstream-module": "06 录像与磁盘" } }, "/api/v2/recording/search/hardware": { "get": { "tags": [ "06 录像与磁盘" ], "summary": "读取当前节点 SoC、NPU 核心数与 FFmpeg 硬件加速能力", "operationId": "GET_api_v2_recording_search_hardware", "responses": { "200": {} }, "x-akstream-permission": "system.config.view", "x-akstream-module": "06 录像与磁盘" } }, "/api/v2/recording/search/image": { "post": { "tags": [ "06 录像与磁盘" ], "summary": "以图片检索已勾选通道的录像片段", "operationId": "POST_api_v2_recording_search_image", "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RecordingSearchResponse" } } } } }, "x-akstream-permission": "recordings.play", "x-akstream-module": "06 录像与磁盘" } }, "/api/v2/recording/search/index-jobs": { "post": { "tags": [ "06 录像与磁盘" ], "summary": "管理员在临时启用文件补救后,按录像 ID 手工提交有界补建任务", "operationId": "POST_api_v2_recording_search_index_jobs", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RecordingFileRecoveryRequest" } } }, "required": true }, "responses": { "202": {} }, "x-akstream-permission": "recordings.manage", "x-akstream-module": "06 录像与磁盘" } }, "/api/v2/recording/search/prepare": { "post": { "tags": [ "06 录像与磁盘" ], "summary": "在后台加载、编译缓存并预热当前所选图文模型", "operationId": "POST_api_v2_recording_search_prepare", "responses": { "200": {} }, "x-akstream-permission": "recordings.play", "x-akstream-module": "06 录像与磁盘" } }, "/api/v2/recording/search/status": { "get": { "tags": [ "06 录像与磁盘" ], "summary": "查询录像图文检索的授权、通道范围、直播采样和文件补救运行态", "operationId": "GET_api_v2_recording_search_status", "responses": { "200": {} }, "x-akstream-permission": "recordings.play", "x-akstream-module": "06 录像与磁盘" } }, "/api/v2/recording/search/text": { "post": { "tags": [ "06 录像与磁盘" ], "summary": "以中文文字检索已勾选通道的录像片段", "operationId": "POST_api_v2_recording_search_text", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RecordingSearchQueryRequest" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RecordingSearchResponse" } } } } }, "x-akstream-permission": "recordings.play", "x-akstream-module": "06 录像与磁盘" } }, "/api/v2/gb28181/alarms/events": { "get": { "tags": [ "07 GB28181 国标" ], "summary": "查询 GB28181 告警事件", "operationId": "GET_api_v2_gb28181_alarms_events", "parameters": [ { "name": "deviceId", "in": "query", "schema": { "type": "string" } }, { "name": "channelId", "in": "query", "schema": { "type": "string" } }, { "name": "alarmPriority", "in": "query", "schema": { "type": "string" } }, { "name": "alarmMethod", "in": "query", "schema": { "type": "string" } }, { "name": "alarmType", "in": "query", "schema": { "type": "string" } }, { "name": "ackStatus", "in": "query", "schema": { "type": "string" } }, { "name": "begin", "in": "query", "schema": { "type": "string", "format": "date-time" } }, { "name": "end", "in": "query", "schema": { "type": "string", "format": "date-time" } }, { "name": "page", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "pageSize", "in": "query", "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": {} }, "x-akstream-permission": "devices.view", "x-akstream-module": "07 GB28181 国标" } }, "/api/v2/gb28181/alarms/query": { "post": { "tags": [ "07 GB28181 国标" ], "summary": "创建 GB28181 告警查询命令", "operationId": "POST_api_v2_gb28181_alarms_query", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Gb28181AlarmQueryRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "07 GB28181 国标" } }, "/api/v2/gb28181/alarms/report": { "post": { "tags": [ "07 GB28181 国标" ], "summary": "协议网关回写 GB28181 告警事件", "operationId": "POST_api_v2_gb28181_alarms_report", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Gb28181AlarmReportRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "07 GB28181 国标" } }, "/api/v2/gb28181/alarms/reset": { "post": { "tags": [ "07 GB28181 国标" ], "summary": "创建 GB28181 报警复位控制命令", "operationId": "POST_api_v2_gb28181_alarms_reset", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Gb28181AlarmResetRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "07 GB28181 国标" } }, "/api/v2/gb28181/broadcast": { "post": { "tags": [ "07 GB28181 国标" ], "summary": "创建 GB28181 语音广播命令", "operationId": "POST_api_v2_gb28181_broadcast", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Gb28181BroadcastRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "07 GB28181 国标" } }, "/api/v2/gb28181/catalog/items": { "post": { "tags": [ "07 GB28181 国标" ], "summary": "GB28181 目录通道上报", "operationId": "POST_api_v2_gb28181_catalog_items", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Gb28181CatalogItemRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "07 GB28181 国标" } }, "/api/v2/gb28181/catalog/query": { "post": { "tags": [ "07 GB28181 国标" ], "summary": "创建 GB28181 主动目录查询命令", "operationId": "POST_api_v2_gb28181_catalog_query", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Gb28181CatalogQueryRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "07 GB28181 国标" } }, "/api/v2/gb28181/catalog/query/{taskId}": { "get": { "tags": [ "07 GB28181 国标" ], "summary": "查询 GB28181 主动目录查询任务状态", "operationId": "GET_api_v2_gb28181_catalog_query_taskId_int", "parameters": [ { "name": "taskId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int32" } }, { "name": "pageSize", "in": "query", "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": {} }, "x-akstream-permission": "devices.view", "x-akstream-module": "07 GB28181 国标" } }, "/api/v2/gb28181/commands": { "get": { "tags": [ "07 GB28181 国标" ], "summary": "查询 GB28181 协议命令", "operationId": "GET_api_v2_gb28181_commands", "parameters": [ { "name": "status", "in": "query", "schema": { "type": "string" } }, { "name": "commandType", "in": "query", "schema": { "type": "string" } }, { "name": "page", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "pageSize", "in": "query", "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": {} }, "x-akstream-permission": "devices.view", "x-akstream-module": "07 GB28181 国标" } }, "/api/v2/gb28181/device-config/query": { "post": { "tags": [ "07 GB28181 国标" ], "summary": "创建 GB28181 设备配置查询命令", "operationId": "POST_api_v2_gb28181_device_config_query", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Gb28181DeviceConfigQueryRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "07 GB28181 国标" } }, "/api/v2/gb28181/device-config/set": { "post": { "tags": [ "07 GB28181 国标" ], "summary": "创建 GB28181 设备配置设置命令", "operationId": "POST_api_v2_gb28181_device_config_set", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Gb28181DeviceConfigSetRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "07 GB28181 国标" } }, "/api/v2/gb28181/device-info/query": { "post": { "tags": [ "07 GB28181 国标" ], "summary": "创建 GB28181 设备信息查询命令", "operationId": "POST_api_v2_gb28181_device_info_query", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Gb28181DeviceInfoQueryRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "07 GB28181 国标" } }, "/api/v2/gb28181/device-status/query": { "post": { "tags": [ "07 GB28181 国标" ], "summary": "创建 GB28181 设备状态查询命令", "operationId": "POST_api_v2_gb28181_device_status_query", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Gb28181DeviceStatusQueryRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "07 GB28181 国标" } }, "/api/v2/gb28181/devices/{deviceId}/unregister": { "post": { "tags": [ "07 GB28181 国标" ], "summary": "GB28181 设备注销上报", "operationId": "POST_api_v2_gb28181_devices_deviceId_unregister", "parameters": [ { "name": "deviceId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "devices.manage", "x-akstream-module": "07 GB28181 国标" } }, "/api/v2/gb28181/devices/keepalive": { "post": { "tags": [ "07 GB28181 国标" ], "summary": "GB28181 设备心跳上报", "operationId": "POST_api_v2_gb28181_devices_keepalive", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Gb28181KeepaliveRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.manage", "x-akstream-module": "07 GB28181 国标" } }, "/api/v2/gb28181/devices/register": { "post": { "tags": [ "07 GB28181 国标" ], "summary": "GB28181 设备注册上报", "operationId": "POST_api_v2_gb28181_devices_register", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Gb28181RegisterRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.manage", "x-akstream-module": "07 GB28181 国标" } }, "/api/v2/gb28181/devices/timeout-scan": { "post": { "tags": [ "07 GB28181 国标" ], "summary": "手工触发 GB28181 Server 下级设备心跳超时扫描", "operationId": "POST_api_v2_gb28181_devices_timeout_scan", "responses": { "200": {} }, "x-akstream-permission": "devices.manage", "x-akstream-module": "07 GB28181 国标" } }, "/api/v2/gb28181/live/{deviceId}/{channelId}": { "get": { "tags": [ "07 GB28181 国标" ], "summary": "查询 GB28181 实时流会话", "operationId": "GET_api_v2_gb28181_live_deviceId_channelId", "parameters": [ { "name": "deviceId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "channelId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "devices.view", "x-akstream-module": "07 GB28181 国标" } }, "/api/v2/gb28181/live/invite": { "post": { "tags": [ "07 GB28181 国标" ], "summary": "请求 GB28181 实时流", "operationId": "POST_api_v2_gb28181_live_invite", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Gb28181InviteLiveRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "07 GB28181 国标" } }, "/api/v2/gb28181/live/stop": { "post": { "tags": [ "07 GB28181 国标" ], "summary": "停止 GB28181 实时流", "operationId": "POST_api_v2_gb28181_live_stop", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Gb28181StopLiveRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "07 GB28181 国标" } }, "/api/v2/gb28181/media-status/report": { "post": { "tags": [ "07 GB28181 国标" ], "summary": "处理 GB28181 MediaStatus 历史媒体结束通知", "operationId": "POST_api_v2_gb28181_media_status_report", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Gb28181MediaStatusReportRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "07 GB28181 国标" } }, "/api/v2/gb28181/mobile-position/events": { "get": { "tags": [ "07 GB28181 国标" ], "summary": "跨天查询 GB28181 GPS 历史轨迹", "operationId": "GET_api_v2_gb28181_mobile_position_events", "parameters": [ { "name": "DeviceId", "in": "query", "schema": { "type": "string" } }, { "name": "DeviceChannelId", "in": "query", "schema": { "type": "string" } }, { "name": "VideoChannelId", "in": "query", "schema": { "type": "string" } }, { "name": "Begin", "in": "query", "required": true, "schema": { "type": "string" } }, { "name": "End", "in": "query", "required": true, "schema": { "type": "string" } }, { "name": "MinLongitude", "in": "query", "schema": { "type": "number", "format": "double" } }, { "name": "MaxLongitude", "in": "query", "schema": { "type": "number", "format": "double" } }, { "name": "MinLatitude", "in": "query", "schema": { "type": "number", "format": "double" } }, { "name": "MaxLatitude", "in": "query", "schema": { "type": "number", "format": "double" } }, { "name": "Page", "in": "query", "required": true, "schema": { "type": "integer", "format": "int32" } }, { "name": "PageSize", "in": "query", "required": true, "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GpsTrackPage" } } } } }, "x-akstream-permission": "devices.view", "x-akstream-module": "07 GB28181 国标" } }, "/api/v2/gb28181/mobile-position/events/{id}": { "delete": { "tags": [ "07 GB28181 国标" ], "summary": "逻辑删除一条 GB28181 GPS 轨迹", "operationId": "DELETE_api_v2_gb28181_mobile_position_events_id_guid", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "positionTime", "in": "query", "schema": { "type": "string" } }, { "name": "reason", "in": "query", "required": true, "schema": { "type": "string" } } ], "responses": { "204": {}, "404": {} }, "x-akstream-permission": "devices.manage", "x-akstream-module": "07 GB28181 国标" } }, "/api/v2/gb28181/mobile-position/map-config": { "get": { "tags": [ "07 GB28181 国标" ], "summary": "读取 GPS 轨迹地图前端配置", "operationId": "GET_api_v2_gb28181_mobile_position_map_config", "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GpsTrackMapConfig" } } } } }, "x-akstream-permission": "devices.view", "x-akstream-module": "07 GB28181 国标" } }, "/api/v2/gb28181/mobile-position/query": { "post": { "tags": [ "07 GB28181 国标" ], "summary": "创建 GB28181 移动位置查询命令", "operationId": "POST_api_v2_gb28181_mobile_position_query", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Gb28181MobilePositionQueryRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "07 GB28181 国标" } }, "/api/v2/gb28181/mobile-position/status": { "get": { "tags": [ "07 GB28181 国标" ], "summary": "查询 GPS 轨迹 Provider 运行状态", "operationId": "GET_api_v2_gb28181_mobile_position_status", "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GpsTrackStoreStatus" } } } } }, "x-akstream-permission": "devices.view", "x-akstream-module": "07 GB28181 国标" } }, "/api/v2/gb28181/presets": { "get": { "tags": [ "07 GB28181 国标" ], "summary": "读取最近一次 GB28181 预置位查询缓存结果", "operationId": "GET_api_v2_gb28181_presets", "parameters": [ { "name": "deviceId", "in": "query", "required": true, "schema": { "type": "string" } }, { "name": "channelId", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "devices.view", "x-akstream-module": "07 GB28181 国标" } }, "/api/v2/gb28181/presets/control": { "post": { "tags": [ "07 GB28181 国标" ], "summary": "创建 GB28181 预置位设置、调用或删除控制命令", "operationId": "POST_api_v2_gb28181_presets_control", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Gb28181PresetControlRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "07 GB28181 国标" } }, "/api/v2/gb28181/presets/query": { "post": { "tags": [ "07 GB28181 国标" ], "summary": "创建 GB28181 预置位查询命令", "operationId": "POST_api_v2_gb28181_presets_query", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Gb28181PresetQueryRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "07 GB28181 国标" } }, "/api/v2/gb28181/sessions": { "get": { "tags": [ "07 GB28181 国标" ], "summary": "查询 GB28181 流会话", "operationId": "GET_api_v2_gb28181_sessions", "parameters": [ { "name": "deviceId", "in": "query", "schema": { "type": "string" } }, { "name": "channelId", "in": "query", "schema": { "type": "string" } }, { "name": "state", "in": "query", "schema": { "type": "string" } }, { "name": "sessionType", "in": "query", "schema": { "type": "string" } }, { "name": "page", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "pageSize", "in": "query", "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": {} }, "x-akstream-permission": "devices.view", "x-akstream-module": "07 GB28181 国标" } }, "/api/v2/gb28181/signals": { "get": { "tags": [ "07 GB28181 国标" ], "summary": "查询 GB28181 信令事件", "operationId": "GET_api_v2_gb28181_signals", "parameters": [ { "name": "eventType", "in": "query", "schema": { "type": "string" } }, { "name": "deviceId", "in": "query", "schema": { "type": "string" } }, { "name": "channelId", "in": "query", "schema": { "type": "string" } }, { "name": "status", "in": "query", "schema": { "type": "string" } }, { "name": "begin", "in": "query", "schema": { "type": "string", "format": "date-time" } }, { "name": "end", "in": "query", "schema": { "type": "string", "format": "date-time" } }, { "name": "page", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "pageSize", "in": "query", "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": {} }, "x-akstream-permission": "devices.view", "x-akstream-module": "07 GB28181 国标" } }, "/api/v2/gb28181/state-model": { "get": { "tags": [ "07 GB28181 国标" ], "summary": "获取 GB28181 状态机说明", "operationId": "GET_api_v2_gb28181_state_model", "responses": { "200": {} }, "x-akstream-permission": "devices.view", "x-akstream-module": "07 GB28181 国标" } }, "/api/v2/gb28181/subscriptions": { "get": { "tags": [ "07 GB28181 国标" ], "summary": "分页查询 GB28181 订阅状态", "operationId": "GET_api_v2_gb28181_subscriptions", "parameters": [ { "name": "subscriptionType", "in": "query", "schema": { "type": "string" } }, { "name": "deviceId", "in": "query", "schema": { "type": "string" } }, { "name": "channelId", "in": "query", "schema": { "type": "string" } }, { "name": "status", "in": "query", "schema": { "type": "string" } }, { "name": "page", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "pageSize", "in": "query", "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": {} }, "x-akstream-permission": "devices.view", "x-akstream-module": "07 GB28181 国标" } }, "/api/v2/gb28181/subscriptions/cancel": { "post": { "tags": [ "07 GB28181 国标" ], "summary": "取消 GB28181 协议订阅", "operationId": "POST_api_v2_gb28181_subscriptions_cancel", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Gb28181SubscribeRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "07 GB28181 国标" } }, "/api/v2/gb28181/subscriptions/renew-due": { "post": { "tags": [ "07 GB28181 国标" ], "summary": "手动触发 GB28181 到期订阅续期扫描", "operationId": "POST_api_v2_gb28181_subscriptions_renew_due", "parameters": [ { "name": "maxCount", "in": "query", "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "07 GB28181 国标" } }, "/api/v2/gb28181/subscriptions/subscribe": { "post": { "tags": [ "07 GB28181 国标" ], "summary": "创建 GB28181 目录、告警或移动位置订阅命令", "operationId": "POST_api_v2_gb28181_subscriptions_subscribe", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Gb28181SubscribeRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "07 GB28181 国标" } }, "/api/v2/gb28181/client/platform": { "get": { "tags": [ "07 GB28181 国标" ], "summary": "查询 GB28181 Client 侧上级平台注册状态", "operationId": "GET_api_v2_gb28181_client_platform", "parameters": [ { "name": "deviceId", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "devices.view", "x-akstream-module": "07 GB28181 国标" } }, "/api/v2/gb28181/device-control/record": { "post": { "tags": [ "07 GB28181 国标" ], "summary": "创建 GB28181 录像控制命令", "operationId": "POST_api_v2_gb28181_device_control_record", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Gb28181RecordControlRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "07 GB28181 国标" } }, "/api/v2/gb28181/playback/invite": { "post": { "tags": [ "07 GB28181 国标" ], "summary": "请求 GB28181 历史回放流", "operationId": "POST_api_v2_gb28181_playback_invite", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Gb28181InvitePlaybackRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "07 GB28181 国标" } }, "/api/v2/gb28181/playback/pause": { "post": { "tags": [ "07 GB28181 国标" ], "summary": "暂停 GB28181 历史回放", "operationId": "POST_api_v2_gb28181_playback_pause", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Gb28181PlaybackControlRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "07 GB28181 国标" } }, "/api/v2/gb28181/playback/resume": { "post": { "tags": [ "07 GB28181 国标" ], "summary": "继续 GB28181 历史回放", "operationId": "POST_api_v2_gb28181_playback_resume", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Gb28181PlaybackControlRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "07 GB28181 国标" } }, "/api/v2/gb28181/playback/seek": { "post": { "tags": [ "07 GB28181 国标" ], "summary": "执行 GB28181 历史回放定位", "operationId": "POST_api_v2_gb28181_playback_seek", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Gb28181PlaybackSeekRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "07 GB28181 国标" } }, "/api/v2/gb28181/playback/speed": { "post": { "tags": [ "07 GB28181 国标" ], "summary": "调整 GB28181 历史回放倍速", "operationId": "POST_api_v2_gb28181_playback_speed", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Gb28181PlaybackControlRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "07 GB28181 国标" } }, "/api/v2/gb28181/playback/stop": { "post": { "tags": [ "07 GB28181 国标" ], "summary": "停止 GB28181 历史回放流", "operationId": "POST_api_v2_gb28181_playback_stop", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Gb28181StopPlaybackRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "07 GB28181 国标" } }, "/api/v2/gb28181/records/query": { "post": { "tags": [ "07 GB28181 国标" ], "summary": "创建 GB28181 设备历史录像查询命令", "operationId": "POST_api_v2_gb28181_records_query", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Gb28181QueryRecordFileRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "07 GB28181 国标" } }, "/api/v2/gb28181/records/query/{taskId}": { "get": { "tags": [ "07 GB28181 国标" ], "summary": "查询 GB28181 设备历史录像查询任务状态", "operationId": "GET_api_v2_gb28181_records_query_taskId_int", "parameters": [ { "name": "taskId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Gb28181RecordFileQueryStatusView" } } } } }, "x-akstream-permission": "devices.view", "x-akstream-module": "07 GB28181 国标" } }, "/api/v2/gb28181/device-control/drag-zoom": { "post": { "tags": [ "07 GB28181 国标" ], "summary": "创建 GB28181 拉框放大或缩小控制命令", "operationId": "POST_api_v2_gb28181_device_control_drag_zoom", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Gb28181DragZoomRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "07 GB28181 国标" } }, "/api/v2/gb28181/device-control/guard": { "post": { "tags": [ "07 GB28181 国标" ], "summary": "创建 GB28181 布防或撤防控制命令", "operationId": "POST_api_v2_gb28181_device_control_guard", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Gb28181GuardControlRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "07 GB28181 国标" } }, "/api/v2/gb28181/device-control/home-position": { "post": { "tags": [ "07 GB28181 国标" ], "summary": "创建 GB28181 看守位控制命令", "operationId": "POST_api_v2_gb28181_device_control_home_position", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Gb28181HomePositionRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "07 GB28181 国标" } }, "/api/v2/gb28181/device-control/iframe": { "post": { "tags": [ "07 GB28181 国标" ], "summary": "创建 GB28181 强制关键帧控制命令", "operationId": "POST_api_v2_gb28181_device_control_iframe", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Gb28181IFrameRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "07 GB28181 国标" } }, "/api/v2/gb28181/device-control/results": { "post": { "tags": [ "07 GB28181 国标" ], "summary": "回填 GB28181 DeviceControl 业务响应", "operationId": "POST_api_v2_gb28181_device_control_results", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Gb28181DeviceControlReportRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "07 GB28181 国标" } }, "/api/v2/gb28181/device-control/teleboot": { "post": { "tags": [ "07 GB28181 国标" ], "summary": "创建 GB28181 远程启动控制命令", "operationId": "POST_api_v2_gb28181_device_control_teleboot", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Gb28181TeleBootRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "07 GB28181 国标" } }, "/api/v2/gb28181/ptz": { "post": { "tags": [ "07 GB28181 国标" ], "summary": "创建 GB28181 PTZ 控制命令", "operationId": "POST_api_v2_gb28181_ptz", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Gb28181PtzRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "07 GB28181 国标" } }, "/api/v2/gb28181/talk/start": { "post": { "tags": [ "07 GB28181 国标" ], "summary": "启动 GB28181 双向语音对讲", "operationId": "POST_api_v2_gb28181_talk_start", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Gb28181StartTalkRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.talk", "x-akstream-module": "07 GB28181 国标" } }, "/api/v2/gb28181/talk/stop": { "post": { "tags": [ "07 GB28181 国标" ], "summary": "停止 GB28181 双向语音对讲", "operationId": "POST_api_v2_gb28181_talk_stop", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Gb28181StopTalkRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.talk", "x-akstream-module": "07 GB28181 国标" } }, "/api/v2/onvif/native/smoke-test": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "对指定 ONVIF 目标设备执行原生信令烟测", "operationId": "POST_api_v2_onvif_native_smoke_test", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifSmokeTestRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/discovery/results": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "导入 ONVIF 发现结果", "operationId": "POST_api_v2_onvif_discovery_results", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifDiscoveryResultRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.manage", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/discovery/start": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "通过流媒体服务创建 ONVIF 设备发现命令", "operationId": "POST_api_v2_onvif_discovery_start", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifDiscoveryRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.manage", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/native/discovery": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "发现 ONVIF 设备", "operationId": "POST_api_v2_onvif_native_discovery", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifNativeDiscoveryRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.manage", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/devices/{deviceId}/channels/{channelId}/media-uris/refresh": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "刷新 ONVIF Profile 流与快照地址", "operationId": "POST_api_v2_onvif_devices_deviceId_channels_channelId_media_uris_refresh", "parameters": [ { "name": "deviceId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "channelId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifProfileMediaUrisRefreshRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.manage", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/devices/{deviceId}/media-sources/refresh": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "刷新 ONVIF 音视频源", "operationId": "POST_api_v2_onvif_devices_deviceId_media_sources_refresh", "parameters": [ { "name": "deviceId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifMediaSourcesRefreshRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.manage", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/devices/{deviceId}/media-uris/refresh": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "批量刷新 ONVIF Profile 流与快照地址", "operationId": "POST_api_v2_onvif_devices_deviceId_media_uris_refresh", "parameters": [ { "name": "deviceId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifDeviceMediaUrisRefreshRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.manage", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/devices/{deviceId}/profiles/{channelId}/talk-capabilities/refresh": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "刷新 ONVIF Profile 的音频输出与对讲解码能力", "operationId": "POST_api_v2_onvif_devices_deviceId_profiles_channelId_talk_capabilities_refresh", "parameters": [ { "name": "deviceId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "channelId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifTalkCapabilitiesRefreshRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.manage", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/devices/{deviceId}/profiles/refresh": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "ONVIF 设备直接刷新 GetProfiles", "operationId": "POST_api_v2_onvif_devices_deviceId_profiles_refresh", "parameters": [ { "name": "deviceId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifProfilesRefreshRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.manage", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/devices/{deviceId}/stream-uri": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "通过流媒体服务创建 ONVIF GetStreamUri 命令", "operationId": "POST_api_v2_onvif_devices_deviceId_stream_uri", "parameters": [ { "name": "deviceId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifStreamUriRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.manage", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/native/audio-sources": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "ONVIF GetAudioSources", "operationId": "POST_api_v2_onvif_native_audio_sources", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifGetMediaSourcesRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/native/profiles": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "ONVIF GetProfiles", "operationId": "POST_api_v2_onvif_native_profiles", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifGetProfilesRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/native/snapshot-uri": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "ONVIF GetSnapshotUri", "operationId": "POST_api_v2_onvif_native_snapshot_uri", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifNativeSnapshotUriRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/native/stream-uri": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "ONVIF GetStreamUri", "operationId": "POST_api_v2_onvif_native_stream_uri", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifNativeStreamUriRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/native/video-sources": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "ONVIF GetVideoSources", "operationId": "POST_api_v2_onvif_native_video_sources", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifGetMediaSourcesRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/profiles/results": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "回填 ONVIF GetProfiles", "operationId": "POST_api_v2_onvif_profiles_results", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifProfilesResultRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/snapshot-uri/results": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "回填 ONVIF SnapshotUri", "operationId": "POST_api_v2_onvif_snapshot_uri_results", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifSnapshotUriResultRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/stream-uri/results": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "回填 ONVIF StreamUri", "operationId": "POST_api_v2_onvif_stream_uri_results", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifStreamUriResultRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/devices/{deviceId}/channels/{channelId}/imaging/focus/native": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "操作 ONVIF Profile Imaging 能力、参数和参数套餐", "operationId": "POST_api_v2_onvif_devices_deviceId_channels_channelId_imaging_focus_native", "parameters": [ { "name": "deviceId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "channelId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifProfileFocusExecuteRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.manage", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/devices/{deviceId}/channels/{channelId}/ptz/native": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "操作 ONVIF Profile PTZ 动作", "operationId": "POST_api_v2_onvif_devices_deviceId_channels_channelId_ptz_native", "parameters": [ { "name": "deviceId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "channelId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifProfilePtzExecuteRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.manage", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/devices/{deviceId}/channels/{channelId}/ptz/presets/refresh": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "刷新 ONVIF Profile PTZ 预置位并落库", "operationId": "POST_api_v2_onvif_devices_deviceId_channels_channelId_ptz_presets_refresh", "parameters": [ { "name": "deviceId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "channelId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifPtzPresetsRefreshRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.manage", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/native/imaging": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "原生 SOAP 调用完整 ONVIF Imaging 标准操作", "operationId": "POST_api_v2_onvif_native_imaging", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifNativeImagingRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/native/ptz": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "ONVIF PTZ", "operationId": "POST_api_v2_onvif_native_ptz", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifNativePtzRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/ptz": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "创建 ONVIF PTZ 命令", "operationId": "POST_api_v2_onvif_ptz", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifPtzRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/devices/{deviceId}/events/properties/refresh": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "刷新 ONVIF 设备事件能力并回填设备画像", "operationId": "POST_api_v2_onvif_devices_deviceId_events_properties_refresh", "parameters": [ { "name": "deviceId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifEventPropertiesRefreshRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.manage", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/devices/{deviceId}/events/pull": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "拉取 ONVIF PullPoint Event", "operationId": "POST_api_v2_onvif_devices_deviceId_events_pull", "parameters": [ { "name": "deviceId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifPullEventsRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.manage", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/devices/{deviceId}/events/subscriptions": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "创建或替换 ONVIF PullPoint Event 托管订阅", "operationId": "POST_api_v2_onvif_devices_deviceId_events_subscriptions", "parameters": [ { "name": "deviceId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifEventSubscriptionRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.manage", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/event-subscriptions": { "get": { "tags": [ "08 ONVIF 设备" ], "summary": "查询 ONVIF PullPoint Event 托管订阅", "operationId": "GET_api_v2_onvif_event_subscriptions", "parameters": [ { "name": "page", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "pageSize", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "deviceId", "in": "query", "schema": { "type": "string" } }, { "name": "channelId", "in": "query", "schema": { "type": "string" } }, { "name": "status", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "devices.view", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/event-subscriptions/{subscriptionId}/cancel": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "取消 ONVIF PullPoint Event 托管订阅", "operationId": "POST_api_v2_onvif_event_subscriptions_subscriptionId_guid_cancel", "parameters": [ { "name": "subscriptionId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/event-subscriptions/process-due": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "处理到期 ONVIF 事件订阅", "operationId": "POST_api_v2_onvif_event_subscriptions_process_due", "parameters": [ { "name": "maxCount", "in": "query", "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/events/report": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "回填 ONVIF Event XML", "operationId": "POST_api_v2_onvif_events_report", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifEventReportRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/native/events/create-pull-point-subscription": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "ONVIF CreatePullPointSubscription", "operationId": "POST_api_v2_onvif_native_events_create_pull_point_subscription", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifCreatePullPointSubscriptionRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/native/events/properties": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "ONVIF GetEventProperties", "operationId": "POST_api_v2_onvif_native_events_properties", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifGetEventPropertiesRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/native/events/pull-messages": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "ONVIF PullMessages", "operationId": "POST_api_v2_onvif_native_events_pull_messages", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifPullMessagesRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/native/events/renew": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "ONVIF Renew", "operationId": "POST_api_v2_onvif_native_events_renew", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifRenewRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/native/events/unsubscribe": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "ONVIF Unsubscribe", "operationId": "POST_api_v2_onvif_native_events_unsubscribe", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifUnsubscribeRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/devices/{deviceId}/network/default-gateway/native": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "原生设置 ONVIF 设备默认网关", "operationId": "POST_api_v2_onvif_devices_deviceId_network_default_gateway_native", "parameters": [ { "name": "deviceId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifDeviceSetNetworkDefaultGatewayRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.manage", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/devices/{deviceId}/network/dns/native": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "原生设置 ONVIF 设备 DNS 配置", "operationId": "POST_api_v2_onvif_devices_deviceId_network_dns_native", "parameters": [ { "name": "deviceId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifDeviceSetDnsRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.manage", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/devices/{deviceId}/network/hostname/native": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "原生设置 ONVIF 设备主机名", "operationId": "POST_api_v2_onvif_devices_deviceId_network_hostname_native", "parameters": [ { "name": "deviceId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifDeviceSetHostnameRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.manage", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/devices/{deviceId}/network/ntp/native": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "原生设置 ONVIF 设备 NTP 配置", "operationId": "POST_api_v2_onvif_devices_deviceId_network_ntp_native", "parameters": [ { "name": "deviceId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifDeviceSetNtpRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.manage", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/devices/{deviceId}/network/protocols/native": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "原生设置 ONVIF 设备网络协议端口", "operationId": "POST_api_v2_onvif_devices_deviceId_network_protocols_native", "parameters": [ { "name": "deviceId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifDeviceSetNetworkProtocolsRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.manage", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/dns/results": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "回填 ONVIF GetDNS 配置", "operationId": "POST_api_v2_onvif_dns_results", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifDnsResultRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/hostname/results": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "回填 ONVIF GetHostname 主机名", "operationId": "POST_api_v2_onvif_hostname_results", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifHostnameResultRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/native/dns": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "ONVIF GetDNS", "operationId": "POST_api_v2_onvif_native_dns", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifGetDnsRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/native/dns/set": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "ONVIF SetDNS", "operationId": "POST_api_v2_onvif_native_dns_set", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifSetDnsRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/native/hostname": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "ONVIF GetHostname", "operationId": "POST_api_v2_onvif_native_hostname", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifGetHostnameRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/native/hostname/set": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "ONVIF SetHostname", "operationId": "POST_api_v2_onvif_native_hostname_set", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifSetHostnameRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/native/network-default-gateway": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "ONVIF GetNetworkDefaultGateway", "operationId": "POST_api_v2_onvif_native_network_default_gateway", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifGetNetworkDefaultGatewayRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/native/network-default-gateway/set": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "ONVIF SetNetworkDefaultGateway", "operationId": "POST_api_v2_onvif_native_network_default_gateway_set", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifSetNetworkDefaultGatewayRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/native/network-interfaces": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "ONVIF GetNetworkInterfaces", "operationId": "POST_api_v2_onvif_native_network_interfaces", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifGetNetworkInterfacesRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/native/network-protocols": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "ONVIF GetNetworkProtocols", "operationId": "POST_api_v2_onvif_native_network_protocols", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifGetNetworkProtocolsRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/native/network-protocols/set": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "ONVIF SetNetworkProtocols", "operationId": "POST_api_v2_onvif_native_network_protocols_set", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifSetNetworkProtocolsRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/native/ntp": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "ONVIF GetNTP", "operationId": "POST_api_v2_onvif_native_ntp", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifGetNtpRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/native/ntp/set": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "ONVIF SetNTP", "operationId": "POST_api_v2_onvif_native_ntp_set", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifSetNtpRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/network-default-gateway/results": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "回填 ONVIF GetNetworkDefaultGateway 默认网关", "operationId": "POST_api_v2_onvif_network_default_gateway_results", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifNetworkDefaultGatewayResultRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/network-interfaces/results": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "回填 ONVIF GetNetworkInterfaces 网络接口", "operationId": "POST_api_v2_onvif_network_interfaces_results", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifNetworkInterfacesResultRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/network-protocols/results": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "回填 ONVIF GetNetworkProtocols 网络协议", "operationId": "POST_api_v2_onvif_network_protocols_results", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifNetworkProtocolsResultRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/ntp/results": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "回填 ONVIF GetNTP 配置", "operationId": "POST_api_v2_onvif_ntp_results", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifNtpResultRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/devices/{deviceId}/device-io/refresh": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "ONVIF 设备直接刷新继电器输出和数字输入", "operationId": "POST_api_v2_onvif_devices_deviceId_device_io_refresh", "parameters": [ { "name": "deviceId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifDeviceIoRefreshRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.manage", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/devices/{deviceId}/relay-outputs/{relayToken}/state": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "原生设置 ONVIF 继电器输出状态", "operationId": "POST_api_v2_onvif_devices_deviceId_relay_outputs_relayToken_state", "parameters": [ { "name": "deviceId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "relayToken", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifDeviceRelayOutputStateRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.manage", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/digital-inputs/results": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "回填 ONVIF GetDigitalInputs 数字输入", "operationId": "POST_api_v2_onvif_digital_inputs_results", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifDigitalInputsResultRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/native/digital-inputs": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "ONVIF GetDigitalInputs", "operationId": "POST_api_v2_onvif_native_digital_inputs", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifGetDigitalInputsRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/native/relay-output-state": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "ONVIF SetRelayOutputState", "operationId": "POST_api_v2_onvif_native_relay_output_state", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifSetRelayOutputStateRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/native/relay-outputs": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "ONVIF GetRelayOutputs", "operationId": "POST_api_v2_onvif_native_relay_outputs", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifGetRelayOutputsRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/relay-outputs/results": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "回填 ONVIF GetRelayOutputs 继电器输出", "operationId": "POST_api_v2_onvif_relay_outputs_results", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifRelayOutputsResultRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/devices": { "get": { "tags": [ "08 ONVIF 设备" ], "summary": "查询 ONVIF 设备列表", "operationId": "GET_api_v2_onvif_devices", "parameters": [ { "name": "page", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "pageSize", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "status", "in": "query", "schema": { "type": "string" } }, { "name": "remoteAddress", "in": "query", "schema": { "type": "string" } }, { "name": "remotePort", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "keyword", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "devices.view", "x-akstream-module": "08 ONVIF 设备" }, "post": { "tags": [ "08 ONVIF 设备" ], "summary": "保存 ONVIF 设备", "operationId": "POST_api_v2_onvif_devices", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SaveOnvifDeviceRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.manage", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/devices/{deviceId}/bind-channel": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "将 ONVIF StreamUri 绑定为统一视频通道", "operationId": "POST_api_v2_onvif_devices_deviceId_bind_channel", "parameters": [ { "name": "deviceId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifBindChannelRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.manage", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/devices/{deviceId}/bind-channels": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "批量绑定 ONVIF 视频通道", "operationId": "POST_api_v2_onvif_devices_deviceId_bind_channels", "parameters": [ { "name": "deviceId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifDeviceBindVideoChannelsRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.manage", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/devices/{deviceId}/channels/{channelId}/media/synchronization-point/native": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "请求 ONVIF Profile 输出同步点/关键帧", "operationId": "POST_api_v2_onvif_devices_deviceId_channels_channelId_media_synchronization_point_native", "parameters": [ { "name": "deviceId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "channelId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifProfileSynchronizationPointRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.manage", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/devices/{deviceId}/services/refresh": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "ONVIF 设备直接刷新 GetServices", "operationId": "POST_api_v2_onvif_devices_deviceId_services_refresh", "parameters": [ { "name": "deviceId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifServicesRefreshRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.manage", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/devices/{deviceId}/system/reboot/native": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "操作 ONVIF Device SystemReboot", "operationId": "POST_api_v2_onvif_devices_deviceId_system_reboot_native", "parameters": [ { "name": "deviceId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifDeviceSystemRebootRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.manage", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/devices/{deviceId}/users/create/native": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "原生创建 ONVIF 设备用户", "operationId": "POST_api_v2_onvif_devices_deviceId_users_create_native", "parameters": [ { "name": "deviceId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifDeviceCreateUsersRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.manage", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/devices/{deviceId}/users/delete/native": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "原生删除 ONVIF 设备用户", "operationId": "POST_api_v2_onvif_devices_deviceId_users_delete_native", "parameters": [ { "name": "deviceId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifDeviceDeleteUsersRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.manage", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/devices/{deviceId}/users/set/native": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "原生修改 ONVIF 设备用户", "operationId": "POST_api_v2_onvif_devices_deviceId_users_set_native", "parameters": [ { "name": "deviceId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifDeviceSetUserRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.manage", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/capabilities/results": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "回填 ONVIF GetCapabilities", "operationId": "POST_api_v2_onvif_capabilities_results", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifCapabilitiesResultRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/device-information/results": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "回填 ONVIF DeviceInformation", "operationId": "POST_api_v2_onvif_device_information_results", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifDeviceInformationResultRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/native/capabilities": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "ONVIF GetCapabilities", "operationId": "POST_api_v2_onvif_native_capabilities", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifGetCapabilitiesRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/native/device-information": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "ONVIF GetDeviceInformation", "operationId": "POST_api_v2_onvif_native_device_information", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifGetDeviceInformationRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/native/scopes": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "ONVIF GetScopes", "operationId": "POST_api_v2_onvif_native_scopes", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifGetScopesRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/native/service-capabilities": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "ONVIF GetServiceCapabilities", "operationId": "POST_api_v2_onvif_native_service_capabilities", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifGetServiceCapabilitiesRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/native/services": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "ONVIF GetServices", "operationId": "POST_api_v2_onvif_native_services", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifGetServicesRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/native/set-synchronization-point": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "ONVIF SetSynchronizationPoint", "operationId": "POST_api_v2_onvif_native_set_synchronization_point", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifNativeSetSynchronizationPointRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/native/system-date-time": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "ONVIF GetSystemDateAndTime", "operationId": "POST_api_v2_onvif_native_system_date_time", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifGetSystemDateAndTimeRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/native/system-log": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "ONVIF GetSystemLog", "operationId": "POST_api_v2_onvif_native_system_log", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifGetSystemLogRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/native/system-reboot": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "ONVIF SystemReboot", "operationId": "POST_api_v2_onvif_native_system_reboot", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifNativeSystemRebootRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/native/users": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "ONVIF GetUsers", "operationId": "POST_api_v2_onvif_native_users", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifGetUsersRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/native/users/create": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "ONVIF CreateUsers", "operationId": "POST_api_v2_onvif_native_users_create", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifCreateUsersRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/native/users/delete": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "ONVIF DeleteUsers", "operationId": "POST_api_v2_onvif_native_users_delete", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifDeleteUsersRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/native/users/set": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "ONVIF SetUser", "operationId": "POST_api_v2_onvif_native_users_set", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifSetUserRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/scopes/results": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "回填 ONVIF GetScopes 发现范围", "operationId": "POST_api_v2_onvif_scopes_results", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifScopesResultRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/service-capabilities/results": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "回填 ONVIF GetServiceCapabilities 服务能力", "operationId": "POST_api_v2_onvif_service_capabilities_results", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifServiceCapabilitiesResultRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/services/results": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "回填 ONVIF GetServices 服务列表", "operationId": "POST_api_v2_onvif_services_results", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifServicesResultRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/state-model": { "get": { "tags": [ "08 ONVIF 设备" ], "summary": "获取 ONVIF 能力状态模型", "operationId": "GET_api_v2_onvif_state_model", "responses": { "200": {} }, "x-akstream-permission": "devices.view", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/system-date-time/results": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "回填 ONVIF GetSystemDateAndTime 系统时间", "operationId": "POST_api_v2_onvif_system_date_time_results", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifSystemDateTimeResultRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/system-log/results": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "回填 ONVIF GetSystemLog 系统日志", "operationId": "POST_api_v2_onvif_system_log_results", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifSystemLogResultRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/talk/{sessionId}/stop": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "停止 ONVIF Audio Backchannel 对讲", "operationId": "POST_api_v2_onvif_talk_sessionId_guid_stop", "parameters": [ { "name": "sessionId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "devices.talk", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/talk/start": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "启动 ONVIF RTSP Audio Backchannel 对讲", "operationId": "POST_api_v2_onvif_talk_start", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifStartTalkRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.talk", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/onvif/users/results": { "post": { "tags": [ "08 ONVIF 设备" ], "summary": "回填 ONVIF GetUsers 用户列表", "operationId": "POST_api_v2_onvif_users_results", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnvifUsersResultRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "08 ONVIF 设备" } }, "/api/v2/rtc/capabilities": { "get": { "tags": [ "09 WebRTC SFU" ], "summary": "获取 WebRTC SFU 规划能力", "operationId": "GET_api_v2_rtc_capabilities", "responses": { "200": {} }, "x-akstream-permission": "rtc.view", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/room-state-model": { "get": { "tags": [ "09 WebRTC SFU" ], "summary": "获取 RTC 房间状态机说明", "operationId": "GET_api_v2_rtc_room_state_model", "responses": { "200": {} }, "x-akstream-permission": "rtc.view", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/rooms/{roomId}/access-tickets": { "post": { "tags": [ "09 WebRTC SFU" ], "summary": "为第三方应用主体签发一次性 RTC 入会票据", "operationId": "POST_api_v2_rtc_rooms_roomId_access_tickets", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateRtcMeetingInvitationRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "rtc.manage", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/rooms/{roomId}/join": { "post": { "tags": [ "09 WebRTC SFU" ], "summary": "兼容入口:使用服务端可信身份加入 RTC 房间", "operationId": "POST_api_v2_rtc_rooms_roomId_join", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/JoinRtcRoomRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "rtc.participate", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/session/rooms/{roomId}/join": { "post": { "tags": [ "09 WebRTC SFU" ], "summary": "使用第三方应用签发的主体票据加入 RTC 房间", "operationId": "POST_api_v2_rtc_session_rooms_roomId_join", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SecureJoinRtcRoomRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/session/rooms/{roomId}/token/refresh": { "post": { "tags": [ "09 WebRTC SFU" ], "summary": "轮换并续签 RTC 设备令牌", "operationId": "POST_api_v2_rtc_session_rooms_roomId_token_refresh", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "rtc.participate", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/rooms": { "get": { "tags": [ "09 WebRTC SFU" ], "summary": "查询 RTC 房间列表", "operationId": "GET_api_v2_rtc_rooms", "responses": { "200": {} }, "x-akstream-permission": "rtc.view", "x-akstream-module": "09 WebRTC SFU" }, "post": { "tags": [ "09 WebRTC SFU" ], "summary": "创建 RTC 房间", "operationId": "POST_api_v2_rtc_rooms", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateRtcRoomRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "rtc.manage", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/rooms/{roomId}": { "get": { "tags": [ "09 WebRTC SFU" ], "summary": "获取 RTC 房间详情", "operationId": "GET_api_v2_rtc_rooms_roomId", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "rtc.view", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/rooms/{roomId}/announcement": { "post": { "tags": [ "09 WebRTC SFU" ], "summary": "由平台管理员广播 RTC 会议公告", "operationId": "POST_api_v2_rtc_rooms_roomId_announcement", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BroadcastRtcAnnouncementRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "rtc.manage", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/rooms/{roomId}/capacity": { "put": { "tags": [ "09 WebRTC SFU" ], "summary": "更新既有 RTC 会议容量", "operationId": "PUT_api_v2_rtc_rooms_roomId_capacity", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateRtcRoomCapacityRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "rtc.manage", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/rooms/{roomId}/close": { "post": { "tags": [ "09 WebRTC SFU" ], "summary": "关闭 RTC 房间并将成员置为离线", "operationId": "POST_api_v2_rtc_rooms_roomId_close", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "rtc.manage", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/rooms/{roomId}/external-sources/available-channels": { "get": { "tags": [ "09 WebRTC SFU" ], "summary": "业务管理员查询可授权给房间的已有通道,不返回源URL", "operationId": "GET_api_v2_rtc_rooms_roomId_external_sources_available_channels", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "rtc.view", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/rooms/{roomId}/external-sources/grants": { "get": { "tags": [ "09 WebRTC SFU" ], "summary": "业务管理员查看房间当前外部源授权", "operationId": "GET_api_v2_rtc_rooms_roomId_external_sources_grants", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "rtc.view", "x-akstream-module": "09 WebRTC SFU" }, "post": { "tags": [ "09 WebRTC SFU" ], "summary": "业务管理员按已有ChannelId授权本会议可观看/可录制范围", "operationId": "POST_api_v2_rtc_rooms_roomId_external_sources_grants", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GrantRtcExternalSourceRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "rtc.manage", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/rooms/{roomId}/external-sources/grants/{grantId}": { "delete": { "tags": [ "09 WebRTC SFU" ], "summary": "撤销外部源授权并终止本会议的接收和新增录制,不停止原流", "operationId": "DELETE_api_v2_rtc_rooms_roomId_external_sources_grants_grantId_guid", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "grantId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "rtc.manage", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/rooms/{roomId}/moderation": { "post": { "tags": [ "09 WebRTC SFU" ], "summary": "执行 RTC 房间级批量治理", "operationId": "POST_api_v2_rtc_rooms_roomId_moderation", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ModerateRtcRoomRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "rtc.manage", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/rooms/{roomId}/publications/{publicationId}/admin-stop": { "post": { "tags": [ "09 WebRTC SFU" ], "summary": "由平台管理员停止指定 RTC Publication", "operationId": "POST_api_v2_rtc_rooms_roomId_publications_publicationId_admin_stop", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "publicationId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StopRtcPublicationRequest" } } } }, "responses": { "200": {} }, "x-akstream-permission": "rtc.manage", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/session/rooms/{roomId}": { "get": { "tags": [ "09 WebRTC SFU" ], "summary": "读取当前参会身份可见的房间策略与成员状态", "operationId": "GET_api_v2_rtc_session_rooms_roomId", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "rtc.view", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/session/rooms/{roomId}/access-policy": { "put": { "tags": [ "09 WebRTC SFU" ], "summary": "更新会议访问、等候室与锁定策略", "operationId": "PUT_api_v2_rtc_session_rooms_roomId_access_policy", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateRtcRoomAccessRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "rtc.participate", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/session/rooms/{roomId}/admission/status": { "get": { "tags": [ "09 WebRTC SFU" ], "summary": "查询当前设备的等候室准入状态", "operationId": "GET_api_v2_rtc_session_rooms_roomId_admission_status", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "rtc.participate", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/session/rooms/{roomId}/close": { "post": { "tags": [ "09 WebRTC SFU" ], "summary": "当前主持人结束整个会议并撤销所有设备会话", "operationId": "POST_api_v2_rtc_session_rooms_roomId_close", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "rtc.participate", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/session/rooms/{roomId}/connection-settings": { "get": { "tags": [ "09 WebRTC SFU" ], "summary": "读取当前会议的客户端 STUN/TURN 连接配置", "operationId": "GET_api_v2_rtc_session_rooms_roomId_connection_settings", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "rtc.view", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/session/rooms/{roomId}/endpoint-info": { "get": { "tags": [ "09 WebRTC SFU" ], "summary": "读取当前会议在线成员最近 90 秒自报的终端参数", "operationId": "GET_api_v2_rtc_session_rooms_roomId_endpoint_info", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "rtc.participate", "x-akstream-module": "09 WebRTC SFU" }, "put": { "tags": [ "09 WebRTC SFU" ], "summary": "SDK 上报本机可获得的终端与实际媒体参数,不接受硬件唯一标识", "operationId": "PUT_api_v2_rtc_session_rooms_roomId_endpoint_info", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RtcEndpointTelemetry" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "rtc.participate", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/session/rooms/{roomId}/extend": { "post": { "tags": [ "09 WebRTC SFU" ], "summary": "在预约硬截止时间内延长 RTC 会议", "operationId": "POST_api_v2_rtc_session_rooms_roomId_extend", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ExtendRtcMeetingRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "rtc.participate", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/session/rooms/{roomId}/external-sources": { "get": { "tags": [ "09 WebRTC SFU" ], "summary": "会议成员查看当前外部媒体源,不计作参会人", "operationId": "GET_api_v2_rtc_session_rooms_roomId_external_sources", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "rtc.view", "x-akstream-module": "09 WebRTC SFU" }, "post": { "tags": [ "09 WebRTC SFU" ], "summary": "主持人将已授权已有通道加入房间", "operationId": "POST_api_v2_rtc_session_rooms_roomId_external_sources", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AddRtcExternalSourceRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "rtc.participate", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/session/rooms/{roomId}/external-sources/{bindingId}": { "delete": { "tags": [ "09 WebRTC SFU" ], "summary": "主持人移出本会议外部源,不停止平台原流", "operationId": "DELETE_api_v2_rtc_session_rooms_roomId_external_sources_bindingId_guid", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "bindingId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "rtc.participate", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/session/rooms/{roomId}/external-sources/candidates": { "get": { "tags": [ "09 WebRTC SFU" ], "summary": "主持人查看业务方已授权的可接入通道", "operationId": "GET_api_v2_rtc_session_rooms_roomId_external_sources_candidates", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "rtc.view", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/session/rooms/{roomId}/external-sources/candidates/{grantId}/snapshot": { "get": { "tags": [ "09 WebRTC SFU" ], "summary": "主持人按授权通道查看最新截图,不暴露源URL", "operationId": "GET_api_v2_rtc_session_rooms_roomId_external_sources_candidates_grantId_guid_snapshot", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "grantId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "rtc.view", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/session/rooms/{roomId}/heartbeat": { "post": { "tags": [ "09 WebRTC SFU" ], "summary": "刷新经过设备绑定校验的 RTC 心跳", "operationId": "POST_api_v2_rtc_session_rooms_roomId_heartbeat", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "rtc.participate", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/session/rooms/{roomId}/host/claim": { "post": { "tags": [ "09 WebRTC SFU" ], "summary": "由组织者或平台 RTC 管理员接管无人主持的会议", "operationId": "POST_api_v2_rtc_session_rooms_roomId_host_claim", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ClaimRtcHostRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "rtc.participate", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/session/rooms/{roomId}/host/transfer": { "post": { "tags": [ "09 WebRTC SFU" ], "summary": "由当前主持人安全移交主持身份", "operationId": "POST_api_v2_rtc_session_rooms_roomId_host_transfer", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TransferRtcHostRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "rtc.participate", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/session/rooms/{roomId}/invitations": { "get": { "tags": [ "09 WebRTC SFU" ], "summary": "查询会议邀请摘要", "operationId": "GET_api_v2_rtc_session_rooms_roomId_invitations", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "rtc.participate", "x-akstream-module": "09 WebRTC SFU" }, "post": { "tags": [ "09 WebRTC SFU" ], "summary": "为指定外部主体签发一次性会议接入票据", "operationId": "POST_api_v2_rtc_session_rooms_roomId_invitations", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateRtcMeetingInvitationRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "rtc.participate", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/session/rooms/{roomId}/invitations/{invitationId}/revoke": { "post": { "tags": [ "09 WebRTC SFU" ], "summary": "撤销尚未使用的会议邀请", "operationId": "POST_api_v2_rtc_session_rooms_roomId_invitations_invitationId_revoke", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "invitationId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RevokeRtcMeetingInvitationRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "rtc.participate", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/session/rooms/{roomId}/leadership": { "get": { "tags": [ "09 WebRTC SFU" ], "summary": "查询会议组织者、当前主持人和联席主持人", "operationId": "GET_api_v2_rtc_session_rooms_roomId_leadership", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "rtc.view", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/session/rooms/{roomId}/leave": { "post": { "tags": [ "09 WebRTC SFU" ], "summary": "使当前 RTC 设备安全离会", "operationId": "POST_api_v2_rtc_session_rooms_roomId_leave", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SecureLeaveRtcRoomRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "rtc.participate", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/session/rooms/{roomId}/publications": { "get": { "tags": [ "09 WebRTC SFU" ], "summary": "查询当前房间可订阅的独立 Publication", "operationId": "GET_api_v2_rtc_session_rooms_roomId_publications", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "rtc.view", "x-akstream-module": "09 WebRTC SFU" }, "post": { "tags": [ "09 WebRTC SFU" ], "summary": "创建当前设备的独立 RTC Publication", "operationId": "POST_api_v2_rtc_session_rooms_roomId_publications", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateRtcPublicationRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "rtc.participate", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/session/rooms/{roomId}/publications/{publicationId}/rtmp-ticket": { "post": { "tags": [ "09 WebRTC SFU" ], "summary": "为微信小程序签发短时 ZLM RTMP 发布票据", "operationId": "POST_api_v2_rtc_session_rooms_roomId_publications_publicationId_rtmp_ticket", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "publicationId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "rtc.participate", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/session/rooms/{roomId}/publications/{publicationId}/stop": { "post": { "tags": [ "09 WebRTC SFU" ], "summary": "停止当前设备拥有的独立 Publication", "operationId": "POST_api_v2_rtc_session_rooms_roomId_publications_publicationId_stop", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "publicationId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StopRtcPublicationRequest" } } } }, "responses": { "200": {} }, "x-akstream-permission": "rtc.participate", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/session/rooms/{roomId}/publications/{publicationId}/telemetry": { "post": { "tags": [ "09 WebRTC SFU" ], "summary": "上报独立 RTC Publication 的浏览器 getStats 实时遥测", "operationId": "POST_api_v2_rtc_session_rooms_roomId_publications_publicationId_telemetry", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "publicationId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ReportRtcPublicationTelemetryRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "rtc.participate", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/session/rooms/{roomId}/subscriptions": { "get": { "tags": [ "09 WebRTC SFU" ], "summary": "查询当前设备的独立订阅", "operationId": "GET_api_v2_rtc_session_rooms_roomId_subscriptions", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "rtc.view", "x-akstream-module": "09 WebRTC SFU" }, "post": { "tags": [ "09 WebRTC SFU" ], "summary": "创建当前观看设备到指定 Publication 的独立订阅", "operationId": "POST_api_v2_rtc_session_rooms_roomId_subscriptions", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateRtcSubscriptionRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "rtc.participate", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/session/rooms/{roomId}/video-quality": { "put": { "tags": [ "09 WebRTC SFU" ], "summary": "主持人为单个或全部成员设置可自动适配的摄像头质量目标", "operationId": "PUT_api_v2_rtc_session_rooms_roomId_video_quality", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SetRtcVideoQualityRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "rtc.participate", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/rooms/{roomId}/participants/{participantId}/endpoint": { "get": { "tags": [ "09 WebRTC SFU" ], "summary": "生成 RTC 成员 WHIP/WHEP 端点", "operationId": "GET_api_v2_rtc_rooms_roomId_participants_participantId_endpoint", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "participantId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "screen", "in": "query", "required": true, "schema": { "type": "boolean" } } ], "responses": { "200": {} }, "x-akstream-permission": "rtc.view", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/rooms/{roomId}/participants/{participantId}/heartbeat": { "post": { "tags": [ "09 WebRTC SFU" ], "summary": "刷新 RTC 成员心跳", "operationId": "POST_api_v2_rtc_rooms_roomId_participants_participantId_heartbeat", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "participantId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "rtc.participate", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/rooms/{roomId}/participants/{participantId}/leave": { "post": { "tags": [ "09 WebRTC SFU" ], "summary": "成员离开 RTC 房间", "operationId": "POST_api_v2_rtc_rooms_roomId_participants_participantId_leave", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "participantId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "rtc.manage", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/rooms/{roomId}/participants/{participantId}/media-state": { "post": { "tags": [ "09 WebRTC SFU" ], "summary": "更新 RTC 成员麦克风、摄像头和连接状态", "operationId": "POST_api_v2_rtc_rooms_roomId_participants_participantId_media_state", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "participantId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateRtcParticipantMediaRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "rtc.manage", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/rooms/{roomId}/participants/{participantId}/moderation": { "post": { "tags": [ "09 WebRTC SFU" ], "summary": "执行 RTC 成员管理动作", "operationId": "POST_api_v2_rtc_rooms_roomId_participants_participantId_moderation", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "participantId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ModerateRtcParticipantRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "rtc.manage", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/session/rooms/{roomId}/participants": { "get": { "tags": [ "09 WebRTC SFU" ], "summary": "查询安全 RTC 房间成员列表", "operationId": "GET_api_v2_rtc_session_rooms_roomId_participants", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "rtc.view", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/session/rooms/{roomId}/participants/{participantId}/admission": { "post": { "tags": [ "09 WebRTC SFU" ], "summary": "主持人准入或拒绝等候室成员", "operationId": "POST_api_v2_rtc_session_rooms_roomId_participants_participantId_admission", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "participantId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ReviewRtcAdmissionRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "rtc.participate", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/session/rooms/{roomId}/participants/{participantId}/cohost": { "post": { "tags": [ "09 WebRTC SFU" ], "summary": "由当前主持人授予或收回联席主持人身份", "operationId": "POST_api_v2_rtc_session_rooms_roomId_participants_participantId_cohost", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "participantId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SetRtcCohostRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "rtc.participate", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/session/rooms/{roomId}/participants/{participantId}/moderation": { "post": { "tags": [ "09 WebRTC SFU" ], "summary": "使用可信主持人身份管理 RTC 成员", "operationId": "POST_api_v2_rtc_session_rooms_roomId_participants_participantId_moderation", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "participantId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ModerateRtcParticipantRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "rtc.participate", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/participants/timeout-scan": { "post": { "tags": [ "09 WebRTC SFU" ], "summary": "手动触发 RTC 成员心跳超时离线治理", "operationId": "POST_api_v2_rtc_participants_timeout_scan", "responses": { "200": {} }, "x-akstream-permission": "rtc.manage", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/recordings": { "get": { "tags": [ "09 WebRTC SFU" ], "summary": "按会议号、名称、录制时间、状态、成员及入会设备会话分页查询录制", "operationId": "GET_api_v2_rtc_recordings", "parameters": [ { "name": "roomId", "in": "query", "schema": { "type": "string" } }, { "name": "search", "in": "query", "schema": { "type": "string" } }, { "name": "participantId", "in": "query", "schema": { "type": "string" } }, { "name": "deviceSessionId", "in": "query", "schema": { "type": "string" } }, { "name": "state", "in": "query", "schema": { "type": "string" } }, { "name": "fromUtc", "in": "query", "schema": { "type": "string" } }, { "name": "toUtc", "in": "query", "schema": { "type": "string" } }, { "name": "page", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "pageSize", "in": "query", "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": {} }, "x-akstream-permission": "rtc.recordings.view", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/rooms/{roomId}/recording-policy": { "put": { "tags": [ "09 WebRTC SFU" ], "summary": "会议所有者或超级管理员允许/禁用本会议录制", "operationId": "PUT_api_v2_rtc_rooms_roomId_recording_policy", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RtcRecordingPolicyRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "rtc.manage", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/rooms/{roomId}/recording/continuous/{recordingId}/composites/{compositeId}/retry": { "post": { "tags": [ "09 WebRTC SFU" ], "summary": "授权业务API重试失败的会后成员/屏幕兼容副本", "operationId": "POST_api_v2_rtc_rooms_roomId_recording_continuous_recordingId_guid_composites_compositeId_guid_retry", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "recordingId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "compositeId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "rtc.manage", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/rooms/{roomId}/recording/continuous/{recordingId}/full-exports": { "post": { "tags": [ "09 WebRTC SFU" ], "summary": "按需排队生成固定布局、混音和公共事件字幕的整场MP4", "operationId": "POST_api_v2_rtc_rooms_roomId_recording_continuous_recordingId_guid_full_exports", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "recordingId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateRtcFullExportRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "rtc.manage", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/rooms/{roomId}/recording/continuous/{recordingId}/full-exports/{exportId}/retry": { "post": { "tags": [ "09 WebRTC SFU" ], "summary": "授权业务API重试失败的整场导出", "operationId": "POST_api_v2_rtc_rooms_roomId_recording_continuous_recordingId_guid_full_exports_exportId_guid_retry", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "recordingId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "exportId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "rtc.manage", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/rooms/{roomId}/recording/continuous/{recordingId}/stop": { "post": { "tags": [ "09 WebRTC SFU" ], "summary": "由授权业务API停止指定持续录制任务", "operationId": "POST_api_v2_rtc_rooms_roomId_recording_continuous_recordingId_guid_stop", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "recordingId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "rtc.manage", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/rooms/{roomId}/recording/continuous/current": { "get": { "tags": [ "09 WebRTC SFU" ], "summary": "查询房间当前持续录制任务", "operationId": "GET_api_v2_rtc_rooms_roomId_recording_continuous_current", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "rtc.recordings.view", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/rooms/{roomId}/recording/continuous/runs": { "get": { "tags": [ "09 WebRTC SFU" ], "summary": "按会议档案权限列出录制任务", "operationId": "GET_api_v2_rtc_rooms_roomId_recording_continuous_runs", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "rtc.recordings.view", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/rooms/{roomId}/recording/continuous/start": { "post": { "tags": [ "09 WebRTC SFU" ], "summary": "由授权业务API启动房间持续录制", "operationId": "POST_api_v2_rtc_rooms_roomId_recording_continuous_start", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "rtc.manage", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/rooms/{roomId}/recording/start": { "post": { "tags": [ "09 WebRTC SFU" ], "summary": "启动 RTC 房间会议录制", "operationId": "POST_api_v2_rtc_rooms_roomId_recording_start", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StartRtcRoomRecordingRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "rtc.manage", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/rooms/{roomId}/recording/stop": { "post": { "tags": [ "09 WebRTC SFU" ], "summary": "停止 RTC 房间会议录制", "operationId": "POST_api_v2_rtc_rooms_roomId_recording_stop", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StopRtcRoomRecordingRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "rtc.manage", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/rooms/{roomId}/recording/targets": { "get": { "tags": [ "09 WebRTC SFU" ], "summary": "查询 RTC 房间可录制的 WHIP 推流目标", "operationId": "GET_api_v2_rtc_rooms_roomId_recording_targets", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "includeInactive", "in": "query", "schema": { "type": "boolean" } } ], "responses": { "200": {} }, "x-akstream-permission": "rtc.view", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/rooms/{roomId}/recordings/access": { "post": { "tags": [ "09 WebRTC SFU" ], "summary": "业务后端签发绑定会议和view/play/download操作的短时SDK档案票据", "operationId": "POST_api_v2_rtc_rooms_roomId_recordings_access", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RtcArchiveAccessRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "rtc.recordings.view", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/session/rooms/{roomId}/playback/recordings/{recordingId}/attachments/{attachmentId}/content": { "get": { "tags": [ "09 WebRTC SFU" ], "summary": "按录制档案权限读取本次录制实际引用的公开图片、视频、PDF或文本附件", "operationId": "GET_api_v2_rtc_session_rooms_roomId_playback_recordings_recordingId_guid_attachments_attachmentId_content", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "recordingId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "attachmentId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "rtc.recordings.view", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/session/rooms/{roomId}/playback/recordings/{recordingId}/attachments/{attachmentId}/download": { "get": { "tags": [ "09 WebRTC SFU" ], "summary": "凭独立下载权限读取本次录制实际引用的公开附件", "operationId": "GET_api_v2_rtc_session_rooms_roomId_playback_recordings_recordingId_guid_attachments_attachmentId_download", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "recordingId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "attachmentId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "rtc.recordings.download", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/session/rooms/{roomId}/playback/recordings/{recordingId}/files/{fileId}/download": { "get": { "tags": [ "09 WebRTC SFU" ], "summary": "下载指定录制任务确实关联的媒体分片", "operationId": "GET_api_v2_rtc_session_rooms_roomId_playback_recordings_recordingId_guid_files_fileId_guid_download", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "recordingId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "fileId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "rtc.recordings.download", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/session/rooms/{roomId}/playback/recordings/{recordingId}/files/{fileId}/media": { "get": { "tags": [ "09 WebRTC SFU" ], "summary": "读取指定录制任务确实关联的媒体分片", "operationId": "GET_api_v2_rtc_session_rooms_roomId_playback_recordings_recordingId_guid_files_fileId_guid_media", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "recordingId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "fileId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "rtc.recordings.play", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/session/rooms/{roomId}/playback/recordings/{recordingId}/full-exports": { "get": { "tags": [ "09 WebRTC SFU" ], "summary": "按档案授权查看整场导出任务与可下载结果", "operationId": "GET_api_v2_rtc_session_rooms_roomId_playback_recordings_recordingId_guid_full_exports", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "recordingId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "rtc.recordings.view", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/session/rooms/{roomId}/playback/recordings/{recordingId}/full-exports/{exportId}/download": { "get": { "tags": [ "09 WebRTC SFU" ], "summary": "下载获准范围内的固定布局整场MP4", "operationId": "GET_api_v2_rtc_session_rooms_roomId_playback_recordings_recordingId_guid_full_exports_exportId_guid_download", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "recordingId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "exportId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "rtc.recordings.download", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/session/rooms/{roomId}/playback/recordings/{recordingId}/full-exports/{exportId}/media": { "get": { "tags": [ "09 WebRTC SFU" ], "summary": "支持HTTP Range播放获准的整场MP4", "operationId": "GET_api_v2_rtc_session_rooms_roomId_playback_recordings_recordingId_guid_full_exports_exportId_guid_media", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "recordingId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "exportId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "rtc.recordings.play", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/session/rooms/{roomId}/playback/recordings/{recordingId}/manifest": { "get": { "tags": [ "09 WebRTC SFU" ], "summary": "按RecordingId查询固定原点的会议录制档案", "operationId": "GET_api_v2_rtc_session_rooms_roomId_playback_recordings_recordingId_guid_manifest", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "recordingId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "afterSequence", "in": "query", "schema": { "type": "integer", "format": "int64" } }, { "name": "maxEvents", "in": "query", "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": {} }, "x-akstream-permission": "rtc.recordings.view", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/session/rooms/{roomId}/playback/recordings/{recordingId}/package": { "get": { "tags": [ "09 WebRTC SFU" ], "summary": "按RecordingId打包公共事件、独立原轨与成员/屏幕兼容副本", "operationId": "GET_api_v2_rtc_session_rooms_roomId_playback_recordings_recordingId_guid_package", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "recordingId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "rtc.recordings.download", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/session/rooms/{roomId}/recording/continuous/{recordingId}/stop": { "post": { "tags": [ "09 WebRTC SFU" ], "summary": "由当前主持人停止指定持续录制任务", "operationId": "POST_api_v2_rtc_session_rooms_roomId_recording_continuous_recordingId_guid_stop", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "recordingId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "rtc.participate", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/session/rooms/{roomId}/recording/continuous/current": { "get": { "tags": [ "09 WebRTC SFU" ], "summary": "已准入成员查询当前持续录制状态,启停仍限主持人", "operationId": "GET_api_v2_rtc_session_rooms_roomId_recording_continuous_current", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "rtc.participate", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/session/rooms/{roomId}/recording/continuous/runs": { "get": { "tags": [ "09 WebRTC SFU" ], "summary": "按房间档案权限列出持续录制任务", "operationId": "GET_api_v2_rtc_session_rooms_roomId_recording_continuous_runs", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "rtc.recordings.view", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/session/rooms/{roomId}/recording/continuous/start": { "post": { "tags": [ "09 WebRTC SFU" ], "summary": "由当前主持人启动房间持续录制", "operationId": "POST_api_v2_rtc_session_rooms_roomId_recording_continuous_start", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "rtc.participate", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/session/rooms/{roomId}/recording/start": { "post": { "tags": [ "09 WebRTC SFU" ], "summary": "主持人按独立 Publication 启动会议录制", "operationId": "POST_api_v2_rtc_session_rooms_roomId_recording_start", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StartRtcRoomRecordingRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "rtc.participate", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/session/rooms/{roomId}/recording/stop": { "post": { "tags": [ "09 WebRTC SFU" ], "summary": "主持人按独立 Publication 停止会议录制", "operationId": "POST_api_v2_rtc_session_rooms_roomId_recording_stop", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StopRtcRoomRecordingRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "rtc.participate", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/session/rooms/{roomId}/recording/targets": { "get": { "tags": [ "09 WebRTC SFU" ], "summary": "通过可信参会身份查询独立 RTC 录制目标", "operationId": "GET_api_v2_rtc_session_rooms_roomId_recording_targets", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "includeInactive", "in": "query", "schema": { "type": "boolean" } } ], "responses": { "200": {} }, "x-akstream-permission": "rtc.view", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/rooms/{roomId}/participants/{viewerParticipantId}/subscriptions/{publisherParticipantId}/whep": { "post": { "tags": [ "09 WebRTC SFU" ], "summary": "WHEP 订阅 RTC 发布流", "operationId": "POST_api_v2_rtc_rooms_roomId_participants_viewerParticipantId_subscriptions_publisherParticipantId_whep", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "viewerParticipantId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "publisherParticipantId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "screen", "in": "query", "schema": { "type": "boolean" } }, { "name": "preferredTcp", "in": "query", "schema": { "type": "boolean" } }, { "name": "candUdp", "in": "query", "schema": { "type": "string" } }, { "name": "candTcp", "in": "query", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/sdp": { "schema": { "type": "string" } } }, "required": true }, "responses": { "201": { "content": { "application/sdp": { "schema": { "type": "string" } } } } }, "x-akstream-permission": "rtc.participate", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/rooms/{roomId}/subscription-topology": { "get": { "tags": [ "09 WebRTC SFU" ], "summary": "查询 RTC WHEP 订阅拓扑", "operationId": "GET_api_v2_rtc_rooms_roomId_subscription_topology", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "viewerParticipantId", "in": "query", "schema": { "type": "string" } }, { "name": "includeSelf", "in": "query", "schema": { "type": "boolean" } }, { "name": "includeInactive", "in": "query", "schema": { "type": "boolean" } } ], "responses": { "200": {} }, "x-akstream-permission": "rtc.view", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/session/rooms/{roomId}/playback-ticket": { "post": { "tags": [ "09 WebRTC SFU" ], "summary": "签发会议内只读 HTTP-FLV 播放票据", "operationId": "POST_api_v2_rtc_session_rooms_roomId_playback_ticket", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "rtc.participate", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/session/rooms/{roomId}/playback/files/{fileId}/download": { "get": { "tags": [ "09 WebRTC SFU" ], "summary": "下载会议归档中的单个录像分片", "operationId": "GET_api_v2_rtc_session_rooms_roomId_playback_files_fileId_guid_download", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "fileId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "rtc.recordings.download", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/session/rooms/{roomId}/playback/files/{fileId}/media": { "get": { "tags": [ "09 WebRTC SFU" ], "summary": "播放会议归档中的单个录像分片", "operationId": "GET_api_v2_rtc_session_rooms_roomId_playback_files_fileId_guid_media", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "fileId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "rtc.recordings.play", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/session/rooms/{roomId}/playback/manifest": { "get": { "tags": [ "09 WebRTC SFU" ], "summary": "获取会议音视频、白板和事件的统一时间轴回放清单", "operationId": "GET_api_v2_rtc_session_rooms_roomId_playback_manifest", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "afterSequence", "in": "query", "schema": { "type": "integer", "format": "int64" } }, { "name": "maxEvents", "in": "query", "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": {} }, "x-akstream-permission": "rtc.recordings.view", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/session/rooms/{roomId}/playback/package": { "get": { "tags": [ "09 WebRTC SFU" ], "summary": "流式打包下载整场 RTC 会议归档", "operationId": "GET_api_v2_rtc_session_rooms_roomId_playback_package", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "rtc.recordings.download", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/session/rooms/{roomId}/subscriptions/{subscriptionId}/stop": { "post": { "tags": [ "09 WebRTC SFU" ], "summary": "停止当前设备拥有的独立 Subscription", "operationId": "POST_api_v2_rtc_session_rooms_roomId_subscriptions_subscriptionId_stop", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "subscriptionId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StopRtcSubscriptionRequest" } } } }, "responses": { "200": {} }, "x-akstream-permission": "rtc.participate", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/session/rooms/{roomId}/subscriptions/{subscriptionId}/whep": { "post": { "tags": [ "09 WebRTC SFU" ], "summary": "通过 ZLM WHEP 建立独立 Subscription", "operationId": "POST_api_v2_rtc_session_rooms_roomId_subscriptions_subscriptionId_whep", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "subscriptionId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "preferredTcp", "in": "query", "schema": { "type": "boolean" } }, { "name": "candUdp", "in": "query", "schema": { "type": "string" } }, { "name": "candTcp", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "rtc.participate", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/media-sessions/{sessionId}/release": { "post": { "tags": [ "09 WebRTC SFU" ], "summary": "按媒体会话编号释放流媒体服务 WebRTC 会话", "operationId": "POST_api_v2_rtc_media_sessions_sessionId_guid_release", "parameters": [ { "name": "sessionId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "rtc.manage", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/rooms/{roomId}/media-sessions": { "get": { "tags": [ "09 WebRTC SFU" ], "summary": "查询 RTC 房间 WHIP/WHEP 媒体会话", "operationId": "GET_api_v2_rtc_rooms_roomId_media_sessions", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "includeClosed", "in": "query", "schema": { "type": "boolean" } } ], "responses": { "200": {} }, "x-akstream-permission": "rtc.view", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/rooms/{roomId}/participants/{participantId}/whep": { "post": { "tags": [ "09 WebRTC SFU" ], "summary": "代理流媒体服务WHEP 播放 SDP 协商", "operationId": "POST_api_v2_rtc_rooms_roomId_participants_participantId_whep", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "participantId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "screen", "in": "query", "schema": { "type": "boolean" } }, { "name": "preferredTcp", "in": "query", "schema": { "type": "boolean" } }, { "name": "candUdp", "in": "query", "schema": { "type": "string" } }, { "name": "candTcp", "in": "query", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/sdp": { "schema": { "type": "string" } } }, "required": true }, "responses": { "201": { "content": { "application/sdp": { "schema": { "type": "string" } } } } }, "x-akstream-permission": "rtc.participate", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/rooms/{roomId}/participants/{participantId}/whip": { "post": { "tags": [ "09 WebRTC SFU" ], "summary": "代理流媒体服务WHIP 推流 SDP 协商", "operationId": "POST_api_v2_rtc_rooms_roomId_participants_participantId_whip", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "participantId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "screen", "in": "query", "schema": { "type": "boolean" } }, { "name": "preferredTcp", "in": "query", "schema": { "type": "boolean" } }, { "name": "candUdp", "in": "query", "schema": { "type": "string" } }, { "name": "candTcp", "in": "query", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/sdp": { "schema": { "type": "string" } } }, "required": true }, "responses": { "201": { "content": { "application/sdp": { "schema": { "type": "string" } } } } }, "x-akstream-permission": "rtc.participate", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/session/rooms/{roomId}/publications/{publicationId}/whip": { "post": { "tags": [ "09 WebRTC SFU" ], "summary": "将独立 Publication 通过 WHIP 发布到 ZLM", "operationId": "POST_api_v2_rtc_session_rooms_roomId_publications_publicationId_whip", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "publicationId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "preferredTcp", "in": "query", "schema": { "type": "boolean" } }, { "name": "candUdp", "in": "query", "schema": { "type": "string" } }, { "name": "candTcp", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "rtc.participate", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/webrtc": { "delete": { "tags": [ "09 WebRTC SFU" ], "summary": "代理释放流媒体服务 WebRTC 会话", "operationId": "DELETE_api_v2_rtc_webrtc", "parameters": [ { "name": "mediaServerId", "in": "query", "schema": { "type": "string" } }, { "name": "id", "in": "query", "schema": { "type": "string" } }, { "name": "token", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "rtc.manage", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/rooms/{roomId}/chat/messages": { "post": { "tags": [ "09 WebRTC SFU" ], "summary": "发送 RTC 房间聊天消息", "operationId": "POST_api_v2_rtc_rooms_roomId_chat_messages", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SendRtcChatMessageRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "rtc.participate", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/session/rooms/{roomId}/chat/attachments": { "post": { "tags": [ "09 WebRTC SFU" ], "summary": "上传并广播或私发会议文件、图片和视频,也可作为白板图片素材", "operationId": "POST_api_v2_rtc_session_rooms_roomId_chat_attachments", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "rtc.participate", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/session/rooms/{roomId}/chat/attachments/{attachmentId}": { "get": { "tags": [ "09 WebRTC SFU" ], "summary": "在参会身份与私发可见性校验后读取会议附件", "operationId": "GET_api_v2_rtc_session_rooms_roomId_chat_attachments_attachmentId", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "attachmentId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "rtc.participate", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/rooms/{roomId}/participants/{participantId}/whiteboard-access": { "post": { "tags": [ "09 WebRTC SFU" ], "summary": "由平台管理员授予、拒绝或收回成员白板书写权", "operationId": "POST_api_v2_rtc_rooms_roomId_participants_participantId_whiteboard_access", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "participantId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ReviewRtcWhiteboardAccessRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "rtc.manage", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/rooms/{roomId}/whiteboard/events": { "post": { "tags": [ "09 WebRTC SFU" ], "summary": "提交 RTC 白板同步事件", "operationId": "POST_api_v2_rtc_rooms_roomId_whiteboard_events", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PostRtcWhiteboardEventRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "rtc.participate", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/session/rooms/{roomId}/participants/{participantId}/whiteboard-access": { "post": { "tags": [ "09 WebRTC SFU" ], "summary": "主持人审批或收回成员白板书写权", "operationId": "POST_api_v2_rtc_session_rooms_roomId_participants_participantId_whiteboard_access", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "participantId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ReviewRtcWhiteboardAccessRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "rtc.participate", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/session/rooms/{roomId}/whiteboard/access-request": { "post": { "tags": [ "09 WebRTC SFU" ], "summary": "申请或取消申请 RTC 白板书写权", "operationId": "POST_api_v2_rtc_session_rooms_roomId_whiteboard_access_request", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RequestRtcWhiteboardAccessRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "rtc.participate", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/session/rooms/{roomId}/whiteboard/lock": { "post": { "tags": [ "09 WebRTC SFU" ], "summary": "主持人锁定或解锁协作白板", "operationId": "POST_api_v2_rtc_session_rooms_roomId_whiteboard_lock", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SetRtcWhiteboardLockRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "rtc.participate", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/rooms/{roomId}/participants/{participantId}/screen-share": { "post": { "tags": [ "09 WebRTC SFU" ], "summary": "设置 RTC 成员投屏状态", "operationId": "POST_api_v2_rtc_rooms_roomId_participants_participantId_screen_share", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "participantId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SetRtcScreenShareRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "rtc.manage", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/rooms/{roomId}/datachannel/events": { "post": { "tags": [ "09 WebRTC SFU" ], "summary": "提交 RTC DataChannel 控制事件", "operationId": "POST_api_v2_rtc_rooms_roomId_datachannel_events", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PostRtcDataChannelEventRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "rtc.participate", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/rooms/{roomId}/signaling/connections": { "get": { "tags": [ "09 WebRTC SFU" ], "summary": "查询 RTC 房间当前 WebSocket 信令连接", "operationId": "GET_api_v2_rtc_rooms_roomId_signaling_connections", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "rtc.view", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/rooms/{roomId}/signaling/ws": { "get": { "tags": [ "09 WebRTC SFU" ], "summary": "兼容入口:建立设备身份绑定的 RTC WebSocket", "operationId": "GET_api_v2_rtc_rooms_roomId_signaling_ws", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "participantId", "in": "query", "schema": { "type": "string" } }, { "name": "lastSequence", "in": "query", "schema": { "type": "integer", "format": "int64" } }, { "name": "replayPageSize", "in": "query", "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": {} }, "x-akstream-permission": "rtc.participate", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/session/rooms/{roomId}/signaling/ws": { "get": { "tags": [ "09 WebRTC SFU" ], "summary": "建立绑定成员和设备身份的 RTC 参会 WebSocket", "operationId": "GET_api_v2_rtc_session_rooms_roomId_signaling_ws", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "lastSequence", "in": "query", "schema": { "type": "integer", "format": "int64" } }, { "name": "replayPageSize", "in": "query", "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": {} }, "x-akstream-permission": "rtc.participate", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/rooms/{roomId}/events": { "get": { "tags": [ "09 WebRTC SFU" ], "summary": "按房间、通道和序号增量查询 RTC 事件", "operationId": "GET_api_v2_rtc_rooms_roomId_events", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "channel", "in": "query", "schema": { "type": "string" } }, { "name": "afterSequence", "in": "query", "schema": { "type": "integer", "format": "int64" } }, { "name": "pageSize", "in": "query", "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": {} }, "x-akstream-permission": "rtc.view", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/rooms/{roomId}/participants/{participantId}/events": { "get": { "tags": [ "09 WebRTC SFU" ], "summary": "按成员可见性增量查询 RTC 房间事件", "operationId": "GET_api_v2_rtc_rooms_roomId_participants_participantId_events", "parameters": [ { "name": "roomId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "participantId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "channel", "in": "query", "schema": { "type": "string" } }, { "name": "afterSequence", "in": "query", "schema": { "type": "integer", "format": "int64" } }, { "name": "pageSize", "in": "query", "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": {} }, "x-akstream-permission": "rtc.view", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/rtc/resources": { "get": { "tags": [ "09 WebRTC SFU" ], "summary": "查询 RTC 资源树快照", "operationId": "GET_api_v2_rtc_resources", "responses": { "200": {} }, "x-akstream-permission": "rtc.view", "x-akstream-module": "09 WebRTC SFU" } }, "/api/v2/protocols/{protocol}/devices/{deviceId}": { "get": { "tags": [ "10 协议统一视图" ], "summary": "读取协议设备", "operationId": "GET_api_v2_protocols_protocol_devices_deviceId", "parameters": [ { "name": "protocol", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "deviceId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "devices.view", "x-akstream-module": "10 协议统一视图" } }, "/api/v2/protocols/{protocol}/devices/{deviceId}/channels": { "get": { "tags": [ "10 协议统一视图" ], "summary": "查询协议设备通道", "operationId": "GET_api_v2_protocols_protocol_devices_deviceId_channels", "parameters": [ { "name": "protocol", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "deviceId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "page", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "pageSize", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "status", "in": "query", "schema": { "type": "string" } }, { "name": "channelType", "in": "query", "schema": { "type": "string" } }, { "name": "hasAudio", "in": "query", "schema": { "type": "boolean" } }, { "name": "hasPtz", "in": "query", "schema": { "type": "boolean" } }, { "name": "videoChannelId", "in": "query", "schema": { "type": "string" } }, { "name": "keyword", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "devices.view", "x-akstream-module": "10 协议统一视图" }, "post": { "tags": [ "10 协议统一视图" ], "summary": "保存协议设备通道", "operationId": "POST_api_v2_protocols_protocol_devices_deviceId_channels", "parameters": [ { "name": "protocol", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "deviceId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SaveProtocolChannelRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.manage", "x-akstream-module": "10 协议统一视图" } }, "/api/v2/protocols/{protocol}/devices/{deviceId}/offline": { "post": { "tags": [ "10 协议统一视图" ], "summary": "标记协议设备离线", "operationId": "POST_api_v2_protocols_protocol_devices_deviceId_offline", "parameters": [ { "name": "protocol", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "deviceId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "devices.manage", "x-akstream-module": "10 协议统一视图" } }, "/api/v2/protocols/{protocol}/devices/{deviceId}/online": { "post": { "tags": [ "10 协议统一视图" ], "summary": "标记协议设备在线", "operationId": "POST_api_v2_protocols_protocol_devices_deviceId_online", "parameters": [ { "name": "protocol", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "deviceId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "devices.manage", "x-akstream-module": "10 协议统一视图" } }, "/api/v2/protocols/acceptance": { "get": { "tags": [ "10 协议统一视图" ], "summary": "读取协议验收总览", "operationId": "GET_api_v2_protocols_acceptance", "parameters": [ { "name": "checkDatabase", "in": "query", "schema": { "type": "boolean" } }, { "name": "checkZlm", "in": "query", "schema": { "type": "boolean" } }, { "name": "includeSystemReadiness", "in": "query", "schema": { "type": "boolean" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProtocolAcceptanceSnapshot" } } } } }, "x-akstream-permission": "devices.view", "x-akstream-module": "10 协议统一视图" } }, "/api/v2/protocols/alarms/events": { "get": { "tags": [ "10 协议统一视图" ], "summary": "统一查询 GB28181、ONVIF 等协议告警事件", "operationId": "GET_api_v2_protocols_alarms_events", "parameters": [ { "name": "page", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "pageSize", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "protocol", "in": "query", "schema": { "type": "string" } }, { "name": "deviceId", "in": "query", "schema": { "type": "string" } }, { "name": "channelId", "in": "query", "schema": { "type": "string" } }, { "name": "alarmPriority", "in": "query", "schema": { "type": "string" } }, { "name": "alarmMethod", "in": "query", "schema": { "type": "string" } }, { "name": "alarmType", "in": "query", "schema": { "type": "string" } }, { "name": "ackStatus", "in": "query", "schema": { "type": "string" } }, { "name": "begin", "in": "query", "schema": { "type": "string", "format": "date-time" } }, { "name": "end", "in": "query", "schema": { "type": "string", "format": "date-time" } }, { "name": "from", "in": "query", "schema": { "type": "string", "format": "date-time" } }, { "name": "to", "in": "query", "schema": { "type": "string", "format": "date-time" } }, { "name": "sinceHours", "in": "query", "schema": { "type": "number", "format": "double" } }, { "name": "keyword", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "devices.view", "x-akstream-module": "10 协议统一视图" } }, "/api/v2/protocols/alarms/events/{alarmEventId}/acknowledge": { "post": { "tags": [ "10 协议统一视图" ], "summary": "确认协议告警事件", "operationId": "POST_api_v2_protocols_alarms_events_alarmEventId_guid_acknowledge", "parameters": [ { "name": "alarmEventId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProtocolAlarmDispositionRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "10 协议统一视图" } }, "/api/v2/protocols/alarms/events/{alarmEventId}/clear": { "post": { "tags": [ "10 协议统一视图" ], "summary": "清除协议告警事件", "operationId": "POST_api_v2_protocols_alarms_events_alarmEventId_guid_clear", "parameters": [ { "name": "alarmEventId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProtocolAlarmDispositionRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "10 协议统一视图" } }, "/api/v2/protocols/alarms/events/{alarmEventId}/ignore": { "post": { "tags": [ "10 协议统一视图" ], "summary": "忽略协议告警事件", "operationId": "POST_api_v2_protocols_alarms_events_alarmEventId_guid_ignore", "parameters": [ { "name": "alarmEventId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProtocolAlarmDispositionRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "10 协议统一视图" } }, "/api/v2/protocols/alarms/events/{alarmEventId}/status": { "post": { "tags": [ "10 协议统一视图" ], "summary": "按指定状态更新协议告警事件", "operationId": "POST_api_v2_protocols_alarms_events_alarmEventId_guid_status", "parameters": [ { "name": "alarmEventId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProtocolAlarmStatusUpdateRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "10 协议统一视图" } }, "/api/v2/protocols/alarms/events/batch/{action}": { "post": { "tags": [ "10 协议统一视图" ], "summary": "批量确认、本地清除或忽略协议告警", "operationId": "POST_api_v2_protocols_alarms_events_batch_action", "parameters": [ { "name": "action", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProtocolAlarmBatchDispositionRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "10 协议统一视图" } }, "/api/v2/protocols/alarms/events/stats": { "get": { "tags": [ "10 协议统一视图" ], "summary": "统计协议告警事件处置状态", "operationId": "GET_api_v2_protocols_alarms_events_stats", "parameters": [ { "name": "protocol", "in": "query", "schema": { "type": "string" } }, { "name": "deviceId", "in": "query", "schema": { "type": "string" } }, { "name": "channelId", "in": "query", "schema": { "type": "string" } }, { "name": "alarmPriority", "in": "query", "schema": { "type": "string" } }, { "name": "alarmMethod", "in": "query", "schema": { "type": "string" } }, { "name": "alarmType", "in": "query", "schema": { "type": "string" } }, { "name": "ackStatus", "in": "query", "schema": { "type": "string" } }, { "name": "begin", "in": "query", "schema": { "type": "string", "format": "date-time" } }, { "name": "end", "in": "query", "schema": { "type": "string", "format": "date-time" } }, { "name": "from", "in": "query", "schema": { "type": "string", "format": "date-time" } }, { "name": "to", "in": "query", "schema": { "type": "string", "format": "date-time" } }, { "name": "sinceHours", "in": "query", "schema": { "type": "number", "format": "double" } }, { "name": "keyword", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "devices.view", "x-akstream-module": "10 协议统一视图" } }, "/api/v2/protocols/channels/orphan-video-bindings": { "get": { "tags": [ "10 协议统一视图" ], "summary": "查询协议通道孤儿视频绑定", "operationId": "GET_api_v2_protocols_channels_orphan_video_bindings", "parameters": [ { "name": "page", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "pageSize", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "protocol", "in": "query", "schema": { "type": "string" } }, { "name": "deviceId", "in": "query", "schema": { "type": "string" } }, { "name": "channelId", "in": "query", "schema": { "type": "string" } }, { "name": "keyword", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "devices.view", "x-akstream-module": "10 协议统一视图" } }, "/api/v2/protocols/channels/orphan-video-bindings/clear": { "post": { "tags": [ "10 协议统一视图" ], "summary": "清空协议通道孤儿视频绑定", "operationId": "POST_api_v2_protocols_channels_orphan_video_bindings_clear", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ClearProtocolOrphanVideoBindingRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.control", "x-akstream-module": "10 协议统一视图" } }, "/api/v2/protocols/commands": { "get": { "tags": [ "10 协议统一视图" ], "summary": "统一查询 GB28181、ONVIF 等协议命令", "operationId": "GET_api_v2_protocols_commands", "parameters": [ { "name": "statusMode", "in": "query", "schema": { "type": "string" } }, { "name": "page", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "pageSize", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "protocol", "in": "query", "schema": { "type": "string" } }, { "name": "status", "in": "query", "schema": { "type": "string" } }, { "name": "commandType", "in": "query", "schema": { "type": "string" } }, { "name": "deviceId", "in": "query", "schema": { "type": "string" } }, { "name": "channelId", "in": "query", "schema": { "type": "string" } }, { "name": "nodeId", "in": "query", "schema": { "type": "string" } }, { "name": "correlationId", "in": "query", "schema": { "type": "string" } }, { "name": "requestedBy", "in": "query", "schema": { "type": "string" } }, { "name": "from", "in": "query", "schema": { "type": "string", "format": "date-time" } }, { "name": "to", "in": "query", "schema": { "type": "string", "format": "date-time" } }, { "name": "sinceHours", "in": "query", "schema": { "type": "number", "format": "double" } }, { "name": "keyword", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "devices.view", "x-akstream-module": "10 协议统一视图" } }, "/api/v2/protocols/commands/{commandId}": { "get": { "tags": [ "10 协议统一视图" ], "summary": "读取协议命令详情", "operationId": "GET_api_v2_protocols_commands_commandId_guid", "parameters": [ { "name": "commandId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "devices.view", "x-akstream-module": "10 协议统一视图" } }, "/api/v2/protocols/commands/{commandId}/detail": { "get": { "tags": [ "10 协议统一视图" ], "summary": "读取协议命令详情,并联查关联 node 命令", "operationId": "GET_api_v2_protocols_commands_commandId_guid_detail", "parameters": [ { "name": "commandId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "devices.view", "x-akstream-module": "10 协议统一视图" } }, "/api/v2/protocols/commands/{commandId}/diagnosis": { "get": { "tags": [ "10 协议统一视图" ], "summary": "读取单条协议命令的可解释诊断", "operationId": "GET_api_v2_protocols_commands_commandId_guid_diagnosis", "parameters": [ { "name": "commandId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProtocolCommandDiagnosis" } } } } }, "x-akstream-permission": "devices.view", "x-akstream-module": "10 协议统一视图" } }, "/api/v2/protocols/commands/diagnostics": { "get": { "tags": [ "10 协议统一视图" ], "summary": "诊断协议命令失败和超时分布", "operationId": "GET_api_v2_protocols_commands_diagnostics", "parameters": [ { "name": "errorOnly", "in": "query", "schema": { "type": "boolean" } }, { "name": "analyzeLimit", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "bucketLimit", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "protocol", "in": "query", "schema": { "type": "string" } }, { "name": "status", "in": "query", "schema": { "type": "string" } }, { "name": "commandType", "in": "query", "schema": { "type": "string" } }, { "name": "deviceId", "in": "query", "schema": { "type": "string" } }, { "name": "channelId", "in": "query", "schema": { "type": "string" } }, { "name": "nodeId", "in": "query", "schema": { "type": "string" } }, { "name": "correlationId", "in": "query", "schema": { "type": "string" } }, { "name": "requestedBy", "in": "query", "schema": { "type": "string" } }, { "name": "from", "in": "query", "schema": { "type": "string", "format": "date-time" } }, { "name": "to", "in": "query", "schema": { "type": "string", "format": "date-time" } }, { "name": "sinceHours", "in": "query", "schema": { "type": "number", "format": "double" } }, { "name": "keyword", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProtocolCommandDiagnostics" } } } } }, "x-akstream-permission": "devices.view", "x-akstream-module": "10 协议统一视图" } }, "/api/v2/protocols/commands/stats": { "get": { "tags": [ "10 协议统一视图" ], "summary": "统计协议命令运行状态", "operationId": "GET_api_v2_protocols_commands_stats", "parameters": [ { "name": "protocol", "in": "query", "schema": { "type": "string" } }, { "name": "status", "in": "query", "schema": { "type": "string" } }, { "name": "commandType", "in": "query", "schema": { "type": "string" } }, { "name": "deviceId", "in": "query", "schema": { "type": "string" } }, { "name": "channelId", "in": "query", "schema": { "type": "string" } }, { "name": "nodeId", "in": "query", "schema": { "type": "string" } }, { "name": "correlationId", "in": "query", "schema": { "type": "string" } }, { "name": "requestedBy", "in": "query", "schema": { "type": "string" } }, { "name": "from", "in": "query", "schema": { "type": "string", "format": "date-time" } }, { "name": "to", "in": "query", "schema": { "type": "string", "format": "date-time" } }, { "name": "sinceHours", "in": "query", "schema": { "type": "number", "format": "double" } }, { "name": "keyword", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "devices.view", "x-akstream-module": "10 协议统一视图" } }, "/api/v2/protocols/devices": { "get": { "tags": [ "10 协议统一视图" ], "summary": "查询协议设备列表", "operationId": "GET_api_v2_protocols_devices", "parameters": [ { "name": "page", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "pageSize", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "protocol", "in": "query", "schema": { "type": "string" } }, { "name": "status", "in": "query", "schema": { "type": "string" } }, { "name": "keyword", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "devices.view", "x-akstream-module": "10 协议统一视图" }, "post": { "tags": [ "10 协议统一视图" ], "summary": "保存协议设备", "operationId": "POST_api_v2_protocols_devices", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SaveProtocolDeviceRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.manage", "x-akstream-module": "10 协议统一视图" } }, "/api/v2/protocols/devices/{protocol}/{deviceId}": { "delete": { "tags": [ "10 协议统一视图" ], "summary": "清除待生成通道的协议设备", "operationId": "DELETE_api_v2_protocols_devices_protocol_deviceId", "parameters": [ { "name": "protocol", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "deviceId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "devices.manage", "x-akstream-module": "10 协议统一视图" } }, "/api/v2/protocols/devices/{protocol}/{deviceId}/hard-delete": { "post": { "tags": [ "10 协议统一视图" ], "summary": "物理删除未激活协议设备的历史残留", "operationId": "POST_api_v2_protocols_devices_protocol_deviceId_hard_delete", "parameters": [ { "name": "protocol", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "deviceId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HardDeletePendingProtocolDeviceRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.manage", "x-akstream-module": "10 协议统一视图" } }, "/api/v2/protocols/devices/{protocol}/{deviceId}/name": { "put": { "tags": [ "10 协议统一视图" ], "summary": "修改协议设备的平台展示名称", "operationId": "PUT_api_v2_protocols_devices_protocol_deviceId_name", "parameters": [ { "name": "protocol", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "deviceId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RenameProtocolDeviceRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.manage", "x-akstream-module": "10 协议统一视图" } }, "/api/v2/protocols/sessions": { "get": { "tags": [ "10 协议统一视图" ], "summary": "统一查询 GB28181、ONVIF 等协议流会话", "operationId": "GET_api_v2_protocols_sessions", "parameters": [ { "name": "page", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "pageSize", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "protocol", "in": "query", "schema": { "type": "string" } }, { "name": "sessionType", "in": "query", "schema": { "type": "string" } }, { "name": "state", "in": "query", "schema": { "type": "string" } }, { "name": "deviceId", "in": "query", "schema": { "type": "string" } }, { "name": "channelId", "in": "query", "schema": { "type": "string" } }, { "name": "mediaServerId", "in": "query", "schema": { "type": "string" } }, { "name": "nodeId", "in": "query", "schema": { "type": "string" } }, { "name": "app", "in": "query", "schema": { "type": "string" } }, { "name": "stream", "in": "query", "schema": { "type": "string" } }, { "name": "streamId", "in": "query", "schema": { "type": "string" } }, { "name": "ssrc", "in": "query", "schema": { "type": "string" } }, { "name": "rtpPort", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "from", "in": "query", "schema": { "type": "string", "format": "date-time" } }, { "name": "to", "in": "query", "schema": { "type": "string", "format": "date-time" } }, { "name": "sinceHours", "in": "query", "schema": { "type": "number", "format": "double" } }, { "name": "keyword", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "devices.view", "x-akstream-module": "10 协议统一视图" } }, "/api/v2/protocols/sessions/{sessionId}": { "get": { "tags": [ "10 协议统一视图" ], "summary": "读取协议流会话详情", "operationId": "GET_api_v2_protocols_sessions_sessionId_guid", "parameters": [ { "name": "sessionId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "devices.view", "x-akstream-module": "10 协议统一视图" } }, "/api/v2/protocols/signals": { "get": { "tags": [ "10 协议统一视图" ], "summary": "统一查询 GB28181、ONVIF 等协议信令事件", "operationId": "GET_api_v2_protocols_signals", "parameters": [ { "name": "protocol", "in": "query", "schema": { "type": "string" } }, { "name": "eventType", "in": "query", "schema": { "type": "string" } }, { "name": "deviceId", "in": "query", "schema": { "type": "string" } }, { "name": "channelId", "in": "query", "schema": { "type": "string" } }, { "name": "status", "in": "query", "schema": { "type": "string" } }, { "name": "keyword", "in": "query", "schema": { "type": "string" } }, { "name": "page", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "pageSize", "in": "query", "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": {} }, "x-akstream-permission": "devices.view", "x-akstream-module": "10 协议统一视图" } }, "/api/v2/third-party/capabilities": { "get": { "tags": [ "11 第三方集成" ], "summary": "验证第三方 API Token 并读取能力分类", "operationId": "GET_api_v2_third_party_capabilities", "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ThirdPartyCapabilityView" } } } } }, "x-akstream-permission": "authenticated", "x-akstream-module": "11 第三方集成" } }, "/api/v2/third-party/channels": { "get": { "tags": [ "11 第三方集成" ], "summary": "分页查询第三方视频通道", "operationId": "GET_api_v2_third_party_channels", "parameters": [ { "name": "page", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "pageSize", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "mediaServerId", "in": "query", "schema": { "type": "string" } }, { "name": "nodeId", "in": "query", "schema": { "type": "string" } }, { "name": "protocol", "in": "query", "schema": { "type": "string" } }, { "name": "vhost", "in": "query", "schema": { "type": "string" } }, { "name": "app", "in": "query", "schema": { "type": "string" } }, { "name": "stream", "in": "query", "schema": { "type": "string" } }, { "name": "streamId", "in": "query", "schema": { "type": "string" } }, { "name": "deviceId", "in": "query", "schema": { "type": "string" } }, { "name": "deviceChannelId", "in": "query", "schema": { "type": "string" } }, { "name": "enabled", "in": "query", "schema": { "type": "boolean" } }, { "name": "autoVideo", "in": "query", "schema": { "type": "boolean" } }, { "name": "autoRecord", "in": "query", "schema": { "type": "boolean" } }, { "name": "noPlayerBreak", "in": "query", "schema": { "type": "boolean" } }, { "name": "hasAudio", "in": "query", "schema": { "type": "boolean" } }, { "name": "hasPtz", "in": "query", "schema": { "type": "boolean" } }, { "name": "isShareChannel", "in": "query", "schema": { "type": "boolean" } }, { "name": "desiredState", "in": "query", "schema": { "type": "string" } }, { "name": "actualState", "in": "query", "schema": { "type": "string" } }, { "name": "sourceUrl", "in": "query", "schema": { "type": "string" } }, { "name": "keyword", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ThirdPartyChannelPage" } } } } }, "x-akstream-permission": "channels.view", "x-akstream-module": "11 第三方集成" } }, "/api/v2/third-party/channels/{channelId}": { "get": { "tags": [ "11 第三方集成" ], "summary": "读取第三方视频通道详情", "operationId": "GET_api_v2_third_party_channels_channelId", "parameters": [ { "name": "channelId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ThirdPartyChannelView" } } } }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ThirdPartyApiError" } } } } }, "x-akstream-permission": "channels.view", "x-akstream-module": "11 第三方集成" } }, "/api/v2/third-party/channels/{channelId}/start": { "post": { "tags": [ "11 第三方集成" ], "summary": "启动第三方视频通道拉流", "operationId": "POST_api_v2_third_party_channels_channelId_start", "parameters": [ { "name": "channelId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ThirdPartyChannelStartView" } } } } }, "x-akstream-permission": "channels.manage", "x-akstream-module": "11 第三方集成" } }, "/api/v2/third-party/channels/{channelId}/stop": { "post": { "tags": [ "11 第三方集成" ], "summary": "停止并暂停第三方视频通道", "operationId": "POST_api_v2_third_party_channels_channelId_stop", "parameters": [ { "name": "channelId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ThirdPartyStreamCommandView" } } } } }, "x-akstream-permission": "channels.manage", "x-akstream-module": "11 第三方集成" } }, "/api/v2/third-party/media-servers": { "get": { "tags": [ "11 第三方集成" ], "summary": "查询第三方可用媒体节点", "operationId": "GET_api_v2_third_party_media_servers", "parameters": [ { "name": "clusterId", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ThirdPartyMediaServerView" } } } } } }, "x-akstream-permission": "nodes.view", "x-akstream-module": "11 第三方集成" } }, "/api/v2/third-party/streams": { "get": { "tags": [ "11 第三方集成" ], "summary": "查询第三方流会话状态", "operationId": "GET_api_v2_third_party_streams", "parameters": [ { "name": "mediaServerId", "in": "query", "schema": { "type": "string" } }, { "name": "streamId", "in": "query", "schema": { "type": "string" } }, { "name": "state", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ThirdPartyStreamView" } } } } } }, "x-akstream-permission": "streams.view", "x-akstream-module": "11 第三方集成" } }, "/api/v2/third-party/channels/{channelId}/playback": { "post": { "tags": [ "11 第三方集成" ], "summary": "签发第三方直播短时播放地址", "operationId": "POST_api_v2_third_party_channels_channelId_playback", "parameters": [ { "name": "channelId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ThirdPartyLivePlaybackRequest" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ThirdPartyLivePlaybackInfo" } } } } }, "x-akstream-permission": "streams.play", "x-akstream-module": "11 第三方集成" } }, "/api/v2/third-party/channels/{channelId}/playback-lease": { "post": { "tags": [ "11 第三方集成" ], "summary": "创建 URL 不变的第三方直播播放租约", "operationId": "POST_api_v2_third_party_channels_channelId_playback_lease", "parameters": [ { "name": "channelId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ThirdPartyPlaybackLeaseRequest" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ThirdPartyPlaybackLeaseInfo" } } } } }, "x-akstream-permission": "streams.play", "x-akstream-module": "11 第三方集成" } }, "/api/v2/third-party/cut-merge/tasks/{taskId}/download-link": { "post": { "tags": [ "11 第三方集成" ], "summary": "签发裁剪合并结果短时下载地址", "operationId": "POST_api_v2_third_party_cut_merge_tasks_taskId_download_link", "parameters": [ { "name": "taskId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ThirdPartyMediaLinkRequest" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ThirdPartyMediaLink" } } } } }, "x-akstream-permission": "recordings.download", "x-akstream-module": "11 第三方集成" } }, "/api/v2/third-party/cut-merge/tasks/{taskId}/playback-lease": { "post": { "tags": [ "11 第三方集成" ], "summary": "创建 URL 不变的裁剪结果播放租约", "operationId": "POST_api_v2_third_party_cut_merge_tasks_taskId_playback_lease", "parameters": [ { "name": "taskId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ThirdPartyPlaybackLeaseRequest" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ThirdPartyPlaybackLeaseInfo" } } } } }, "x-akstream-permission": "recordings.play", "x-akstream-module": "11 第三方集成" } }, "/api/v2/third-party/cut-merge/tasks/{taskId}/playback-link": { "post": { "tags": [ "11 第三方集成" ], "summary": "签发裁剪合并结果短时播放地址", "operationId": "POST_api_v2_third_party_cut_merge_tasks_taskId_playback_link", "parameters": [ { "name": "taskId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ThirdPartyMediaLinkRequest" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ThirdPartyMediaLink" } } } } }, "x-akstream-permission": "recordings.play", "x-akstream-module": "11 第三方集成" } }, "/api/v2/third-party/gb28181/playback-sessions/{sessionId}/playback-lease": { "post": { "tags": [ "11 第三方集成" ], "summary": "为 GB28181 回放会话创建播放租约", "operationId": "POST_api_v2_third_party_gb28181_playback_sessions_sessionId_guid_playback_lease", "parameters": [ { "name": "sessionId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ThirdPartyPlaybackLeaseRequest" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ThirdPartyPlaybackLeaseInfo" } } } } }, "x-akstream-permission": "streams.play", "x-akstream-module": "11 第三方集成" } }, "/api/v2/third-party/playback-leases/{leaseId}": { "get": { "tags": [ "11 第三方集成" ], "summary": "查询第三方可续租播放会话状态", "operationId": "GET_api_v2_third_party_playback_leases_leaseId_guid", "parameters": [ { "name": "leaseId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ThirdPartyPlaybackLeaseStatus" } } } } }, "x-akstream-permission": "authenticated", "x-akstream-module": "11 第三方集成" }, "delete": { "tags": [ "11 第三方集成" ], "summary": "撤销第三方播放会话", "operationId": "DELETE_api_v2_third_party_playback_leases_leaseId_guid", "parameters": [ { "name": "leaseId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "reason", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ThirdPartyPlaybackLeaseRevokeResult" } } } } }, "x-akstream-permission": "authenticated", "x-akstream-module": "11 第三方集成" } }, "/api/v2/third-party/playback-leases/{leaseId}/renew": { "post": { "tags": [ "11 第三方集成" ], "summary": "续租第三方播放会话且保持 URL 不变", "operationId": "POST_api_v2_third_party_playback_leases_leaseId_guid_renew", "parameters": [ { "name": "leaseId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RenewThirdPartyPlaybackLeaseRequest" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ThirdPartyPlaybackLeaseStatus" } } } } }, "x-akstream-permission": "authenticated", "x-akstream-module": "11 第三方集成" } }, "/api/v2/third-party/recordings/{fileId}/download-link": { "post": { "tags": [ "11 第三方集成" ], "summary": "签发录像短时下载地址", "operationId": "POST_api_v2_third_party_recordings_fileId_guid_download_link", "parameters": [ { "name": "fileId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ThirdPartyMediaLinkRequest" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ThirdPartyMediaLink" } } } } }, "x-akstream-permission": "recordings.download", "x-akstream-module": "11 第三方集成" } }, "/api/v2/third-party/recordings/{fileId}/playback-lease": { "post": { "tags": [ "11 第三方集成" ], "summary": "创建 URL 不变的录像播放租约", "operationId": "POST_api_v2_third_party_recordings_fileId_guid_playback_lease", "parameters": [ { "name": "fileId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ThirdPartyPlaybackLeaseRequest" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ThirdPartyPlaybackLeaseInfo" } } } } }, "x-akstream-permission": "recordings.play", "x-akstream-module": "11 第三方集成" } }, "/api/v2/third-party/recordings/{fileId}/playback-link": { "post": { "tags": [ "11 第三方集成" ], "summary": "签发录像短时播放地址", "operationId": "POST_api_v2_third_party_recordings_fileId_guid_playback_link", "parameters": [ { "name": "fileId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ThirdPartyMediaLinkRequest" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ThirdPartyMediaLink" } } } } }, "x-akstream-permission": "recordings.play", "x-akstream-module": "11 第三方集成" } }, "/api/v2/third-party/recordings": { "get": { "tags": [ "11 第三方集成" ], "summary": "查询第三方录像文件,保留 API Token 身份校验及统一错误响应。", "operationId": "GET_api_v2_third_party_recordings", "parameters": [ { "name": "sort", "in": "query", "schema": { "type": "string" } }, { "name": "page", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "pageSize", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "channelId", "in": "query", "schema": { "type": "string" } }, { "name": "mediaServerId", "in": "query", "schema": { "type": "string" } }, { "name": "nodeId", "in": "query", "schema": { "type": "string" } }, { "name": "app", "in": "query", "schema": { "type": "string" } }, { "name": "streamId", "in": "query", "schema": { "type": "string" } }, { "name": "fileState", "in": "query", "schema": { "type": "string" } }, { "name": "startTime", "in": "query", "schema": { "type": "string", "format": "date-time" } }, { "name": "endTime", "in": "query", "schema": { "type": "string", "format": "date-time" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ThirdPartyRecordingPage" } } } }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ThirdPartyApiError" } } } } }, "x-akstream-permission": "recordings.view", "x-akstream-module": "11 第三方集成" } }, "/api/v2/third-party/recordings/hard-delete": { "post": { "tags": [ "11 第三方集成" ], "summary": "第三方批量发起录像硬删除", "operationId": "POST_api_v2_third_party_recordings_hard_delete", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RecordFileBatchRequest" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RecordFileBatchResult" } } } } }, "x-akstream-permission": "recordings.delete", "x-akstream-module": "11 第三方集成" } }, "/api/v2/third-party/recordings/restore": { "post": { "tags": [ "11 第三方集成" ], "summary": "第三方批量恢复软删除录像", "operationId": "POST_api_v2_third_party_recordings_restore", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RecordFileBatchRequest" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RecordFileBatchResult" } } } } }, "x-akstream-permission": "recordings.manage", "x-akstream-module": "11 第三方集成" } }, "/api/v2/third-party/recordings/soft-delete": { "post": { "tags": [ "11 第三方集成" ], "summary": "第三方批量软删除录像", "operationId": "POST_api_v2_third_party_recordings_soft_delete", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RecordFileBatchRequest" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RecordFileBatchResult" } } } } }, "x-akstream-permission": "recordings.delete", "x-akstream-module": "11 第三方集成" } }, "/api/v2/third-party/cut-merge/tasks": { "get": { "tags": [ "11 第三方集成" ], "summary": "分页查询第三方裁剪合并任务", "operationId": "GET_api_v2_third_party_cut_merge_tasks", "parameters": [ { "name": "mediaServerId", "in": "query", "schema": { "type": "string" } }, { "name": "taskStatus", "in": "query", "schema": { "type": "string" } }, { "name": "mainId", "in": "query", "schema": { "type": "string" } }, { "name": "page", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "pageSize", "in": "query", "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ThirdPartyCutMergeTaskPage" } } } } }, "x-akstream-permission": "recordings.view", "x-akstream-module": "11 第三方集成" }, "post": { "tags": [ "11 第三方集成" ], "summary": "创建第三方录像裁剪合并任务", "operationId": "POST_api_v2_third_party_cut_merge_tasks", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CutMergeRequest" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ThirdPartyCutMergeTaskView" } } } } }, "x-akstream-permission": "recordings.manage", "x-akstream-module": "11 第三方集成" } }, "/api/v2/third-party/cut-merge/tasks/{taskId}": { "get": { "tags": [ "11 第三方集成" ], "summary": "读取第三方裁剪合并任务状态", "operationId": "GET_api_v2_third_party_cut_merge_tasks_taskId", "parameters": [ { "name": "taskId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ThirdPartyCutMergeTaskView" } } } } }, "x-akstream-permission": "recordings.view", "x-akstream-module": "11 第三方集成" }, "delete": { "tags": [ "11 第三方集成" ], "summary": "删除第三方裁剪合并任务", "operationId": "DELETE_api_v2_third_party_cut_merge_tasks_taskId", "parameters": [ { "name": "taskId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "deleteOutputFile", "in": "query", "schema": { "type": "boolean" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ThirdPartyCutMergeDeleteView" } } } } }, "x-akstream-permission": "recordings.delete", "x-akstream-module": "11 第三方集成" } }, "/api/v2/auth/bootstrap": { "post": { "tags": [ "99 未归类" ], "summary": "从服务器本机初始化首个超级管理员", "operationId": "POST_api_v2_auth_bootstrap", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BootstrapAdminRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "", "x-akstream-module": "99 未归类" } }, "/api/v2/auth/bootstrap-status": { "get": { "tags": [ "99 未归类" ], "summary": "查询是否需要首次初始化管理员", "operationId": "GET_api_v2_auth_bootstrap_status", "responses": { "200": {} }, "x-akstream-permission": "", "x-akstream-module": "99 未归类" } }, "/api/v2/auth/captcha/{id}": { "get": { "tags": [ "99 未归类" ], "summary": "读取一次性图形验证码图片", "operationId": "GET_api_v2_auth_captcha_id_guid", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "", "x-akstream-module": "99 未归类" } }, "/api/v2/auth/captcha/{id}/refresh": { "post": { "tags": [ "99 未归类" ], "summary": "作废当前验证码并签发新的随机挑战", "operationId": "POST_api_v2_auth_captcha_id_guid_refresh", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "", "x-akstream-module": "99 未归类" } }, "/api/v2/auth/change-password": { "post": { "tags": [ "99 未归类" ], "summary": "当前用户修改自己的密码并撤销全部会话", "operationId": "POST_api_v2_auth_change_password", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ChangePasswordRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "authenticated", "x-akstream-module": "99 未归类" } }, "/api/v2/auth/login": { "post": { "tags": [ "99 未归类" ], "summary": "用户名密码登录", "operationId": "POST_api_v2_auth_login", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LoginRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "", "x-akstream-module": "99 未归类" } }, "/api/v2/auth/logout": { "post": { "tags": [ "99 未归类" ], "summary": "退出当前会话并立即撤销服务端会话", "operationId": "POST_api_v2_auth_logout", "responses": { "200": {} }, "x-akstream-permission": "authenticated", "x-akstream-module": "99 未归类" } }, "/api/v2/auth/me": { "get": { "tags": [ "99 未归类" ], "summary": "读取当前登录用户、角色和权限点", "operationId": "GET_api_v2_auth_me", "responses": { "200": {} }, "x-akstream-permission": "authenticated", "x-akstream-module": "99 未归类" } }, "/api/v2/auth/refresh": { "post": { "tags": [ "99 未归类" ], "summary": "旋转 Refresh Token 并签发新的短时访问令牌", "operationId": "POST_api_v2_auth_refresh", "responses": { "200": {} }, "x-akstream-permission": "", "x-akstream-module": "99 未归类" } }, "/api/v2/display-wall/programs": { "get": { "tags": [ "99 未归类" ], "summary": "查询显示墙节目", "operationId": "GET_api_v2_display_wall_programs", "responses": { "200": {} }, "x-akstream-permission": "display-wall.view", "x-akstream-module": "99 未归类" }, "post": { "tags": [ "99 未归类" ], "summary": "创建显示墙节目", "operationId": "POST_api_v2_display_wall_programs", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SaveDisplayWallProgramRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "display-wall.manage", "x-akstream-module": "99 未归类" } }, "/api/v2/display-wall/programs/{id}": { "get": { "tags": [ "99 未归类" ], "summary": "读取一个显示墙节目", "operationId": "GET_api_v2_display_wall_programs_id_guid", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "display-wall.view", "x-akstream-module": "99 未归类" }, "put": { "tags": [ "99 未归类" ], "summary": "保存显示墙节目,并通过修订号防止并发覆盖", "operationId": "PUT_api_v2_display_wall_programs_id_guid", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SaveDisplayWallProgramRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "display-wall.manage", "x-akstream-module": "99 未归类" }, "delete": { "tags": [ "99 未归类" ], "summary": "删除未在播出的显示墙节目", "operationId": "DELETE_api_v2_display_wall_programs_id_guid", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "display-wall.manage", "x-akstream-module": "99 未归类" } }, "/api/v2/display-wall/runtime": { "get": { "tags": [ "99 未归类" ], "summary": "读取显示墙播出控制与轻量通道在线快照", "operationId": "GET_api_v2_display_wall_runtime", "responses": { "200": {} }, "x-akstream-permission": "display-wall.view", "x-akstream-module": "99 未归类" } }, "/api/v2/display-wall/runtime/start": { "post": { "tags": [ "99 未归类" ], "summary": "从第一个场景启动节目轮询,所有已打开大屏按同一服务端时间同步播出", "operationId": "POST_api_v2_display_wall_runtime_start", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StartDisplayWallProgramRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "display-wall.manage", "x-akstream-module": "99 未归类" } }, "/api/v2/display-wall/runtime/stop": { "post": { "tags": [ "99 未归类" ], "summary": "停止节目轮询并冻结在当前场景,不清空已经上墙的画面", "operationId": "POST_api_v2_display_wall_runtime_stop", "responses": { "200": {} }, "x-akstream-permission": "display-wall.manage", "x-akstream-module": "99 未归类" } }, "/api/v2/licensing/export/{licenseId}": { "get": { "tags": [ "99 未归类" ], "summary": "GET /api/v2/licensing/export/{licenseId}", "operationId": "GET_api_v2_licensing_export_licenseId_guid", "parameters": [ { "name": "licenseId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "authenticated", "x-akstream-module": "99 未归类" } }, "/api/v2/licensing/import": { "post": { "tags": [ "99 未归类" ], "summary": "POST /api/v2/licensing/import", "operationId": "POST_api_v2_licensing_import", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AkLicenseImportRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "system.config.manage", "x-akstream-module": "99 未归类" } }, "/api/v2/licensing/request": { "get": { "tags": [ "99 未归类" ], "summary": "GET /api/v2/licensing/request", "operationId": "GET_api_v2_licensing_request", "responses": { "200": {} }, "x-akstream-permission": "authenticated", "x-akstream-module": "99 未归类" } }, "/api/v2/licensing/status": { "get": { "tags": [ "99 未归类" ], "summary": "GET /api/v2/licensing/status", "operationId": "GET_api_v2_licensing_status", "responses": { "200": {} }, "x-akstream-permission": "authenticated", "x-akstream-module": "99 未归类" } }, "/api/v2/talk/sessions/{sessionId}": { "get": { "tags": [ "99 未归类" ], "summary": "查询对讲媒体发送状态", "operationId": "GET_api_v2_talk_sessions_sessionId_guid", "parameters": [ { "name": "sessionId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "devices.view", "x-akstream-module": "99 未归类" } }, "/api/v2/talk/sessions/{sessionId}/audio": { "post": { "tags": [ "99 未归类" ], "summary": "向已建立的 GB28181 或 ONVIF 对讲会话写入 G.711 音频", "operationId": "POST_api_v2_talk_sessions_sessionId_guid_audio", "parameters": [ { "name": "sessionId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/octet-stream": { "schema": { "type": "string", "format": "binary" } }, "audio/pcma": { "schema": { "type": "string", "format": "binary" } }, "audio/pcmu": { "schema": { "type": "string", "format": "binary" } }, "audio/g711a": { "schema": { "type": "string", "format": "binary" } }, "audio/g711u": { "schema": { "type": "string", "format": "binary" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.talk", "x-akstream-module": "99 未归类" } }, "/api/v2/talk/sessions/{sessionId}/media": { "delete": { "tags": [ "99 未归类" ], "summary": "仅释放对讲媒体发送端", "operationId": "DELETE_api_v2_talk_sessions_sessionId_guid_media", "parameters": [ { "name": "sessionId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "devices.talk", "x-akstream-module": "99 未归类" } }, "/api/v2/talk/sessions/{sessionId}/ptt": { "post": { "tags": [ "99 未归类" ], "summary": "设置对讲会话 PTT 发送门控", "operationId": "POST_api_v2_talk_sessions_sessionId_guid_ptt", "parameters": [ { "name": "sessionId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TalkPushToTalkRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "devices.talk", "x-akstream-module": "99 未归类" } }, "/api/v2/setup/status": { "get": { "tags": [ "01 系统与健康" ], "summary": "读取安装状态", "operationId": "GET_api_v2_setup_status", "responses": { "200": {} }, "x-akstream-permission": "", "x-akstream-module": "01 系统与健康", "x-akstream-availability": "all-modes" } }, "/api/v2/setup/catalog": { "get": { "tags": [ "01 系统与健康" ], "summary": "读取首次配置选项", "operationId": "GET_api_v2_setup_catalog", "parameters": [ { "name": "X-AK-Setup-Token", "in": "header", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "setup-token", "x-akstream-module": "01 系统与健康", "x-akstream-availability": "installation-only" } }, "/api/v2/setup/files/roots": { "get": { "tags": [ "01 系统与健康" ], "summary": "列出安装目录选择入口", "operationId": "GET_api_v2_setup_files_roots", "parameters": [ { "name": "X-AK-Setup-Token", "in": "header", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "setup-token", "x-akstream-module": "01 系统与健康", "x-akstream-availability": "installation-only" } }, "/api/v2/setup/files/browse": { "post": { "tags": [ "01 系统与健康" ], "summary": "浏览安装目录", "operationId": "POST_api_v2_setup_files_browse", "parameters": [ { "name": "X-AK-Setup-Token", "in": "header", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FirstRunPathRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "setup-token", "x-akstream-module": "01 系统与健康", "x-akstream-availability": "installation-only" } }, "/api/v2/setup/files/directories": { "post": { "tags": [ "01 系统与健康" ], "summary": "创建安装目录", "operationId": "POST_api_v2_setup_files_directories", "parameters": [ { "name": "X-AK-Setup-Token", "in": "header", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FirstRunDirectoryCreateRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "setup-token", "x-akstream-module": "01 系统与健康", "x-akstream-availability": "installation-only" } }, "/api/v2/setup/files/validate": { "post": { "tags": [ "01 系统与健康" ], "summary": "验证安装目录", "operationId": "POST_api_v2_setup_files_validate", "parameters": [ { "name": "X-AK-Setup-Token", "in": "header", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FirstRunPathRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "setup-token", "x-akstream-module": "01 系统与健康", "x-akstream-availability": "installation-only" } }, "/api/v2/setup/database/test": { "post": { "tags": [ "01 系统与健康" ], "summary": "测试安装数据库连接", "operationId": "POST_api_v2_setup_database_test", "parameters": [ { "name": "X-AK-Setup-Token", "in": "header", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FirstRunDatabaseInput" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "setup-token", "x-akstream-module": "01 系统与健康", "x-akstream-availability": "installation-only" } }, "/api/v2/setup/detect/network": { "get": { "tags": [ "01 系统与健康" ], "summary": "检查安装网络环境", "operationId": "GET_api_v2_setup_detect_network", "parameters": [ { "name": "X-AK-Setup-Token", "in": "header", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "setup-token", "x-akstream-module": "01 系统与健康", "x-akstream-availability": "installation-only" } }, "/api/v2/setup/detect/nginx": { "post": { "tags": [ "01 系统与健康" ], "summary": "检查 HTTPS 代理环境", "operationId": "POST_api_v2_setup_detect_nginx", "parameters": [ { "name": "X-AK-Setup-Token", "in": "header", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FirstRunEnvironmentDetectionRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "setup-token", "x-akstream-module": "01 系统与健康", "x-akstream-availability": "installation-only" } }, "/api/v2/setup/notifications/test": { "post": { "tags": [ "01 系统与健康" ], "summary": "测试通知配置", "operationId": "POST_api_v2_setup_notifications_test", "parameters": [ { "name": "X-AK-Setup-Token", "in": "header", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FirstRunNotificationInput" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "setup-token", "x-akstream-module": "01 系统与健康", "x-akstream-availability": "installation-only" } }, "/api/v2/setup/media/build/inspect": { "get": { "tags": [ "01 系统与健康" ], "summary": "检查媒体服务准备条件", "operationId": "GET_api_v2_setup_media_build_inspect", "parameters": [ { "name": "sourceMode", "in": "query", "schema": { "type": "string" } }, { "name": "X-AK-Setup-Token", "in": "header", "required": true, "schema": { "type": "string" } } ], "responses": { "200": {} }, "x-akstream-permission": "setup-token", "x-akstream-module": "01 系统与健康", "x-akstream-availability": "installation-only" } }, "/api/v2/setup/media/build/status": { "get": { "tags": [ "01 系统与健康" ], "summary": "读取媒体服务准备状态", "operationId": "GET_api_v2_setup_media_build_status", "responses": { "200": {} }, "x-akstream-permission": "", "x-akstream-module": "01 系统与健康", "x-akstream-availability": "all-modes" } }, "/api/v2/setup/media/build/start": { "post": { "tags": [ "01 系统与健康" ], "summary": "启动媒体服务准备任务", "operationId": "POST_api_v2_setup_media_build_start", "parameters": [ { "name": "X-AK-Setup-Token", "in": "header", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FirstRunMediaBuildRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "setup-token", "x-akstream-module": "01 系统与健康", "x-akstream-availability": "installation-only" } }, "/api/v2/setup/preflight": { "post": { "tags": [ "01 系统与健康" ], "summary": "预检首次配置", "operationId": "POST_api_v2_setup_preflight", "parameters": [ { "name": "X-AK-Setup-Token", "in": "header", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FirstRunInstallationRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "setup-token", "x-akstream-module": "01 系统与健康", "x-akstream-availability": "installation-only" } }, "/api/v2/setup/complete": { "post": { "tags": [ "01 系统与健康" ], "summary": "提交首次配置并查看结果", "operationId": "POST_api_v2_setup_complete", "parameters": [ { "name": "X-AK-Setup-Token", "in": "header", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FirstRunInstallationRequest" } } }, "required": true }, "responses": { "200": {} }, "x-akstream-permission": "setup-token", "x-akstream-module": "01 系统与健康", "x-akstream-availability": "installation-only" } } }, "components": { "schemas": { "AkHealthSnapshot": { "type": "object", "properties": { "status": { "type": "string" }, "scope": { "type": "string" }, "statusDetail": { "type": "string" }, "readinessUrl": { "type": "string" }, "version": { "allOf": [ { "$ref": "#/components/schemas/AkVersionInfo" } ] }, "nodeId": { "type": "string" }, "clusterId": { "type": "string" }, "roles": { "type": "array", "items": { "type": "string" } }, "modules": { "type": "array", "items": { "$ref": "#/components/schemas/AkModuleHealth" } }, "serverTime": { "type": "string", "format": "date-time" } }, "additionalProperties": false }, "RemovedProtocolResidueCleanupRequest": { "type": "object", "properties": { "clusterId": { "type": "string", "nullable": true }, "dryRun": { "type": "boolean" }, "limitPerEntity": { "type": "integer", "format": "int32", "nullable": true }, "sampleSize": { "type": "integer", "format": "int32", "nullable": true }, "actor": { "type": "string", "nullable": true }, "reason": { "type": "string", "nullable": true } }, "additionalProperties": false }, "DataRetentionCleanupRunRequest": { "type": "object", "properties": { "confirmExecute": { "type": "boolean" }, "actor": { "type": "string", "nullable": true }, "reason": { "type": "string", "nullable": true } }, "additionalProperties": false }, "AkConfigurationPatchRequest": { "type": "object", "properties": { "configFileName": { "type": "string", "nullable": true }, "applyRuntimeLogSwitch": { "type": "boolean" }, "zlmPolicy": { "$ref": "#/components/schemas/AkZlmPolicyConfigPatch" }, "zlmPublishPolicy": { "$ref": "#/components/schemas/AkZlmPublishPolicyConfigPatch" }, "zlmManaged": { "$ref": "#/components/schemas/AkZlmManagedConfigPatch" }, "recording": { "$ref": "#/components/schemas/AkRecordingConfigPatch" }, "dataRetention": { "$ref": "#/components/schemas/AkDataRetentionConfigPatch" }, "loggingControl": { "$ref": "#/components/schemas/AkLoggingConfigPatch" }, "backgroundTasks": { "$ref": "#/components/schemas/AkBackgroundTaskConfigPatch" }, "protocols": { "$ref": "#/components/schemas/AkProtocolConfigPatch" }, "rtc": { "$ref": "#/components/schemas/AkRtcConfigPatch" } }, "additionalProperties": false }, "AkRawConfigurationFile": { "type": "object", "properties": { "fileName": { "type": "string" }, "fullPath": { "type": "string" }, "content": { "type": "string" }, "sha256": { "type": "string" }, "exists": { "type": "boolean" }, "writable": { "type": "boolean" }, "lastWriteTime": { "type": "string", "format": "date-time", "nullable": true } }, "additionalProperties": false }, "AkRawConfigurationApplyRequest": { "type": "object", "properties": { "fileName": { "type": "string", "nullable": true }, "content": { "type": "string" }, "expectedSha256": { "type": "string", "nullable": true }, "confirmApply": { "type": "boolean" }, "reason": { "type": "string", "nullable": true } }, "additionalProperties": false }, "AkRawConfigurationApplyResult": { "type": "object", "properties": { "success": { "type": "boolean" }, "fileName": { "type": "string" }, "fullPath": { "type": "string" }, "backupPath": { "type": "string", "nullable": true }, "sha256": { "type": "string" }, "writtenAt": { "type": "string", "format": "date-time" }, "changes": { "type": "array", "items": { "$ref": "#/components/schemas/AkRawConfigurationChange" } }, "warning": { "type": "string", "nullable": true } }, "additionalProperties": false }, "AkRawConfigurationPlanRequest": { "type": "object", "properties": { "fileName": { "type": "string", "nullable": true }, "content": { "type": "string" }, "expectedSha256": { "type": "string", "nullable": true } }, "additionalProperties": false }, "AkRawConfigurationPlan": { "type": "object", "properties": { "fileName": { "type": "string" }, "fullPath": { "type": "string" }, "beforeContent": { "type": "string" }, "proposedContent": { "type": "string" }, "beforeSha256": { "type": "string" }, "proposedSha256": { "type": "string" }, "hasChanges": { "type": "boolean" }, "requiresRestart": { "type": "boolean" }, "changes": { "type": "array", "items": { "$ref": "#/components/schemas/AkRawConfigurationChange" } } }, "additionalProperties": false }, "AkRuntimeConfigurationFile": { "type": "object", "properties": { "fileName": { "type": "string" }, "fullPath": { "type": "string" }, "sha256": { "type": "string" }, "exists": { "type": "boolean" }, "writable": { "type": "boolean" }, "lastWriteTime": { "type": "string", "format": "date-time", "nullable": true }, "properties": { "type": "object", "additionalProperties": {} } }, "additionalProperties": false }, "AkRuntimeConfigurationApplyRequest": { "type": "object", "properties": { "properties": { "type": "object", "additionalProperties": {} }, "expectedSha256": { "type": "string", "nullable": true }, "confirmApply": { "type": "boolean" }, "reason": { "type": "string", "nullable": true } }, "additionalProperties": false }, "AkRuntimeConfigurationPlanRequest": { "type": "object", "properties": { "properties": { "type": "object", "additionalProperties": {} }, "expectedSha256": { "type": "string", "nullable": true } }, "additionalProperties": false }, "RuntimeStateWebSocketInfo": { "type": "object", "properties": { "webSocketPath": { "type": "string" }, "subProtocol": { "type": "string" }, "authentication": { "type": "string" }, "heartbeatSeconds": { "type": "integer", "format": "int32" }, "maximumConnectionSeconds": { "type": "integer", "format": "int32" }, "domains": { "type": "array", "items": { "type": "string" } }, "messageTypes": { "type": "array", "items": { "type": "string" } }, "recovery": { "type": "string" } }, "additionalProperties": false }, "SystemConfigDeployRequest": { "type": "object", "properties": { "scopeType": { "type": "string" }, "scopeId": { "type": "string", "nullable": true }, "nodeId": { "type": "string", "nullable": true }, "zlmNodeId": { "type": "string", "nullable": true }, "expectedRevision": { "type": "integer", "format": "int64", "nullable": true }, "reason": { "type": "string", "nullable": true }, "changes": { "type": "object", "additionalProperties": { "nullable": true } }, "confirmApply": { "type": "boolean" } }, "additionalProperties": false }, "SystemConfigPlanRequest": { "type": "object", "properties": { "scopeType": { "type": "string" }, "scopeId": { "type": "string", "nullable": true }, "nodeId": { "type": "string", "nullable": true }, "zlmNodeId": { "type": "string", "nullable": true }, "expectedRevision": { "type": "integer", "format": "int64", "nullable": true }, "reason": { "type": "string", "nullable": true }, "changes": { "type": "object", "additionalProperties": { "nullable": true } } }, "additionalProperties": false }, "SystemConfigRollbackRequest": { "type": "object", "properties": { "revisionId": { "type": "string", "format": "uuid" }, "nodeId": { "type": "string", "nullable": true }, "reason": { "type": "string", "nullable": true }, "confirmApply": { "type": "boolean" } }, "additionalProperties": false }, "ConfigurationWizardApplyRequest": { "type": "object", "properties": { "nodeId": { "type": "string", "nullable": true }, "scopeType": { "type": "string" }, "scopeId": { "type": "string", "nullable": true }, "zlmNodeId": { "type": "string", "nullable": true }, "workload": { "$ref": "#/components/schemas/ConfigurationWizardWorkload" }, "overrides": { "type": "object", "additionalProperties": {} }, "selectedPaths": { "type": "array", "items": { "type": "string" } }, "expectedRevision": { "type": "integer", "format": "int64", "nullable": true }, "reason": { "type": "string", "nullable": true }, "confirmApply": { "type": "boolean" }, "applyAkStream": { "type": "boolean" }, "applyZlmConfig": { "type": "boolean" }, "applyHostTuning": { "type": "boolean" }, "restartZlm": { "type": "boolean" } }, "additionalProperties": false }, "ConfigurationWizardPlanRequest": { "type": "object", "properties": { "nodeId": { "type": "string", "nullable": true }, "scopeType": { "type": "string" }, "scopeId": { "type": "string", "nullable": true }, "zlmNodeId": { "type": "string", "nullable": true }, "workload": { "$ref": "#/components/schemas/ConfigurationWizardWorkload" }, "overrides": { "type": "object", "additionalProperties": {} }, "selectedPaths": { "type": "array", "items": { "type": "string" } }, "expectedRevision": { "type": "integer", "format": "int64", "nullable": true }, "reason": { "type": "string", "nullable": true } }, "additionalProperties": false }, "ConfigurationWizardRecommendRequest": { "type": "object", "properties": { "nodeId": { "type": "string", "nullable": true }, "scopeType": { "type": "string" }, "scopeId": { "type": "string", "nullable": true }, "zlmNodeId": { "type": "string", "nullable": true }, "workload": { "$ref": "#/components/schemas/ConfigurationWizardWorkload" }, "overrides": { "type": "object", "additionalProperties": {} } }, "additionalProperties": false }, "SystemDirectoryCreateRequest": { "type": "object", "properties": { "fieldPath": { "type": "string" }, "parentPath": { "type": "string" }, "name": { "type": "string" } }, "additionalProperties": false }, "SystemPathValidationRequest": { "type": "object", "properties": { "fieldPath": { "type": "string" }, "path": { "type": "string", "nullable": true } }, "additionalProperties": false }, "CreateNodeAgentEnrollmentRequest": { "type": "object", "properties": { "lifetimeMinutes": { "type": "integer", "format": "int32" } }, "additionalProperties": false }, "CreateNodeLifecycleOperationRequest": { "type": "object", "properties": { "nodeId": { "type": "string" }, "action": { "type": "string" }, "idempotencyKey": { "type": "string", "nullable": true }, "reason": { "type": "string", "nullable": true }, "force": { "type": "boolean" }, "drainTimeoutSeconds": { "type": "integer", "format": "int32" } }, "additionalProperties": false }, "LogDiagnosticAgentStartRequest": { "type": "object", "properties": { "sequence": { "type": "integer", "format": "int64", "nullable": true }, "sessionId": { "type": "string" }, "incidentDescription": { "type": "string", "nullable": true }, "mode": { "type": "string", "nullable": true }, "recentMinutes": { "type": "integer", "format": "int32", "nullable": true } }, "additionalProperties": false }, "LogDiagnosticAgentMessageRequest": { "type": "object", "properties": { "message": { "type": "string" } }, "additionalProperties": false }, "LogAnalysisRequest": { "type": "object", "properties": { "sequence": { "type": "integer", "format": "int64" }, "sessionId": { "type": "string" }, "incidentDescription": { "type": "string", "nullable": true } }, "additionalProperties": false }, "SystemEmailTestRequest": { "type": "object", "properties": { "reason": { "type": "string" } }, "additionalProperties": false }, "HostTuningApplyRequest": { "type": "object", "properties": { "nodeId": { "type": "string" }, "values": { "type": "object", "additionalProperties": {} }, "reason": { "type": "string", "nullable": true }, "confirmApply": { "type": "boolean" } }, "additionalProperties": false }, "HostTuningPlanRequest": { "type": "object", "properties": { "nodeId": { "type": "string" }, "values": { "type": "object", "additionalProperties": {} } }, "additionalProperties": false }, "RunSystemTaskRequest": { "type": "object", "properties": { "confirmExecute": { "type": "boolean" }, "dryRun": { "type": "boolean" }, "reason": { "type": "string", "nullable": true } }, "additionalProperties": false }, "AcmeAutomationRequest": { "type": "object", "properties": { "autoRenewEnabled": { "type": "boolean" }, "reloadNginxAfterRenewal": { "type": "boolean" }, "confirm": { "type": "boolean" }, "reason": { "type": "string", "nullable": true } }, "additionalProperties": false }, "AcmeCompleteRequest": { "type": "object", "properties": { "confirm": { "type": "boolean" }, "reason": { "type": "string", "nullable": true } }, "additionalProperties": false }, "AcmeCertificateRequest": { "type": "object", "properties": { "clientType": { "type": "string" }, "clientPath": { "type": "string" }, "certbotPath": { "type": "string" }, "certName": { "type": "string" }, "email": { "type": "string" }, "domains": { "type": "array", "items": { "type": "string" } }, "challengeType": { "type": "string" }, "webRootPath": { "type": "string" }, "dnsPluginName": { "type": "string" }, "dnsCredentialsPath": { "type": "string" }, "staging": { "type": "boolean" }, "autoRenewEnabled": { "type": "boolean" }, "reloadNginxAfterRenewal": { "type": "boolean" }, "acceptTerms": { "type": "boolean" }, "confirm": { "type": "boolean" }, "reason": { "type": "string", "nullable": true } }, "additionalProperties": false }, "AcmeRenewRequest": { "type": "object", "properties": { "dryRun": { "type": "boolean" }, "forceRenewal": { "type": "boolean" }, "confirm": { "type": "boolean" }, "reason": { "type": "string", "nullable": true } }, "additionalProperties": false }, "NginxReloadRequest": { "type": "object", "properties": { "confirm": { "type": "boolean" }, "reason": { "type": "string" } }, "additionalProperties": false }, "NginxTemplateRequest": { "type": "object", "properties": { "publicHost": { "type": "string" }, "httpsPort": { "type": "integer", "format": "int32" }, "certificatePath": { "type": "string" }, "privateKeyPath": { "type": "string" }, "upstreamPort": { "type": "integer", "format": "int32" }, "enableAcmeHttpChallenge": { "type": "boolean" }, "acmeWebRootPath": { "type": "string" } }, "additionalProperties": false }, "StartSystemUpgradeRequest": { "type": "object", "properties": { "confirmation": { "type": "string" } }, "additionalProperties": false }, "OutboundWebhookSubscriptionRequest": { "type": "object", "properties": { "name": { "type": "string" }, "endpointUrl": { "type": "string" }, "secret": { "type": "string", "nullable": true }, "eventNames": { "type": "array", "items": { "type": "string" } }, "enabled": { "type": "boolean" }, "allowInsecureHttp": { "type": "boolean" }, "timeoutSeconds": { "type": "integer", "format": "int32" }, "maxAttempts": { "type": "integer", "format": "int32" } }, "additionalProperties": false }, "OutboundWebhookTestRequest": { "type": "object", "properties": { "actor": { "type": "string", "nullable": true }, "message": { "type": "string", "nullable": true } }, "additionalProperties": false }, "ZlmConfigurationApplyRequest": { "type": "object", "properties": { "planIds": { "type": "array", "items": { "type": "string", "format": "uuid" } }, "confirmApply": { "type": "boolean" }, "reason": { "type": "string" } }, "additionalProperties": false }, "ZlmConfigurationPlanRequest": { "type": "object", "properties": { "scopeType": { "type": "string" }, "scopeId": { "type": "string" }, "nodeId": { "type": "string", "nullable": true }, "section": { "type": "string" }, "changes": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/JsonNode" } }, "expectedVersions": { "type": "object", "additionalProperties": { "type": "string" } } }, "additionalProperties": false }, "ZlmConfigurationContext": { "type": "object", "properties": { "scopeType": { "type": "string" }, "scopeId": { "type": "string" }, "nodeId": { "type": "string", "nullable": true } }, "additionalProperties": false }, "GlobalLogLevelRequest": { "type": "object", "properties": { "level": { "type": "string" } }, "additionalProperties": false }, "LogLevelOverrideRequest": { "type": "object", "properties": { "scope": { "type": "string" }, "key": { "type": "string" }, "level": { "type": "string" }, "reason": { "type": "string", "nullable": true } }, "additionalProperties": false }, "ZlmModuleOutputLogRequest": { "type": "object", "properties": { "enabled": { "type": "boolean" } }, "additionalProperties": false }, "ZlmProcessOutputLogRequest": { "type": "object", "properties": { "enabled": { "type": "boolean" } }, "additionalProperties": false }, "CreateApiTokenRequest": { "type": "object", "properties": { "name": { "type": "string" }, "permissionCodes": { "type": "array", "items": { "type": "string" } }, "allowedIpCidrs": { "type": "array", "items": { "type": "string" } }, "expiresAt": { "type": "string", "format": "date-time", "nullable": true } }, "additionalProperties": false }, "UpdateApiTokenRequest": { "type": "object", "properties": { "name": { "type": "string" }, "permissionCodes": { "type": "array", "items": { "type": "string" } }, "allowedIpCidrs": { "type": "array", "items": { "type": "string" } }, "expiresAt": { "type": "string", "format": "date-time", "nullable": true } }, "additionalProperties": false }, "SaveRoleRequest": { "type": "object", "properties": { "name": { "type": "string" }, "enabled": { "type": "boolean" }, "permissionCodes": { "type": "array", "items": { "type": "string" } } }, "additionalProperties": false }, "SaveRtspAuthCredentialRequest": { "type": "object", "properties": { "mediaServerId": { "type": "string" }, "username": { "type": "string" }, "password": { "type": "string", "nullable": true }, "realm": { "type": "string" }, "enabled": { "type": "boolean" }, "remark": { "type": "string", "nullable": true } }, "additionalProperties": false }, "TestRtspAuthCredentialRequest": { "type": "object", "properties": { "mediaServerId": { "type": "string" }, "username": { "type": "string" }, "realm": { "type": "string" } }, "additionalProperties": false }, "CreateUserRequest": { "type": "object", "properties": { "username": { "type": "string" }, "displayName": { "type": "string", "nullable": true }, "password": { "type": "string" }, "enabled": { "type": "boolean" }, "mustChangePassword": { "type": "boolean" }, "roleIds": { "type": "array", "items": { "type": "string", "format": "uuid" } } }, "additionalProperties": false }, "UpdateUserRequest": { "type": "object", "properties": { "displayName": { "type": "string", "nullable": true }, "enabled": { "type": "boolean" }, "mustChangePassword": { "type": "boolean" }, "roleIds": { "type": "array", "items": { "type": "string", "format": "uuid" } } }, "additionalProperties": false }, "ChangePasswordRequest": { "type": "object", "properties": { "currentPassword": { "type": "string", "nullable": true }, "newPassword": { "type": "string" } }, "additionalProperties": false }, "MediaServerNodeView": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "clusterId": { "type": "string" }, "nodeId": { "type": "string" }, "mediaServerId": { "type": "string" }, "zlmNodeId": { "type": "string", "nullable": true }, "baseUrl": { "type": "string" }, "apiCallMode": { "type": "string" }, "pid": { "type": "integer", "format": "int32", "nullable": true }, "httpPort": { "type": "integer", "format": "int32", "nullable": true }, "httpsPort": { "type": "integer", "format": "int32", "nullable": true }, "rtspPort": { "type": "integer", "format": "int32", "nullable": true }, "rtspsPort": { "type": "integer", "format": "int32", "nullable": true }, "rtmpPort": { "type": "integer", "format": "int32", "nullable": true }, "rtmpsPort": { "type": "integer", "format": "int32", "nullable": true }, "rtpPortMin": { "type": "integer", "format": "int32", "nullable": true }, "rtpPortMax": { "type": "integer", "format": "int32", "nullable": true }, "rtpIngressMode": { "type": "string" }, "fixedRtpPort": { "type": "integer", "format": "int32", "nullable": true }, "randomPort": { "type": "boolean" }, "nodeVersion": { "type": "string", "nullable": true }, "ipV4Address": { "type": "string", "nullable": true }, "ipV6Address": { "type": "string", "nullable": true }, "candidate": { "type": "string", "nullable": true }, "status": { "type": "string" }, "maintenanceMode": { "type": "boolean" }, "nodeStatus": { "type": "string" }, "zlmStatus": { "type": "string" }, "lastHeartbeatAt": { "type": "string", "format": "date-time", "nullable": true }, "lastProbeAt": { "type": "string", "format": "date-time", "nullable": true }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "additionalProperties": false }, "RetireMediaServerRequest": { "type": "object", "properties": { "dryRun": { "type": "boolean" }, "force": { "type": "boolean" }, "archiveReferences": { "type": "boolean" }, "actor": { "type": "string", "nullable": true }, "reason": { "type": "string", "nullable": true } }, "additionalProperties": false }, "AkNodeView": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "nodeId": { "type": "string" }, "clusterId": { "type": "string" }, "displayName": { "type": "string", "nullable": true }, "roles": { "type": "string" }, "ipV4Address": { "type": "string", "nullable": true }, "ipV6Address": { "type": "string", "nullable": true }, "candidate": { "type": "string", "nullable": true }, "version": { "type": "string", "nullable": true }, "operatingSystem": { "type": "string", "nullable": true }, "processArchitecture": { "type": "string", "nullable": true }, "processId": { "type": "integer", "format": "int32", "nullable": true }, "status": { "type": "string" }, "maintenanceMode": { "type": "boolean" }, "maintenanceReason": { "type": "string", "nullable": true }, "maintenanceAt": { "type": "string", "format": "date-time", "nullable": true }, "lastHeartbeatAt": { "type": "string", "format": "date-time", "nullable": true }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "additionalProperties": false }, "CreateNodeCommandRequest": { "type": "object", "properties": { "commandType": { "type": "string" }, "zlmNodeId": { "type": "string", "nullable": true }, "payload": { "nullable": true }, "requestedBy": { "type": "string", "nullable": true }, "timeoutSeconds": { "type": "integer", "format": "int32", "nullable": true } }, "additionalProperties": false }, "RtpPortLeaseRequest": { "type": "object", "properties": { "mediaServerId": { "type": "string", "nullable": true }, "direction": { "type": "string" }, "minPort": { "type": "integer", "format": "int32", "nullable": true }, "maxPort": { "type": "integer", "format": "int32", "nullable": true }, "owner": { "type": "string", "nullable": true }, "stream": { "type": "string", "nullable": true }, "cooldownSeconds": { "type": "integer", "format": "int32", "nullable": true }, "leaseSeconds": { "type": "integer", "format": "int32", "nullable": true } }, "additionalProperties": false }, "RtpPortReleaseRequest": { "type": "object", "properties": { "cooldownSeconds": { "type": "integer", "format": "int32", "nullable": true } }, "additionalProperties": false }, "SaveFfmpegTemplateRequest": { "type": "object", "properties": { "mediaServerId": { "type": "string", "nullable": true }, "templateName": { "type": "string" }, "templateValue": { "type": "string" }, "enabled": { "type": "boolean" } }, "additionalProperties": false }, "ZlmRawConfigurationApplyRequest": { "type": "object", "properties": { "content": { "type": "string" }, "expectedSha256": { "type": "string" }, "reason": { "type": "string" }, "confirmApply": { "type": "boolean" } }, "additionalProperties": false }, "ZlmRawConfigurationPlanRequest": { "type": "object", "properties": { "content": { "type": "string" }, "expectedSha256": { "type": "string" } }, "additionalProperties": false }, "SaveZlmCoreSettingsRequest": { "type": "object", "properties": { "expectedConfigSha256": { "type": "string" }, "httpPort": { "type": "integer", "format": "int32" }, "httpsPort": { "type": "integer", "format": "int32" }, "rtspPort": { "type": "integer", "format": "int32" }, "rtspsPort": { "type": "integer", "format": "int32" }, "rtmpPort": { "type": "integer", "format": "int32" }, "rtmpsPort": { "type": "integer", "format": "int32" }, "srtPort": { "type": "integer", "format": "int32" }, "rtpProxyPort": { "type": "integer", "format": "int32" }, "mergeWriteMilliseconds": { "type": "integer", "format": "int32" }, "pacedSenderMilliseconds": { "type": "integer", "format": "int32" }, "modifyStamp": { "type": "integer", "format": "int32" }, "continuePushMilliseconds": { "type": "integer", "format": "int32" }, "waitTrackReadyMilliseconds": { "type": "integer", "format": "int32" }, "waitAudioTrackDataMilliseconds": { "type": "integer", "format": "int32" }, "waitAddTrackMilliseconds": { "type": "integer", "format": "int32" }, "rtspLowLatency": { "type": "boolean" }, "rtspDirectProxy": { "type": "boolean" }, "rtspRtpTransportType": { "type": "integer", "format": "int32" }, "rtpLowLatency": { "type": "boolean" }, "rtpProxyMergeFrame": { "type": "boolean" }, "hlsSegmentSeconds": { "type": "integer", "format": "int32" }, "hlsSegmentCount": { "type": "integer", "format": "int32" }, "hlsSegmentRetain": { "type": "integer", "format": "int32" }, "hlsFastRegister": { "type": "boolean" }, "httpNotFoundHtml": { "type": "string" } }, "additionalProperties": false }, "ZlmRecordingStatusResult": { "type": "object", "properties": { "nodeId": { "type": "string" }, "vhost": { "type": "string", "nullable": true }, "app": { "type": "string" }, "stream": { "type": "string" }, "type": { "type": "integer", "format": "int32" }, "success": { "type": "boolean" }, "isRecording": { "type": "boolean" }, "message": { "type": "string", "nullable": true }, "rawResult": { "$ref": "#/components/schemas/ZlmRawApiResult" } }, "additionalProperties": false }, "Failure": { "type": "object", "properties": { "success": { "type": "boolean" }, "isRecording": { "type": "boolean", "nullable": true }, "errorCode": { "type": "string" }, "message": { "type": "string" }, "nodeId": { "type": "string" }, "app": { "type": "string", "nullable": true }, "stream": { "type": "string", "nullable": true }, "type": { "type": "integer", "format": "int32", "nullable": true }, "traceId": { "type": "string" } }, "additionalProperties": false }, "SaveVideoChannelRequest": { "type": "object", "properties": { "channelId": { "type": "string", "nullable": true }, "mediaServerId": { "type": "string" }, "vhost": { "type": "string" }, "deviceId": { "type": "string", "nullable": true }, "deviceChannelId": { "type": "string", "nullable": true }, "protocol": { "type": "string" }, "name": { "type": "string" }, "app": { "type": "string" }, "streamId": { "type": "string", "nullable": true }, "sourceUrl": { "type": "string", "nullable": true }, "enabled": { "type": "boolean" }, "autoVideo": { "type": "boolean" }, "autoRecord": { "type": "boolean" }, "recordingSearchEnabled": { "type": "boolean", "nullable": true }, "recordPlanId": { "type": "string", "nullable": true }, "recordPlanName": { "type": "string", "nullable": true }, "recordSecs": { "type": "integer", "format": "int32", "nullable": true }, "ipV4Address": { "type": "string", "nullable": true }, "ipV6Address": { "type": "string", "nullable": true }, "departmentId": { "type": "string", "nullable": true }, "departmentName": { "type": "string", "nullable": true }, "parentDepartmentId": { "type": "string", "nullable": true }, "parentDepartmentName": { "type": "string", "nullable": true }, "deviceNetworkType": { "type": "string" }, "deviceStreamType": { "type": "string" }, "methodByGetStream": { "type": "string" }, "videoDeviceType": { "type": "string" }, "hasAudio": { "type": "boolean" }, "hasPtz": { "type": "boolean" }, "ptzProtocol": { "type": "string", "nullable": true }, "ptzDeviceId": { "type": "string", "nullable": true }, "ptzChannelId": { "type": "string", "nullable": true }, "rtpWithTcp": { "type": "boolean", "nullable": true }, "defaultRtpPort": { "type": "boolean", "nullable": true }, "noPlayerBreak": { "type": "boolean", "nullable": true }, "fFmpegTemplate": { "type": "string", "nullable": true }, "isShareChannel": { "type": "boolean" }, "shareUrl": { "type": "string", "nullable": true }, "shareDeviceId": { "type": "string", "nullable": true } }, "additionalProperties": false }, "ActivateVideoChannelRequest": { "type": "object", "properties": { "nodeId": { "type": "string", "nullable": true }, "mediaServerId": { "type": "string", "nullable": true }, "vhost": { "type": "string", "nullable": true }, "app": { "type": "string", "nullable": true }, "streamId": { "type": "string", "nullable": true }, "name": { "type": "string", "nullable": true }, "ipV4Address": { "type": "string", "nullable": true }, "ipV6Address": { "type": "string", "nullable": true }, "departmentId": { "type": "string", "nullable": true }, "departmentName": { "type": "string", "nullable": true }, "parentDepartmentId": { "type": "string", "nullable": true }, "parentDepartmentName": { "type": "string", "nullable": true }, "deviceNetworkType": { "type": "string", "nullable": true }, "videoDeviceType": { "type": "string", "nullable": true }, "methodByGetStream": { "type": "string", "nullable": true }, "hasAudio": { "type": "boolean", "nullable": true }, "hasPtz": { "type": "boolean", "nullable": true }, "enabled": { "type": "boolean" }, "autoVideo": { "type": "boolean", "nullable": true }, "autoRecord": { "type": "boolean", "nullable": true }, "recordingSearchEnabled": { "type": "boolean", "nullable": true }, "noPlayerBreak": { "type": "boolean", "nullable": true }, "recordPlanId": { "type": "string", "nullable": true }, "recordPlanName": { "type": "string", "nullable": true }, "recordSecs": { "type": "integer", "format": "int32", "nullable": true }, "rtpWithTcp": { "type": "boolean", "nullable": true }, "defaultRtpPort": { "type": "boolean", "nullable": true }, "fFmpegTemplate": { "type": "string", "nullable": true }, "isShareChannel": { "type": "boolean", "nullable": true }, "shareUrl": { "type": "string", "nullable": true }, "shareDeviceId": { "type": "string", "nullable": true }, "requestOnline": { "type": "boolean" } }, "additionalProperties": false }, "VideoChannelPtzRequest": { "type": "object", "properties": { "command": { "type": "string" }, "speed": { "type": "integer", "format": "int32" }, "preset": { "type": "integer", "format": "int32", "nullable": true }, "presetToken": { "type": "string", "nullable": true }, "presetName": { "type": "string", "nullable": true }, "iris": { "type": "number", "format": "double", "nullable": true } }, "additionalProperties": false }, "ChannelPtzSettings": { "type": "object", "properties": { "channelId": { "type": "string" }, "reported": { "type": "boolean" }, "manuallyConfirmed": { "type": "boolean" }, "enabled": { "type": "boolean" }, "canControl": { "type": "boolean" }, "ptzType": { "type": "integer", "format": "int32", "nullable": true }, "message": { "type": "string" } }, "additionalProperties": false }, "SaveChannelPtzSettingsRequest": { "type": "object", "properties": { "enabled": { "type": "boolean", "nullable": true }, "confirmUnreportedCapability": { "type": "boolean", "nullable": true } }, "additionalProperties": false }, "ChannelSnapshotAccessRequest": { "type": "object", "properties": { "actions": { "type": "array", "items": { "type": "string" }, "nullable": true }, "lifetimeSeconds": { "type": "integer", "format": "int32" } }, "additionalProperties": false }, "ChannelSnapshotSettings": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "intervalSeconds": { "type": "integer", "format": "int32" }, "keepCount": { "type": "integer", "format": "int32" }, "active": { "type": "boolean", "readOnly": true } }, "additionalProperties": false }, "AssetTransferImportRequest": { "type": "object", "properties": { "bundle": { "$ref": "#/components/schemas/AssetTransferBundle" }, "restoreRecordPlans": { "type": "boolean" }, "confirm": { "type": "boolean" } }, "additionalProperties": false }, "SaveChannelGroupRequest": { "type": "object", "properties": { "name": { "type": "string" }, "sortOrder": { "type": "integer", "format": "int32", "nullable": true } }, "additionalProperties": false }, "RtspSmokeTestRequest": { "type": "object", "properties": { "nodeId": { "type": "string", "nullable": true }, "vhost": { "type": "string" }, "app": { "type": "string" }, "streamId": { "type": "string" }, "url": { "type": "string" }, "rtpWithTcp": { "type": "boolean" }, "enableTcpPreflight": { "type": "boolean" }, "tcpProbeTimeoutMs": { "type": "integer", "format": "int32" }, "timeoutSeconds": { "type": "integer", "format": "int32" }, "probeTimeoutSeconds": { "type": "integer", "format": "int32" }, "probeIntervalMs": { "type": "integer", "format": "int32" }, "force": { "type": "boolean" }, "cleanupAfterTest": { "type": "boolean" }, "allowCleanupExistingProxy": { "type": "boolean" } }, "additionalProperties": false }, "RtspSmokeBatchTestRequest": { "type": "object", "properties": { "nodeId": { "type": "string", "nullable": true }, "vhost": { "type": "string" }, "app": { "type": "string" }, "streamPrefix": { "type": "string" }, "items": { "type": "array", "items": { "$ref": "#/components/schemas/RtspSmokeBatchItem" } }, "maxConcurrency": { "type": "integer", "format": "int32" }, "rtpWithTcp": { "type": "boolean" }, "enableTcpPreflight": { "type": "boolean" }, "tcpProbeTimeoutMs": { "type": "integer", "format": "int32" }, "timeoutSeconds": { "type": "integer", "format": "int32" }, "probeTimeoutSeconds": { "type": "integer", "format": "int32" }, "probeIntervalMs": { "type": "integer", "format": "int32" }, "force": { "type": "boolean" }, "cleanupAfterTest": { "type": "boolean" }, "allowCleanupExistingProxy": { "type": "boolean" } }, "additionalProperties": false }, "StartStreamCommandRequest": { "type": "object", "properties": { "mediaServerId": { "type": "string" }, "app": { "type": "string" }, "streamId": { "type": "string" }, "url": { "type": "string" }, "useFfmpeg": { "type": "boolean" }, "rtpWithTcp": { "type": "boolean" }, "timeoutSeconds": { "type": "integer", "format": "int32" }, "dependsOnNodeCommandId": { "type": "string", "format": "uuid", "nullable": true } }, "additionalProperties": false }, "StopStreamCommandRequest": { "type": "object", "properties": { "mediaServerId": { "type": "string" }, "app": { "type": "string" }, "streamId": { "type": "string" }, "proxyKey": { "type": "string", "nullable": true }, "dependsOnNodeCommandId": { "type": "string", "format": "uuid", "nullable": true } }, "additionalProperties": false }, "SaveRecordPlanRequest": { "type": "object", "properties": { "planId": { "type": "string", "nullable": true }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "retentionDays": { "type": "integer", "format": "int32" }, "minFreeSpaceGb": { "type": "integer", "format": "int64" }, "limitSpaceBytes": { "type": "integer", "format": "int64", "nullable": true }, "overLimitPolicy": { "type": "string" }, "ranges": { "type": "array", "items": { "$ref": "#/components/schemas/SaveRecordPlanRangeRequest" } } }, "additionalProperties": false }, "StartRecordingRequest": { "type": "object", "properties": { "channelId": { "type": "string", "nullable": true }, "mediaServerId": { "type": "string" }, "app": { "type": "string" }, "streamId": { "type": "string" }, "vhost": { "type": "string" }, "maxSecond": { "type": "integer", "format": "int32", "nullable": true }, "customizedPath": { "type": "string", "nullable": true }, "minimumFreeBytes": { "type": "integer", "format": "int64", "nullable": true }, "recordSource": { "type": "string" } }, "additionalProperties": false }, "StopRecordingRequest": { "type": "object", "properties": { "channelId": { "type": "string", "nullable": true }, "mediaServerId": { "type": "string" }, "app": { "type": "string" }, "streamId": { "type": "string" }, "vhost": { "type": "string" } }, "additionalProperties": false }, "RecordFilePage": { "type": "object", "properties": { "page": { "type": "integer", "format": "int32" }, "pageSize": { "type": "integer", "format": "int32" }, "total": { "type": "integer", "format": "int64" }, "rows": { "type": "array", "items": { "$ref": "#/components/schemas/RecordFileView" } } }, "additionalProperties": false }, "DeleteRecordFilesRequest": { "type": "object", "properties": { "fileIds": { "type": "array", "items": { "type": "string", "format": "uuid" } }, "allowLocalPhysicalDelete": { "type": "boolean" } }, "additionalProperties": false }, "RecordFileBatchRequest": { "type": "object", "properties": { "fileIds": { "type": "array", "items": { "type": "string", "format": "uuid" } } }, "additionalProperties": false }, "RecordFileScanRequest": { "type": "object", "properties": { "mediaServerId": { "type": "string", "nullable": true }, "rootPath": { "type": "string", "nullable": true }, "maxFiles": { "type": "integer", "format": "int32", "nullable": true }, "includeTs": { "type": "boolean" }, "importMissingFiles": { "type": "boolean" }, "markMissingFiles": { "type": "boolean" }, "probeDuration": { "type": "boolean" }, "probeTimeoutSeconds": { "type": "integer", "format": "int32" }, "app": { "type": "string", "nullable": true }, "streamId": { "type": "string", "nullable": true } }, "additionalProperties": false }, "RecordRootDirectoryCreateRequest": { "type": "object", "properties": { "parentPath": { "type": "string" }, "name": { "type": "string" } }, "additionalProperties": false }, "RecordRootDirectoryBrowseRequest": { "type": "object", "properties": { "path": { "type": "string", "nullable": true } }, "additionalProperties": false }, "RecordRootFallbackRecoveryRequest": { "type": "object", "properties": { "rootPath": { "type": "string" }, "mediaServerId": { "type": "string", "nullable": true }, "maxFiles": { "type": "integer", "format": "int32" }, "dryRun": { "type": "boolean" }, "confirmation": { "type": "string", "nullable": true } }, "additionalProperties": false }, "RecordRootIdentityInspectRequest": { "type": "object", "properties": { "rootPath": { "type": "string" } }, "additionalProperties": false }, "RecordRootIdentityBindRequest": { "type": "object", "properties": { "rootPath": { "type": "string" }, "rebind": { "type": "boolean" }, "allowSystemVolume": { "type": "boolean" } }, "additionalProperties": false }, "CutMergeCleanupRequest": { "type": "object", "properties": { "dryRun": { "type": "boolean" }, "tempRetentionHours": { "type": "integer", "format": "int32", "nullable": true }, "fileRetentionDays": { "type": "integer", "format": "int32", "nullable": true }, "maxEntries": { "type": "integer", "format": "int32", "nullable": true } }, "additionalProperties": false }, "CutMergeTaskPage": { "type": "object", "properties": { "page": { "type": "integer", "format": "int32" }, "pageSize": { "type": "integer", "format": "int32" }, "total": { "type": "integer", "format": "int64" }, "rows": { "type": "array", "items": { "$ref": "#/components/schemas/CutMergeTaskSummary" } } }, "additionalProperties": false }, "CutMergeRequest": { "type": "object", "properties": { "startTime": { "type": "string", "format": "date-time" }, "endTime": { "type": "string", "format": "date-time" }, "mediaServerId": { "type": "string", "nullable": true }, "channelId": { "type": "string", "nullable": true }, "app": { "type": "string", "nullable": true }, "vhost": { "type": "string", "nullable": true }, "mainId": { "type": "string", "nullable": true }, "callbackUrl": { "type": "string", "nullable": true } }, "additionalProperties": false }, "CutMergeTaskStatusResult": { "type": "object", "properties": { "taskId": { "type": "string" }, "createTime": { "type": "string", "format": "date-time" }, "taskStatus": { "type": "string" }, "processPercentage": { "type": "number", "format": "double" }, "playUrl": { "type": "string", "nullable": true }, "errorMessage": { "type": "string", "nullable": true }, "expectedDurationSeconds": { "type": "number", "format": "double", "nullable": true }, "actualDurationSeconds": { "type": "number", "format": "double", "nullable": true }, "durationDeviationSeconds": { "type": "number", "format": "double", "nullable": true } }, "additionalProperties": false }, "CutMergeTaskDetail": { "type": "object", "properties": { "summary": { "$ref": "#/components/schemas/CutMergeTaskSummary" }, "request": { "$ref": "#/components/schemas/CutMergeRequestView" }, "planItems": { "type": "array", "items": { "$ref": "#/components/schemas/CutMergePlanItemView" } }, "gaps": { "type": "array", "items": { "$ref": "#/components/schemas/CutMergePlanGap" } } }, "additionalProperties": false }, "DependencyDownloadRequest": { "type": "object", "properties": { "modelId": { "type": "string" }, "backend": { "type": "string" }, "modelDirectory": { "type": "string", "nullable": true }, "confirmOfficialDownload": { "type": "boolean" } }, "additionalProperties": false }, "RecordingSearchResponse": { "type": "object", "properties": { "modelSpaceId": { "type": "string" }, "effectiveBackend": { "type": "string" }, "coverage": { "type": "string" }, "segments": { "type": "array", "items": { "$ref": "#/components/schemas/RecordingSearchSegment" } } }, "additionalProperties": false }, "RecordingFileRecoveryRequest": { "type": "object", "properties": { "recordFileIds": { "type": "array", "items": { "type": "string", "format": "uuid" } } }, "additionalProperties": false }, "RecordingSearchQueryRequest": { "type": "object", "properties": { "text": { "type": "string", "nullable": true }, "channelIds": { "type": "array", "items": { "type": "string" }, "nullable": true }, "fromUtc": { "type": "string", "format": "date-time", "nullable": true }, "toUtc": { "type": "string", "format": "date-time", "nullable": true }, "maxSegments": { "type": "integer", "format": "int32", "nullable": true }, "minSimilarity": { "type": "number", "format": "double", "nullable": true } }, "additionalProperties": false }, "Gb28181AlarmQueryRequest": { "type": "object", "properties": { "deviceId": { "type": "string" }, "channelId": { "type": "string", "nullable": true }, "taskId": { "type": "integer", "format": "int32", "nullable": true }, "startAlarmPriority": { "type": "string", "nullable": true }, "endAlarmPriority": { "type": "string", "nullable": true }, "alarmMethod": { "type": "string", "nullable": true }, "startTime": { "type": "string", "format": "date-time", "nullable": true }, "endTime": { "type": "string", "format": "date-time", "nullable": true }, "timeoutSeconds": { "type": "integer", "format": "int32" } }, "additionalProperties": false }, "Gb28181AlarmReportRequest": { "type": "object", "properties": { "deviceId": { "type": "string" }, "channelId": { "type": "string", "nullable": true }, "taskId": { "type": "integer", "format": "int32", "nullable": true }, "alarmPriority": { "type": "string", "nullable": true }, "alarmMethod": { "type": "string", "nullable": true }, "alarmType": { "type": "string", "nullable": true }, "alarmTime": { "type": "string", "format": "date-time", "nullable": true }, "alarmDescription": { "type": "string", "nullable": true }, "longitude": { "type": "number", "format": "double", "nullable": true }, "latitude": { "type": "number", "format": "double", "nullable": true }, "rawXml": { "type": "string", "nullable": true } }, "additionalProperties": false }, "Gb28181AlarmResetRequest": { "type": "object", "properties": { "deviceId": { "type": "string" }, "channelId": { "type": "string", "nullable": true }, "taskId": { "type": "integer", "format": "int32", "nullable": true }, "timeoutSeconds": { "type": "integer", "format": "int32" }, "alarmCmd": { "type": "string" } }, "additionalProperties": false }, "Gb28181BroadcastRequest": { "type": "object", "properties": { "deviceId": { "type": "string" }, "sourceId": { "type": "string" }, "targetId": { "type": "string" }, "taskId": { "type": "integer", "format": "int32", "nullable": true }, "timeoutSeconds": { "type": "integer", "format": "int32" } }, "additionalProperties": false }, "Gb28181CatalogItemRequest": { "type": "object", "properties": { "deviceId": { "type": "string" }, "channelId": { "type": "string" }, "name": { "type": "string", "nullable": true }, "status": { "type": "string" }, "channelType": { "type": "string", "nullable": true }, "parentChannelId": { "type": "string", "nullable": true }, "civilCode": { "type": "string", "nullable": true }, "businessGroupId": { "type": "string", "nullable": true }, "address": { "type": "string", "nullable": true }, "manufacturer": { "type": "string", "nullable": true }, "longitude": { "type": "number", "format": "double", "nullable": true }, "latitude": { "type": "number", "format": "double", "nullable": true }, "hasAudio": { "type": "boolean" }, "hasPtz": { "type": "boolean", "nullable": true }, "ptzType": { "type": "integer", "format": "int32", "nullable": true }, "isParent": { "type": "boolean" }, "isAlarmChannel": { "type": "boolean" }, "isAudioOnly": { "type": "boolean" }, "mediaServerId": { "type": "string", "nullable": true }, "profile": { "nullable": true } }, "additionalProperties": false }, "Gb28181CatalogQueryRequest": { "type": "object", "properties": { "deviceId": { "type": "string" }, "taskId": { "type": "integer", "format": "int32", "nullable": true }, "mediaServerId": { "type": "string", "nullable": true }, "timeoutSeconds": { "type": "integer", "format": "int32" } }, "additionalProperties": false }, "Gb28181DeviceConfigQueryRequest": { "type": "object", "properties": { "deviceId": { "type": "string" }, "taskId": { "type": "integer", "format": "int32", "nullable": true }, "configType": { "type": "string" }, "timeoutSeconds": { "type": "integer", "format": "int32" } }, "additionalProperties": false }, "Gb28181DeviceConfigSetRequest": { "type": "object", "properties": { "deviceId": { "type": "string" }, "targetDeviceId": { "type": "string", "nullable": true }, "taskId": { "type": "integer", "format": "int32", "nullable": true }, "configType": { "type": "string" }, "basicParam": { "allOf": [ { "$ref": "#/components/schemas/Gb28181BasicParamConfig" } ] }, "configXml": { "type": "string", "nullable": true }, "timeoutSeconds": { "type": "integer", "format": "int32" } }, "additionalProperties": false }, "Gb28181DeviceInfoQueryRequest": { "type": "object", "properties": { "deviceId": { "type": "string" }, "taskId": { "type": "integer", "format": "int32", "nullable": true }, "timeoutSeconds": { "type": "integer", "format": "int32" } }, "additionalProperties": false }, "Gb28181DeviceStatusQueryRequest": { "type": "object", "properties": { "deviceId": { "type": "string" }, "taskId": { "type": "integer", "format": "int32", "nullable": true }, "timeoutSeconds": { "type": "integer", "format": "int32" } }, "additionalProperties": false }, "Gb28181KeepaliveRequest": { "type": "object", "properties": { "deviceId": { "type": "string" }, "lostTimes": { "type": "integer", "format": "int32" }, "remoteAddress": { "type": "string", "nullable": true }, "remotePort": { "type": "integer", "format": "int32", "nullable": true }, "transport": { "type": "string", "nullable": true }, "profile": { "nullable": true } }, "additionalProperties": false }, "Gb28181RegisterRequest": { "type": "object", "properties": { "deviceId": { "type": "string" }, "name": { "type": "string", "nullable": true }, "direction": { "type": "string" }, "remoteAddress": { "type": "string", "nullable": true }, "remotePort": { "type": "integer", "format": "int32", "nullable": true }, "transport": { "type": "string", "nullable": true }, "manufacturer": { "type": "string", "nullable": true }, "model": { "type": "string", "nullable": true }, "firmware": { "type": "string", "nullable": true }, "advertisedGbVersion": { "type": "string", "nullable": true }, "negotiatedGbVersion": { "type": "string", "nullable": true }, "gbVersionSource": { "type": "string", "nullable": true }, "profile": { "nullable": true } }, "additionalProperties": false }, "Gb28181InviteLiveRequest": { "type": "object", "properties": { "deviceId": { "type": "string" }, "channelId": { "type": "string" }, "mediaServerId": { "type": "string", "nullable": true }, "vhost": { "type": "string" }, "app": { "type": "string" }, "streamId": { "type": "string", "nullable": true }, "ssrc": { "type": "string", "nullable": true }, "requestedBy": { "type": "string" }, "rtpPort": { "type": "integer", "format": "int32", "nullable": true }, "rtpWithTcp": { "type": "boolean" }, "localIp": { "type": "string", "nullable": true }, "audioOnly": { "type": "boolean", "nullable": true }, "timeoutSeconds": { "type": "integer", "format": "int32" }, "dependsOnNodeCommandId": { "type": "string", "format": "uuid", "nullable": true } }, "additionalProperties": false }, "Gb28181StopLiveRequest": { "type": "object", "properties": { "deviceId": { "type": "string" }, "channelId": { "type": "string" }, "force": { "type": "boolean" }, "dependsOnNodeCommandId": { "type": "string", "format": "uuid", "nullable": true } }, "additionalProperties": false }, "Gb28181MediaStatusReportRequest": { "type": "object", "properties": { "sessionId": { "type": "string", "format": "uuid", "nullable": true }, "deviceId": { "type": "string", "nullable": true }, "channelId": { "type": "string", "nullable": true }, "callId": { "type": "string", "nullable": true }, "sn": { "type": "integer", "format": "int32", "nullable": true }, "notifyType": { "type": "string", "nullable": true }, "source": { "type": "string" }, "occurredAt": { "type": "string", "format": "date-time", "nullable": true }, "rawXml": { "type": "string", "nullable": true } }, "additionalProperties": false }, "GpsTrackPage": { "type": "object", "properties": { "page": { "type": "integer", "format": "int32" }, "pageSize": { "type": "integer", "format": "int32" }, "total": { "type": "integer", "format": "int64" }, "rows": { "type": "array", "items": { "$ref": "#/components/schemas/GpsTrackPoint" } }, "truncated": { "type": "boolean" } }, "additionalProperties": false }, "GpsTrackMapConfig": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "provider": { "type": "string" }, "jsApiKey": { "type": "string" }, "securityMode": { "type": "string" }, "serviceProxyUrl": { "type": "string" }, "securityJsCode": { "type": "string", "nullable": true } }, "additionalProperties": false }, "Gb28181MobilePositionQueryRequest": { "type": "object", "properties": { "deviceId": { "type": "string" }, "channelId": { "type": "string", "nullable": true }, "taskId": { "type": "integer", "format": "int32", "nullable": true }, "intervalSeconds": { "type": "integer", "format": "int32", "nullable": true }, "timeoutSeconds": { "type": "integer", "format": "int32" } }, "additionalProperties": false }, "GpsTrackStoreStatus": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "provider": { "type": "string" }, "healthy": { "type": "boolean" }, "dataDirectory": { "type": "string", "nullable": true }, "shardCount": { "type": "integer", "format": "int32" }, "flushMode": { "type": "string" }, "lastError": { "type": "string", "nullable": true } }, "additionalProperties": false }, "Gb28181PresetControlRequest": { "type": "object", "properties": { "deviceId": { "type": "string" }, "channelId": { "type": "string" }, "action": { "type": "string" }, "preset": { "type": "integer", "format": "int32" } }, "additionalProperties": false }, "Gb28181PresetQueryRequest": { "type": "object", "properties": { "deviceId": { "type": "string" }, "channelId": { "type": "string", "nullable": true }, "taskId": { "type": "integer", "format": "int32", "nullable": true }, "timeoutSeconds": { "type": "integer", "format": "int32" } }, "additionalProperties": false }, "Gb28181SubscribeRequest": { "type": "object", "properties": { "deviceId": { "type": "string" }, "channelId": { "type": "string", "nullable": true }, "subscriptionType": { "type": "string" }, "taskId": { "type": "integer", "format": "int32", "nullable": true }, "expiresSeconds": { "type": "integer", "format": "int32" }, "intervalSeconds": { "type": "integer", "format": "int32", "nullable": true }, "startAlarmPriority": { "type": "string", "nullable": true }, "endAlarmPriority": { "type": "string", "nullable": true }, "alarmMethod": { "type": "string", "nullable": true }, "timeoutSeconds": { "type": "integer", "format": "int32" } }, "additionalProperties": false }, "Gb28181RecordControlRequest": { "type": "object", "properties": { "deviceId": { "type": "string" }, "channelId": { "type": "string", "nullable": true }, "taskId": { "type": "integer", "format": "int32", "nullable": true }, "timeoutSeconds": { "type": "integer", "format": "int32" }, "recordCmd": { "type": "string" } }, "additionalProperties": false }, "Gb28181InvitePlaybackRequest": { "type": "object", "properties": { "deviceId": { "type": "string" }, "channelId": { "type": "string" }, "mediaServerId": { "type": "string", "nullable": true }, "vhost": { "type": "string" }, "app": { "type": "string" }, "ssrc": { "type": "string", "nullable": true }, "streamId": { "type": "string", "nullable": true }, "rtpPort": { "type": "integer", "format": "int32", "nullable": true }, "rtpWithTcp": { "type": "boolean" }, "localIp": { "type": "string", "nullable": true }, "audioOnly": { "type": "boolean", "nullable": true }, "startTime": { "type": "string", "format": "date-time" }, "endTime": { "type": "string", "format": "date-time" }, "filePath": { "type": "string", "nullable": true }, "address": { "type": "string", "nullable": true }, "taskId": { "type": "integer", "format": "int32", "nullable": true }, "timeoutSeconds": { "type": "integer", "format": "int32" } }, "additionalProperties": false }, "Gb28181PlaybackControlRequest": { "type": "object", "properties": { "sessionId": { "type": "string", "format": "uuid", "nullable": true }, "deviceId": { "type": "string", "nullable": true }, "channelId": { "type": "string", "nullable": true }, "ssrc": { "type": "string", "nullable": true }, "streamId": { "type": "string", "nullable": true }, "speed": { "type": "number", "format": "double", "nullable": true } }, "additionalProperties": false }, "Gb28181PlaybackSeekRequest": { "type": "object", "properties": { "sessionId": { "type": "string", "format": "uuid", "nullable": true }, "deviceId": { "type": "string", "nullable": true }, "channelId": { "type": "string", "nullable": true }, "ssrc": { "type": "string", "nullable": true }, "streamId": { "type": "string", "nullable": true }, "positionSeconds": { "type": "integer", "format": "int64" } }, "additionalProperties": false }, "Gb28181StopPlaybackRequest": { "type": "object", "properties": { "sessionId": { "type": "string", "format": "uuid", "nullable": true }, "deviceId": { "type": "string", "nullable": true }, "channelId": { "type": "string", "nullable": true }, "ssrc": { "type": "string", "nullable": true }, "streamId": { "type": "string", "nullable": true }, "force": { "type": "boolean" } }, "additionalProperties": false }, "Gb28181QueryRecordFileRequest": { "type": "object", "properties": { "deviceId": { "type": "string" }, "channelId": { "type": "string" }, "startTime": { "type": "string", "format": "date-time" }, "endTime": { "type": "string", "format": "date-time" }, "recordType": { "type": "string" }, "taskId": { "type": "integer", "format": "int32", "nullable": true }, "timeoutSeconds": { "type": "integer", "format": "int32" } }, "additionalProperties": false }, "Gb28181RecordFileQueryStatusView": { "type": "object", "properties": { "taskId": { "type": "integer", "format": "int32" }, "command": { "$ref": "#/components/schemas/Gb28181RecordQueryCommandView" }, "records": { "type": "array", "items": { "$ref": "#/components/schemas/Gb28181RecordFileView" } }, "total": { "type": "integer", "format": "int32" } }, "additionalProperties": false }, "Gb28181DragZoomRequest": { "type": "object", "properties": { "deviceId": { "type": "string" }, "channelId": { "type": "string", "nullable": true }, "taskId": { "type": "integer", "format": "int32", "nullable": true }, "timeoutSeconds": { "type": "integer", "format": "int32" }, "action": { "type": "string" }, "length": { "type": "integer", "format": "int32" }, "width": { "type": "integer", "format": "int32" }, "midPointX": { "type": "integer", "format": "int32" }, "midPointY": { "type": "integer", "format": "int32" }, "lengthX": { "type": "integer", "format": "int32" }, "lengthY": { "type": "integer", "format": "int32" } }, "additionalProperties": false }, "Gb28181GuardControlRequest": { "type": "object", "properties": { "deviceId": { "type": "string" }, "channelId": { "type": "string", "nullable": true }, "taskId": { "type": "integer", "format": "int32", "nullable": true }, "timeoutSeconds": { "type": "integer", "format": "int32" }, "guardCmd": { "type": "string" } }, "additionalProperties": false }, "Gb28181HomePositionRequest": { "type": "object", "properties": { "deviceId": { "type": "string" }, "channelId": { "type": "string", "nullable": true }, "taskId": { "type": "integer", "format": "int32", "nullable": true }, "timeoutSeconds": { "type": "integer", "format": "int32" }, "enabled": { "type": "boolean" }, "resetTime": { "type": "integer", "format": "int32" }, "presetIndex": { "type": "integer", "format": "int32" } }, "additionalProperties": false }, "Gb28181IFrameRequest": { "type": "object", "properties": { "deviceId": { "type": "string" }, "channelId": { "type": "string", "nullable": true }, "taskId": { "type": "integer", "format": "int32", "nullable": true }, "timeoutSeconds": { "type": "integer", "format": "int32" }, "iFrameCmd": { "type": "string" } }, "additionalProperties": false }, "Gb28181DeviceControlReportRequest": { "type": "object", "properties": { "deviceId": { "type": "string" }, "targetDeviceId": { "type": "string", "nullable": true }, "taskId": { "type": "integer", "format": "int32", "nullable": true }, "result": { "type": "string", "nullable": true }, "controlField": { "type": "string", "nullable": true }, "controlValue": { "type": "string", "nullable": true }, "rawXml": { "type": "string", "nullable": true } }, "additionalProperties": false }, "Gb28181TeleBootRequest": { "type": "object", "properties": { "deviceId": { "type": "string" }, "channelId": { "type": "string", "nullable": true }, "taskId": { "type": "integer", "format": "int32", "nullable": true }, "timeoutSeconds": { "type": "integer", "format": "int32" }, "teleBoot": { "type": "string" } }, "additionalProperties": false }, "Gb28181PtzRequest": { "type": "object", "properties": { "deviceId": { "type": "string" }, "channelId": { "type": "string", "nullable": true }, "commandType": { "type": "string" }, "speed": { "type": "integer", "format": "int32" }, "preset": { "type": "integer", "format": "int32", "nullable": true } }, "additionalProperties": false }, "Gb28181StartTalkRequest": { "type": "object", "properties": { "deviceId": { "type": "string" }, "channelId": { "type": "string" }, "mediaServerId": { "type": "string", "nullable": true }, "vhost": { "type": "string" }, "app": { "type": "string" }, "streamId": { "type": "string", "nullable": true }, "protocolMode": { "type": "string" }, "sourceId": { "type": "string", "nullable": true }, "targetId": { "type": "string", "nullable": true }, "enableListen": { "type": "boolean" }, "listenChannelId": { "type": "string", "nullable": true }, "listenStreamId": { "type": "string", "nullable": true }, "allowUnverifiedOutput": { "type": "boolean" }, "ssrc": { "type": "string", "nullable": true }, "recvStreamId": { "type": "string", "nullable": true }, "pt": { "type": "integer", "format": "int32" }, "rtpDataType": { "type": "integer", "format": "int32" }, "onlyAudio": { "type": "boolean" }, "timeoutSeconds": { "type": "integer", "format": "int32" } }, "additionalProperties": false }, "Gb28181StopTalkRequest": { "type": "object", "properties": { "sessionId": { "type": "string", "format": "uuid", "nullable": true }, "deviceId": { "type": "string", "nullable": true }, "channelId": { "type": "string", "nullable": true }, "mediaServerId": { "type": "string", "nullable": true }, "vhost": { "type": "string", "nullable": true }, "app": { "type": "string", "nullable": true }, "streamId": { "type": "string", "nullable": true }, "ssrc": { "type": "string", "nullable": true } }, "additionalProperties": false }, "OnvifSmokeTestRequest": { "type": "object", "properties": { "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "deviceUrl": { "type": "string" }, "mediaUrl": { "type": "string", "nullable": true }, "ptzUrl": { "type": "string", "nullable": true }, "eventsUrl": { "type": "string", "nullable": true }, "profileToken": { "type": "string", "nullable": true }, "includeStreamUri": { "type": "boolean" }, "includePtz": { "type": "boolean" }, "includeEvents": { "type": "boolean" }, "eventPullTimeout": { "type": "string" }, "eventMessageLimit": { "type": "integer", "format": "int32" } }, "additionalProperties": false }, "OnvifDiscoveryResultRequest": { "type": "object", "properties": { "mediaServerId": { "type": "string", "nullable": true }, "devices": { "type": "array", "items": { "$ref": "#/components/schemas/OnvifDiscoveryItem" } } }, "additionalProperties": false }, "OnvifDiscoveryRequest": { "type": "object", "properties": { "mediaServerId": { "type": "string" }, "timeoutMs": { "type": "integer", "format": "int32" }, "subnetPrefix": { "type": "string", "nullable": true } }, "additionalProperties": false }, "OnvifNativeDiscoveryRequest": { "type": "object", "properties": { "mediaServerId": { "type": "string", "nullable": true }, "timeoutMs": { "type": "integer", "format": "int32" }, "targetRange": { "type": "string", "nullable": true }, "localIp": { "type": "string", "nullable": true } }, "additionalProperties": false }, "OnvifProfileMediaUrisRefreshRequest": { "type": "object", "properties": { "mediaUrl": { "type": "string", "nullable": true }, "profileToken": { "type": "string", "nullable": true }, "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "refreshStreamUri": { "type": "boolean" }, "refreshSnapshotUri": { "type": "boolean" } }, "additionalProperties": false }, "OnvifMediaSourcesRefreshRequest": { "type": "object", "properties": { "mediaUrl": { "type": "string", "nullable": true }, "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "refreshVideoSources": { "type": "boolean" }, "refreshAudioSources": { "type": "boolean" } }, "additionalProperties": false }, "OnvifDeviceMediaUrisRefreshRequest": { "type": "object", "properties": { "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "mediaUrl": { "type": "string", "nullable": true }, "channelIds": { "type": "array", "items": { "type": "string" } }, "limit": { "type": "integer", "format": "int32" }, "refreshStreamUri": { "type": "boolean" }, "refreshSnapshotUri": { "type": "boolean" } }, "additionalProperties": false }, "OnvifTalkCapabilitiesRefreshRequest": { "type": "object", "properties": { "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "mediaUrl": { "type": "string", "nullable": true }, "profileToken": { "type": "string", "nullable": true }, "useMedia2": { "type": "boolean", "nullable": true }, "refreshStreamUri": { "type": "boolean" } }, "additionalProperties": false }, "OnvifProfilesRefreshRequest": { "type": "object", "properties": { "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "mediaUrl": { "type": "string", "nullable": true } }, "additionalProperties": false }, "OnvifStreamUriRequest": { "type": "object", "properties": { "mediaServerId": { "type": "string" }, "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true } }, "additionalProperties": false }, "OnvifGetMediaSourcesRequest": { "type": "object", "properties": { "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "mediaUrl": { "type": "string" } }, "additionalProperties": false }, "OnvifGetProfilesRequest": { "type": "object", "properties": { "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "mediaUrl": { "type": "string" } }, "additionalProperties": false }, "OnvifNativeSnapshotUriRequest": { "type": "object", "properties": { "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "mediaUrl": { "type": "string" }, "profileToken": { "type": "string" } }, "additionalProperties": false }, "OnvifNativeStreamUriRequest": { "type": "object", "properties": { "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "mediaUrl": { "type": "string" }, "profileToken": { "type": "string" } }, "additionalProperties": false }, "OnvifProfilesResultRequest": { "type": "object", "properties": { "deviceId": { "type": "string" }, "profiles": { "type": "array", "items": { "$ref": "#/components/schemas/OnvifProfileDescriptor" } }, "rawXml": { "type": "string", "nullable": true }, "profile": { "nullable": true } }, "additionalProperties": false }, "OnvifSnapshotUriResultRequest": { "type": "object", "properties": { "deviceId": { "type": "string" }, "profileToken": { "type": "string", "nullable": true }, "profileName": { "type": "string", "nullable": true }, "snapshotUri": { "type": "string" }, "rawXml": { "type": "string", "nullable": true }, "profile": { "nullable": true } }, "additionalProperties": false }, "OnvifStreamUriResultRequest": { "type": "object", "properties": { "deviceId": { "type": "string" }, "streamUri": { "type": "string" }, "profileName": { "type": "string", "nullable": true }, "profile": { "nullable": true } }, "additionalProperties": false }, "OnvifProfileFocusExecuteRequest": { "type": "object", "properties": { "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "imagingUrl": { "type": "string", "nullable": true }, "videoSourceToken": { "type": "string", "nullable": true }, "action": { "type": "string" }, "speed": { "type": "number", "format": "double" }, "focusMoveType": { "type": "string" }, "focusPosition": { "type": "number", "format": "double", "nullable": true }, "focusDistance": { "type": "number", "format": "double", "nullable": true }, "exposureMode": { "type": "string", "nullable": true }, "iris": { "type": "number", "format": "double", "nullable": true }, "settings": { "$ref": "#/components/schemas/OnvifImagingSettings20" }, "presetToken": { "type": "string", "nullable": true }, "forcePersistence": { "type": "boolean", "nullable": true } }, "additionalProperties": false }, "OnvifProfilePtzExecuteRequest": { "type": "object", "properties": { "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "ptzUrl": { "type": "string", "nullable": true }, "profileToken": { "type": "string", "nullable": true }, "action": { "type": "string" }, "pan": { "type": "number", "format": "double" }, "tilt": { "type": "number", "format": "double" }, "zoom": { "type": "number", "format": "double" }, "presetToken": { "type": "string", "nullable": true }, "presetName": { "type": "string", "nullable": true } }, "additionalProperties": false }, "OnvifPtzPresetsRefreshRequest": { "type": "object", "properties": { "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "ptzUrl": { "type": "string", "nullable": true }, "profileToken": { "type": "string", "nullable": true } }, "additionalProperties": false }, "OnvifNativeImagingRequest": { "type": "object", "properties": { "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "imagingUrl": { "type": "string" }, "videoSourceToken": { "type": "string" }, "action": { "type": "string" }, "speed": { "type": "number", "format": "double" }, "focusMoveType": { "type": "string" }, "focusPosition": { "type": "number", "format": "double", "nullable": true }, "focusDistance": { "type": "number", "format": "double", "nullable": true }, "exposureMode": { "type": "string", "nullable": true }, "iris": { "type": "number", "format": "double", "nullable": true }, "settings": { "$ref": "#/components/schemas/OnvifImagingSettings20" }, "presetToken": { "type": "string", "nullable": true }, "forcePersistence": { "type": "boolean", "nullable": true } }, "additionalProperties": false }, "OnvifNativePtzRequest": { "type": "object", "properties": { "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "ptzUrl": { "type": "string" }, "profileToken": { "type": "string" }, "action": { "type": "string" }, "pan": { "type": "number", "format": "double" }, "tilt": { "type": "number", "format": "double" }, "zoom": { "type": "number", "format": "double" }, "presetToken": { "type": "string", "nullable": true }, "presetName": { "type": "string", "nullable": true } }, "additionalProperties": false }, "OnvifPtzRequest": { "type": "object", "properties": { "deviceId": { "type": "string" }, "profileToken": { "type": "string", "nullable": true }, "action": { "type": "string" }, "pan": { "type": "number", "format": "double", "nullable": true }, "tilt": { "type": "number", "format": "double", "nullable": true }, "zoom": { "type": "number", "format": "double", "nullable": true }, "presetToken": { "type": "string", "nullable": true } }, "additionalProperties": false }, "OnvifEventPropertiesRefreshRequest": { "type": "object", "properties": { "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "eventsUrl": { "type": "string", "nullable": true } }, "additionalProperties": false }, "OnvifPullEventsRequest": { "type": "object", "properties": { "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "channelId": { "type": "string", "nullable": true }, "eventsUrl": { "type": "string", "nullable": true }, "subscriptionUrl": { "type": "string", "nullable": true }, "createSubscription": { "type": "boolean" }, "unsubscribeAfterPull": { "type": "boolean" }, "renewBeforePull": { "type": "boolean" }, "initialTerminationTime": { "type": "string", "nullable": true }, "renewTerminationTime": { "type": "string", "nullable": true }, "timeout": { "type": "string" }, "messageLimit": { "type": "integer", "format": "int32" } }, "additionalProperties": false }, "OnvifEventSubscriptionRequest": { "type": "object", "properties": { "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "channelId": { "type": "string", "nullable": true }, "eventsUrl": { "type": "string", "nullable": true }, "initialTerminationTime": { "type": "string" }, "renewTerminationTime": { "type": "string" }, "pollIntervalSeconds": { "type": "integer", "format": "int32" }, "pullTimeout": { "type": "string" }, "messageLimit": { "type": "integer", "format": "int32" }, "replaceExisting": { "type": "boolean" } }, "additionalProperties": false }, "OnvifEventReportRequest": { "type": "object", "properties": { "deviceId": { "type": "string" }, "channelId": { "type": "string", "nullable": true }, "eventsUrl": { "type": "string", "nullable": true }, "rawXml": { "type": "string" }, "source": { "type": "string", "nullable": true }, "profile": { "nullable": true } }, "additionalProperties": false }, "OnvifCreatePullPointSubscriptionRequest": { "type": "object", "properties": { "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "eventsUrl": { "type": "string" }, "initialTerminationTime": { "type": "string", "nullable": true } }, "additionalProperties": false }, "OnvifGetEventPropertiesRequest": { "type": "object", "properties": { "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "eventsUrl": { "type": "string" } }, "additionalProperties": false }, "OnvifPullMessagesRequest": { "type": "object", "properties": { "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "subscriptionUrl": { "type": "string" }, "timeout": { "type": "string" }, "messageLimit": { "type": "integer", "format": "int32" } }, "additionalProperties": false }, "OnvifRenewRequest": { "type": "object", "properties": { "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "subscriptionUrl": { "type": "string" }, "terminationTime": { "type": "string" } }, "additionalProperties": false }, "OnvifUnsubscribeRequest": { "type": "object", "properties": { "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "subscriptionUrl": { "type": "string" } }, "additionalProperties": false }, "OnvifDeviceSetNetworkDefaultGatewayRequest": { "type": "object", "properties": { "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "onvifUrl": { "type": "string", "nullable": true }, "ipv4Addresses": { "type": "array", "items": { "type": "string" } }, "ipv6Addresses": { "type": "array", "items": { "type": "string" } }, "allowEmptyGateway": { "type": "boolean" }, "refreshAfterSet": { "type": "boolean" } }, "additionalProperties": false }, "OnvifDeviceSetDnsRequest": { "type": "object", "properties": { "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "onvifUrl": { "type": "string", "nullable": true }, "fromDhcp": { "type": "boolean" }, "searchDomains": { "type": "array", "items": { "type": "string" } }, "manualServers": { "type": "array", "items": { "$ref": "#/components/schemas/OnvifNetworkHostDescriptor" } }, "refreshAfterSet": { "type": "boolean" } }, "additionalProperties": false }, "OnvifDeviceSetHostnameRequest": { "type": "object", "properties": { "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "onvifUrl": { "type": "string", "nullable": true }, "name": { "type": "string" }, "refreshAfterSet": { "type": "boolean" } }, "additionalProperties": false }, "OnvifDeviceSetNtpRequest": { "type": "object", "properties": { "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "onvifUrl": { "type": "string", "nullable": true }, "fromDhcp": { "type": "boolean" }, "manualServers": { "type": "array", "items": { "$ref": "#/components/schemas/OnvifNetworkHostDescriptor" } }, "refreshAfterSet": { "type": "boolean" } }, "additionalProperties": false }, "OnvifDeviceSetNetworkProtocolsRequest": { "type": "object", "properties": { "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "onvifUrl": { "type": "string", "nullable": true }, "networkProtocols": { "type": "array", "items": { "$ref": "#/components/schemas/OnvifNetworkProtocolDescriptor" } }, "refreshAfterSet": { "type": "boolean" } }, "additionalProperties": false }, "OnvifDnsResultRequest": { "type": "object", "properties": { "fromDhcp": { "type": "boolean", "nullable": true }, "searchDomains": { "type": "array", "items": { "type": "string" } }, "fromDhcpServers": { "type": "array", "items": { "$ref": "#/components/schemas/OnvifNetworkHostDescriptor" } }, "manualServers": { "type": "array", "items": { "$ref": "#/components/schemas/OnvifNetworkHostDescriptor" } }, "rawXml": { "type": "string", "nullable": true }, "deviceId": { "type": "string" }, "profile": { "nullable": true } }, "additionalProperties": false }, "OnvifHostnameResultRequest": { "type": "object", "properties": { "fromDhcp": { "type": "boolean", "nullable": true }, "name": { "type": "string", "nullable": true }, "rawXml": { "type": "string", "nullable": true }, "deviceId": { "type": "string" }, "profile": { "nullable": true } }, "additionalProperties": false }, "OnvifGetDnsRequest": { "type": "object", "properties": { "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "onvifUrl": { "type": "string" } }, "additionalProperties": false }, "OnvifSetDnsRequest": { "type": "object", "properties": { "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "onvifUrl": { "type": "string" }, "fromDhcp": { "type": "boolean" }, "searchDomains": { "type": "array", "items": { "type": "string" } }, "manualServers": { "type": "array", "items": { "$ref": "#/components/schemas/OnvifNetworkHostDescriptor" } } }, "additionalProperties": false }, "OnvifGetHostnameRequest": { "type": "object", "properties": { "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "onvifUrl": { "type": "string" } }, "additionalProperties": false }, "OnvifSetHostnameRequest": { "type": "object", "properties": { "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "onvifUrl": { "type": "string" }, "name": { "type": "string" } }, "additionalProperties": false }, "OnvifGetNetworkDefaultGatewayRequest": { "type": "object", "properties": { "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "onvifUrl": { "type": "string" } }, "additionalProperties": false }, "OnvifSetNetworkDefaultGatewayRequest": { "type": "object", "properties": { "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "onvifUrl": { "type": "string" }, "ipv4Addresses": { "type": "array", "items": { "type": "string" } }, "ipv6Addresses": { "type": "array", "items": { "type": "string" } }, "allowEmptyGateway": { "type": "boolean" } }, "additionalProperties": false }, "OnvifGetNetworkInterfacesRequest": { "type": "object", "properties": { "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "onvifUrl": { "type": "string" } }, "additionalProperties": false }, "OnvifGetNetworkProtocolsRequest": { "type": "object", "properties": { "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "onvifUrl": { "type": "string" } }, "additionalProperties": false }, "OnvifSetNetworkProtocolsRequest": { "type": "object", "properties": { "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "onvifUrl": { "type": "string" }, "networkProtocols": { "type": "array", "items": { "$ref": "#/components/schemas/OnvifNetworkProtocolDescriptor" } } }, "additionalProperties": false }, "OnvifGetNtpRequest": { "type": "object", "properties": { "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "onvifUrl": { "type": "string" } }, "additionalProperties": false }, "OnvifSetNtpRequest": { "type": "object", "properties": { "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "onvifUrl": { "type": "string" }, "fromDhcp": { "type": "boolean" }, "manualServers": { "type": "array", "items": { "$ref": "#/components/schemas/OnvifNetworkHostDescriptor" } } }, "additionalProperties": false }, "OnvifNetworkDefaultGatewayResultRequest": { "type": "object", "properties": { "ipv4Addresses": { "type": "array", "items": { "type": "string" } }, "ipv6Addresses": { "type": "array", "items": { "type": "string" } }, "rawXml": { "type": "string", "nullable": true }, "deviceId": { "type": "string" }, "profile": { "nullable": true } }, "additionalProperties": false }, "OnvifNetworkInterfacesResultRequest": { "type": "object", "properties": { "deviceId": { "type": "string" }, "networkInterfaces": { "type": "array", "items": { "$ref": "#/components/schemas/OnvifNetworkInterfaceDescriptor" } }, "rawXml": { "type": "string", "nullable": true }, "profile": { "nullable": true } }, "additionalProperties": false }, "OnvifNetworkProtocolsResultRequest": { "type": "object", "properties": { "deviceId": { "type": "string" }, "networkProtocols": { "type": "array", "items": { "$ref": "#/components/schemas/OnvifNetworkProtocolDescriptor" } }, "rawXml": { "type": "string", "nullable": true }, "profile": { "nullable": true } }, "additionalProperties": false }, "OnvifNtpResultRequest": { "type": "object", "properties": { "fromDhcp": { "type": "boolean", "nullable": true }, "fromDhcpServers": { "type": "array", "items": { "$ref": "#/components/schemas/OnvifNetworkHostDescriptor" } }, "manualServers": { "type": "array", "items": { "$ref": "#/components/schemas/OnvifNetworkHostDescriptor" } }, "rawXml": { "type": "string", "nullable": true }, "deviceId": { "type": "string" }, "profile": { "nullable": true } }, "additionalProperties": false }, "OnvifDeviceIoRefreshRequest": { "type": "object", "properties": { "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "onvifUrl": { "type": "string", "nullable": true }, "refreshRelayOutputs": { "type": "boolean" }, "refreshDigitalInputs": { "type": "boolean" } }, "additionalProperties": false }, "OnvifDeviceRelayOutputStateRequest": { "type": "object", "properties": { "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "onvifUrl": { "type": "string", "nullable": true }, "logicalState": { "type": "string" }, "refreshAfterSet": { "type": "boolean" } }, "additionalProperties": false }, "OnvifDigitalInputsResultRequest": { "type": "object", "properties": { "deviceId": { "type": "string" }, "digitalInputs": { "type": "array", "items": { "$ref": "#/components/schemas/OnvifDigitalInputDescriptor" } }, "rawXml": { "type": "string", "nullable": true }, "profile": { "nullable": true } }, "additionalProperties": false }, "OnvifGetDigitalInputsRequest": { "type": "object", "properties": { "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "onvifUrl": { "type": "string" } }, "additionalProperties": false }, "OnvifSetRelayOutputStateRequest": { "type": "object", "properties": { "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "onvifUrl": { "type": "string" }, "relayOutputToken": { "type": "string" }, "logicalState": { "type": "string" } }, "additionalProperties": false }, "OnvifGetRelayOutputsRequest": { "type": "object", "properties": { "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "onvifUrl": { "type": "string" } }, "additionalProperties": false }, "OnvifRelayOutputsResultRequest": { "type": "object", "properties": { "deviceId": { "type": "string" }, "relayOutputs": { "type": "array", "items": { "$ref": "#/components/schemas/OnvifRelayOutputDescriptor" } }, "rawXml": { "type": "string", "nullable": true }, "profile": { "nullable": true } }, "additionalProperties": false }, "SaveOnvifDeviceRequest": { "type": "object", "properties": { "deviceId": { "type": "string", "nullable": true }, "onvifUrl": { "type": "string" }, "name": { "type": "string", "nullable": true }, "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "manufacturer": { "type": "string", "nullable": true }, "model": { "type": "string", "nullable": true }, "firmware": { "type": "string", "nullable": true }, "mediaServerId": { "type": "string", "nullable": true }, "profile": { "nullable": true } }, "additionalProperties": false }, "OnvifBindChannelRequest": { "type": "object", "properties": { "channelId": { "type": "string", "nullable": true }, "deviceChannelId": { "type": "string", "nullable": true }, "mediaServerId": { "type": "string" }, "name": { "type": "string", "nullable": true }, "streamUri": { "type": "string" }, "app": { "type": "string", "nullable": true }, "streamId": { "type": "string", "nullable": true }, "enabled": { "type": "boolean" }, "autoVideo": { "type": "boolean" }, "noPlayerBreak": { "type": "boolean" }, "requestOnline": { "type": "boolean" } }, "additionalProperties": false }, "OnvifDeviceBindVideoChannelsRequest": { "type": "object", "properties": { "mediaServerId": { "type": "string" }, "channelIds": { "type": "array", "items": { "type": "string" } }, "limit": { "type": "integer", "format": "int32" }, "app": { "type": "string", "nullable": true }, "enabled": { "type": "boolean" }, "autoVideo": { "type": "boolean" }, "noPlayerBreak": { "type": "boolean" }, "requestOnline": { "type": "boolean" } }, "additionalProperties": false }, "OnvifProfileSynchronizationPointRequest": { "type": "object", "properties": { "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "mediaUrl": { "type": "string", "nullable": true }, "profileToken": { "type": "string", "nullable": true } }, "additionalProperties": false }, "OnvifServicesRefreshRequest": { "type": "object", "properties": { "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "onvifUrl": { "type": "string", "nullable": true }, "includeCapability": { "type": "boolean" } }, "additionalProperties": false }, "OnvifDeviceSystemRebootRequest": { "type": "object", "properties": { "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "onvifUrl": { "type": "string", "nullable": true } }, "additionalProperties": false }, "OnvifDeviceCreateUsersRequest": { "type": "object", "properties": { "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "onvifUrl": { "type": "string", "nullable": true }, "refreshAfterChange": { "type": "boolean" }, "users": { "type": "array", "items": { "$ref": "#/components/schemas/OnvifUserCredentialDescriptor" } } }, "additionalProperties": false }, "OnvifDeviceDeleteUsersRequest": { "type": "object", "properties": { "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "onvifUrl": { "type": "string", "nullable": true }, "refreshAfterChange": { "type": "boolean" }, "usernames": { "type": "array", "items": { "type": "string" } } }, "additionalProperties": false }, "OnvifDeviceSetUserRequest": { "type": "object", "properties": { "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "onvifUrl": { "type": "string", "nullable": true }, "refreshAfterChange": { "type": "boolean" }, "users": { "type": "array", "items": { "$ref": "#/components/schemas/OnvifUserCredentialDescriptor" } } }, "additionalProperties": false }, "OnvifCapabilitiesResultRequest": { "type": "object", "properties": { "deviceId": { "type": "string" }, "deviceXAddr": { "type": "string", "nullable": true }, "mediaXAddr": { "type": "string", "nullable": true }, "ptzXAddr": { "type": "string", "nullable": true }, "eventsXAddr": { "type": "string", "nullable": true }, "imagingXAddr": { "type": "string", "nullable": true }, "analyticsXAddr": { "type": "string", "nullable": true }, "rawXml": { "type": "string", "nullable": true }, "profile": { "nullable": true } }, "additionalProperties": false }, "OnvifDeviceInformationResultRequest": { "type": "object", "properties": { "deviceId": { "type": "string" }, "manufacturer": { "type": "string", "nullable": true }, "model": { "type": "string", "nullable": true }, "firmwareVersion": { "type": "string", "nullable": true }, "serialNumber": { "type": "string", "nullable": true }, "hardwareId": { "type": "string", "nullable": true }, "rawXml": { "type": "string", "nullable": true }, "profile": { "nullable": true } }, "additionalProperties": false }, "OnvifGetCapabilitiesRequest": { "type": "object", "properties": { "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "onvifUrl": { "type": "string" } }, "additionalProperties": false }, "OnvifGetDeviceInformationRequest": { "type": "object", "properties": { "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "onvifUrl": { "type": "string" } }, "additionalProperties": false }, "OnvifGetScopesRequest": { "type": "object", "properties": { "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "onvifUrl": { "type": "string" } }, "additionalProperties": false }, "OnvifGetServiceCapabilitiesRequest": { "type": "object", "properties": { "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "onvifUrl": { "type": "string" } }, "additionalProperties": false }, "OnvifGetServicesRequest": { "type": "object", "properties": { "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "onvifUrl": { "type": "string" }, "includeCapability": { "type": "boolean" } }, "additionalProperties": false }, "OnvifNativeSetSynchronizationPointRequest": { "type": "object", "properties": { "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "mediaUrl": { "type": "string" }, "profileToken": { "type": "string" } }, "additionalProperties": false }, "OnvifGetSystemDateAndTimeRequest": { "type": "object", "properties": { "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "onvifUrl": { "type": "string" } }, "additionalProperties": false }, "OnvifGetSystemLogRequest": { "type": "object", "properties": { "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "onvifUrl": { "type": "string" }, "logType": { "type": "string" } }, "additionalProperties": false }, "OnvifNativeSystemRebootRequest": { "type": "object", "properties": { "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "onvifUrl": { "type": "string" } }, "additionalProperties": false }, "OnvifGetUsersRequest": { "type": "object", "properties": { "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "onvifUrl": { "type": "string" } }, "additionalProperties": false }, "OnvifCreateUsersRequest": { "type": "object", "properties": { "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "onvifUrl": { "type": "string" }, "users": { "type": "array", "items": { "$ref": "#/components/schemas/OnvifUserCredentialDescriptor" } } }, "additionalProperties": false }, "OnvifDeleteUsersRequest": { "type": "object", "properties": { "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "onvifUrl": { "type": "string" }, "usernames": { "type": "array", "items": { "type": "string" } } }, "additionalProperties": false }, "OnvifSetUserRequest": { "type": "object", "properties": { "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "onvifUrl": { "type": "string" }, "users": { "type": "array", "items": { "$ref": "#/components/schemas/OnvifUserCredentialDescriptor" } } }, "additionalProperties": false }, "OnvifScopesResultRequest": { "type": "object", "properties": { "deviceId": { "type": "string" }, "scopes": { "type": "array", "items": { "$ref": "#/components/schemas/OnvifScopeDescriptor" } }, "rawXml": { "type": "string", "nullable": true }, "profile": { "nullable": true } }, "additionalProperties": false }, "OnvifServiceCapabilitiesResultRequest": { "type": "object", "properties": { "sections": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": { "type": "string" }, "nullable": true } }, "rawXml": { "type": "string", "nullable": true }, "deviceId": { "type": "string" }, "profile": { "nullable": true } }, "additionalProperties": false }, "OnvifServicesResultRequest": { "type": "object", "properties": { "deviceId": { "type": "string" }, "services": { "type": "array", "items": { "$ref": "#/components/schemas/OnvifServiceDescriptor" } }, "rawXml": { "type": "string", "nullable": true }, "profile": { "nullable": true } }, "additionalProperties": false }, "OnvifSystemDateTimeResultRequest": { "type": "object", "properties": { "dateTimeType": { "type": "string", "nullable": true }, "daylightSavings": { "type": "boolean", "nullable": true }, "timeZone": { "type": "string", "nullable": true }, "utcDateTime": { "type": "string", "format": "date-time", "nullable": true }, "localDateTime": { "type": "string", "format": "date-time", "nullable": true }, "rawXml": { "type": "string", "nullable": true }, "deviceId": { "type": "string" }, "profile": { "nullable": true } }, "additionalProperties": false }, "OnvifSystemLogResultRequest": { "type": "object", "properties": { "logType": { "type": "string", "nullable": true }, "format": { "type": "string", "nullable": true }, "text": { "type": "string", "nullable": true }, "binaryDataBase64": { "type": "string", "nullable": true }, "binaryHref": { "type": "string", "nullable": true }, "rawXml": { "type": "string", "nullable": true }, "deviceId": { "type": "string" }, "profile": { "nullable": true } }, "additionalProperties": false }, "OnvifStartTalkRequest": { "type": "object", "properties": { "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "deviceId": { "type": "string" }, "channelId": { "type": "string" }, "mediaUrl": { "type": "string", "nullable": true }, "profileToken": { "type": "string", "nullable": true }, "streamUri": { "type": "string", "nullable": true }, "useMedia2": { "type": "boolean", "nullable": true }, "preferredCodecs": { "type": "array", "items": { "type": "string" } }, "initialTransmitEnabled": { "type": "boolean" }, "timeoutSeconds": { "type": "integer", "format": "int32" } }, "additionalProperties": false }, "OnvifUsersResultRequest": { "type": "object", "properties": { "deviceId": { "type": "string" }, "users": { "type": "array", "items": { "$ref": "#/components/schemas/OnvifUserDescriptor" } }, "rawXml": { "type": "string", "nullable": true }, "profile": { "nullable": true } }, "additionalProperties": false }, "CreateRtcMeetingInvitationRequest": { "type": "object", "properties": { "subjectIssuer": { "type": "string" }, "subjectId": { "type": "string" }, "displayName": { "type": "string" }, "capabilities": { "type": "array", "items": { "type": "string" }, "nullable": true }, "role": { "type": "string" }, "expiresInMinutes": { "type": "integer", "format": "int32" }, "bypassWaitingRoom": { "type": "boolean" } }, "additionalProperties": false }, "JoinRtcRoomRequest": { "type": "object", "properties": { "participantId": { "type": "string", "nullable": true }, "displayName": { "type": "string" }, "role": { "type": "string" }, "passcode": { "type": "string", "nullable": true }, "micEnabled": { "type": "boolean" }, "cameraEnabled": { "type": "boolean" } }, "additionalProperties": false }, "SecureJoinRtcRoomRequest": { "type": "object", "properties": { "accessTicket": { "type": "string", "nullable": true }, "displayName": { "type": "string" }, "platform": { "type": "string" }, "clientVersion": { "type": "string", "nullable": true }, "capabilities": { "type": "array", "items": { "type": "string" }, "nullable": true }, "invitationToken": { "type": "string", "nullable": true }, "passcode": { "type": "string", "nullable": true }, "micEnabled": { "type": "boolean" }, "cameraEnabled": { "type": "boolean" } }, "additionalProperties": false }, "CreateRtcRoomRequest": { "type": "object", "properties": { "idempotencyKey": { "type": "string", "nullable": true }, "defaultVideoQuality": { "$ref": "#/components/schemas/RtcVideoQuality" }, "roomId": { "type": "string", "nullable": true }, "name": { "type": "string" }, "roomType": { "type": "string" }, "mediaServerId": { "type": "string" }, "app": { "type": "string" }, "enableScreenShare": { "type": "boolean" }, "enableWhiteboard": { "type": "boolean" }, "enableChat": { "type": "boolean" }, "enableRecording": { "type": "boolean" }, "maxParticipants": { "type": "integer", "format": "int32", "nullable": true }, "maxPublishers": { "type": "integer", "format": "int32", "nullable": true }, "maxScreenShares": { "type": "integer", "format": "int32", "nullable": true }, "enforceSpeakerRoleForPublish": { "type": "boolean" }, "accessMode": { "type": "string" }, "passcode": { "type": "string", "nullable": true }, "waitingRoomEnabled": { "type": "boolean" }, "scheduledStartAtUtc": { "type": "string", "format": "date-time", "nullable": true }, "durationMinutes": { "type": "integer", "format": "int32", "nullable": true }, "maxExtensionMinutes": { "type": "integer", "format": "int32" }, "reminderMinutes": { "type": "integer", "format": "int32" }, "earlyJoinMinutes": { "type": "integer", "format": "int32" }, "allowHostExtension": { "type": "boolean" }, "options": { "nullable": true } }, "additionalProperties": false }, "BroadcastRtcAnnouncementRequest": { "type": "object", "properties": { "text": { "type": "string" } }, "additionalProperties": false }, "UpdateRtcRoomCapacityRequest": { "type": "object", "properties": { "maxParticipants": { "type": "integer", "format": "int32", "nullable": true }, "maxPublishers": { "type": "integer", "format": "int32", "nullable": true }, "maxScreenShares": { "type": "integer", "format": "int32", "nullable": true } }, "additionalProperties": false }, "GrantRtcExternalSourceRequest": { "type": "object", "properties": { "channelId": { "type": "string" }, "allowRecording": { "type": "boolean" }, "allowHistoricalArchive": { "type": "boolean" } }, "additionalProperties": false }, "ModerateRtcRoomRequest": { "type": "object", "properties": { "action": { "type": "string" }, "micEnabled": { "type": "boolean", "nullable": true }, "cameraEnabled": { "type": "boolean", "nullable": true }, "screenSharing": { "type": "boolean", "nullable": true }, "chatEnabled": { "type": "boolean", "nullable": true }, "isLocked": { "type": "boolean", "nullable": true }, "whiteboardLocked": { "type": "boolean", "nullable": true }, "reason": { "type": "string", "nullable": true } }, "additionalProperties": false }, "StopRtcPublicationRequest": { "type": "object", "properties": { "reason": { "type": "string", "nullable": true } }, "additionalProperties": false }, "UpdateRtcRoomAccessRequest": { "type": "object", "properties": { "accessMode": { "type": "string" }, "waitingRoomEnabled": { "type": "boolean" }, "isLocked": { "type": "boolean" } }, "additionalProperties": false }, "RtcEndpointTelemetry": { "type": "object", "properties": { "deviceType": { "type": "string" }, "platform": { "type": "string", "nullable": true }, "model": { "type": "string", "nullable": true }, "displayWidth": { "type": "integer", "format": "int32", "nullable": true }, "displayHeight": { "type": "integer", "format": "int32", "nullable": true }, "displayUnit": { "type": "string" }, "videoWidth": { "type": "integer", "format": "int32", "nullable": true }, "videoHeight": { "type": "integer", "format": "int32", "nullable": true }, "videoFrameRate": { "type": "number", "format": "double", "nullable": true }, "audioSampleRate": { "type": "integer", "format": "int32", "nullable": true }, "audioChannels": { "type": "integer", "format": "int32", "nullable": true }, "videoPolicyRevision": { "type": "string", "nullable": true }, "adaptationReason": { "type": "string", "nullable": true }, "videoModes": { "type": "array", "items": { "$ref": "#/components/schemas/RtcVideoMode" }, "nullable": true }, "videoModesSource": { "type": "string", "nullable": true }, "videoModesReason": { "type": "string", "nullable": true } }, "additionalProperties": false }, "ExtendRtcMeetingRequest": { "type": "object", "properties": { "minutes": { "type": "integer", "format": "int32" }, "reason": { "type": "string", "nullable": true } }, "additionalProperties": false }, "AddRtcExternalSourceRequest": { "type": "object", "properties": { "grantId": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "ClaimRtcHostRequest": { "type": "object", "properties": { "reason": { "type": "string", "nullable": true } }, "additionalProperties": false }, "TransferRtcHostRequest": { "type": "object", "properties": { "targetParticipantId": { "type": "string" }, "keepPreviousHostAsCohost": { "type": "boolean" }, "reason": { "type": "string", "nullable": true } }, "additionalProperties": false }, "RevokeRtcMeetingInvitationRequest": { "type": "object", "properties": { "reason": { "type": "string", "nullable": true } }, "additionalProperties": false }, "SecureLeaveRtcRoomRequest": { "type": "object", "properties": { "transferHostToParticipantId": { "type": "string", "nullable": true }, "keepPreviousHostAsCohost": { "type": "boolean" }, "endMeetingForAll": { "type": "boolean" }, "allowAutomaticHostFailover": { "type": "boolean" }, "reason": { "type": "string", "nullable": true } }, "additionalProperties": false }, "CreateRtcPublicationRequest": { "type": "object", "properties": { "mediaKind": { "type": "string" }, "codec": { "type": "string", "nullable": true }, "simulcast": { "type": "boolean" }, "layers": { "nullable": true } }, "additionalProperties": false }, "ReportRtcPublicationTelemetryRequest": { "type": "object", "properties": { "availableMetrics": { "type": "array", "items": { "type": "string" }, "nullable": true }, "connectionState": { "type": "string" }, "qualityGrade": { "type": "string", "nullable": true }, "qualityReason": { "type": "string", "nullable": true }, "bitrateKbps": { "type": "number", "format": "double" }, "packetLossPercent": { "type": "number", "format": "double" }, "roundTripMs": { "type": "number", "format": "double" }, "jitterMs": { "type": "number", "format": "double" }, "framesPerSecond": { "type": "number", "format": "double" }, "frameWidth": { "type": "integer", "format": "int32" }, "frameHeight": { "type": "integer", "format": "int32" }, "packetsSent": { "type": "integer", "format": "int64" }, "bytesSent": { "type": "integer", "format": "int64" }, "codec": { "type": "string", "nullable": true }, "candidateProtocol": { "type": "string", "nullable": true }, "candidateType": { "type": "string", "nullable": true }, "sampledAtUtc": { "type": "string", "format": "date-time", "nullable": true } }, "additionalProperties": false }, "CreateRtcSubscriptionRequest": { "type": "object", "properties": { "publicationId": { "type": "string" }, "priority": { "type": "integer", "format": "int32" }, "requestedLayer": { "type": "string", "nullable": true }, "visible": { "type": "boolean" }, "pinned": { "type": "boolean" } }, "additionalProperties": false }, "SetRtcVideoQualityRequest": { "type": "object", "properties": { "targetParticipantId": { "type": "string" }, "quality": { "$ref": "#/components/schemas/RtcVideoQuality" } }, "additionalProperties": false }, "UpdateRtcParticipantMediaRequest": { "type": "object", "properties": { "micEnabled": { "type": "boolean", "nullable": true }, "cameraEnabled": { "type": "boolean", "nullable": true }, "status": { "type": "string", "nullable": true }, "payload": { "nullable": true } }, "additionalProperties": false }, "ModerateRtcParticipantRequest": { "type": "object", "properties": { "operatorId": { "type": "string", "nullable": true }, "action": { "type": "string", "nullable": true }, "role": { "type": "string", "nullable": true }, "micEnabled": { "type": "boolean", "nullable": true }, "cameraEnabled": { "type": "boolean", "nullable": true }, "screenSharing": { "type": "boolean", "nullable": true }, "status": { "type": "string", "nullable": true }, "kick": { "type": "boolean" }, "reason": { "type": "string", "nullable": true }, "payload": { "nullable": true } }, "additionalProperties": false }, "ReviewRtcAdmissionRequest": { "type": "object", "properties": { "admit": { "type": "boolean" }, "reason": { "type": "string", "nullable": true } }, "additionalProperties": false }, "SetRtcCohostRequest": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "reason": { "type": "string", "nullable": true } }, "additionalProperties": false }, "RtcRecordingPolicyRequest": { "type": "object", "properties": { "enabled": { "type": "boolean" } }, "additionalProperties": false }, "CreateRtcFullExportRequest": { "type": "object", "properties": { "startMilliseconds": { "type": "integer", "format": "int64", "nullable": true }, "endMilliseconds": { "type": "integer", "format": "int64", "nullable": true } }, "additionalProperties": false }, "StartRtcRoomRecordingRequest": { "type": "object", "properties": { "publicationId": { "type": "string", "nullable": true }, "mediaKind": { "type": "string", "nullable": true }, "participantId": { "type": "string", "nullable": true }, "screen": { "type": "boolean", "nullable": true }, "streamId": { "type": "string", "nullable": true }, "vhost": { "type": "string" }, "maxSecond": { "type": "integer", "format": "int32", "nullable": true }, "customizedPath": { "type": "string", "nullable": true }, "allowInactiveTarget": { "type": "boolean" }, "operatorId": { "type": "string", "nullable": true }, "payload": { "nullable": true } }, "additionalProperties": false }, "StopRtcRoomRecordingRequest": { "type": "object", "properties": { "publicationId": { "type": "string", "nullable": true }, "mediaKind": { "type": "string", "nullable": true }, "participantId": { "type": "string", "nullable": true }, "screen": { "type": "boolean", "nullable": true }, "streamId": { "type": "string", "nullable": true }, "vhost": { "type": "string" }, "operatorId": { "type": "string", "nullable": true }, "payload": { "nullable": true } }, "additionalProperties": false }, "RtcArchiveAccessRequest": { "type": "object", "properties": { "actions": { "type": "array", "items": { "type": "string" }, "nullable": true }, "lifetimeSeconds": { "type": "integer", "format": "int32" } }, "additionalProperties": false }, "StopRtcSubscriptionRequest": { "type": "object", "properties": { "reason": { "type": "string", "nullable": true } }, "additionalProperties": false }, "SendRtcChatMessageRequest": { "type": "object", "properties": { "participantId": { "type": "string" }, "targetParticipantId": { "type": "string", "nullable": true }, "messageType": { "type": "string" }, "text": { "type": "string" }, "payload": { "nullable": true } }, "additionalProperties": false }, "ReviewRtcWhiteboardAccessRequest": { "type": "object", "properties": { "allow": { "type": "boolean" }, "reason": { "type": "string", "nullable": true } }, "additionalProperties": false }, "PostRtcWhiteboardEventRequest": { "type": "object", "properties": { "participantId": { "type": "string" }, "operation": { "type": "string" }, "objectId": { "type": "string", "nullable": true }, "payload": { "nullable": true } }, "additionalProperties": false }, "RequestRtcWhiteboardAccessRequest": { "type": "object", "properties": { "requestAccess": { "type": "boolean" }, "reason": { "type": "string", "nullable": true } }, "additionalProperties": false }, "SetRtcWhiteboardLockRequest": { "type": "object", "properties": { "locked": { "type": "boolean" } }, "additionalProperties": false }, "SetRtcScreenShareRequest": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "screenStreamId": { "type": "string", "nullable": true }, "payload": { "nullable": true } }, "additionalProperties": false }, "PostRtcDataChannelEventRequest": { "type": "object", "properties": { "participantId": { "type": "string" }, "targetParticipantId": { "type": "string", "nullable": true }, "label": { "type": "string" }, "text": { "type": "string", "nullable": true }, "payload": { "nullable": true } }, "additionalProperties": false }, "SaveProtocolChannelRequest": { "type": "object", "properties": { "channelId": { "type": "string" }, "name": { "type": "string" }, "status": { "type": "string" }, "videoChannelId": { "type": "string", "nullable": true }, "manufacturer": { "type": "string", "nullable": true }, "longitude": { "type": "number", "format": "double", "nullable": true }, "latitude": { "type": "number", "format": "double", "nullable": true }, "hasAudio": { "type": "boolean" }, "hasPtz": { "type": "boolean" }, "ptzCapability": { "nullable": true }, "profile": { "nullable": true } }, "additionalProperties": false }, "ProtocolAcceptanceSnapshot": { "type": "object", "properties": { "status": { "type": "string" }, "checkedAt": { "type": "string", "format": "date-time" }, "nodeId": { "type": "string" }, "clusterId": { "type": "string" }, "roles": { "type": "array", "items": { "type": "string" } }, "areas": { "type": "array", "items": { "$ref": "#/components/schemas/ProtocolAcceptanceArea" } }, "systemReadiness": { "allOf": [ { "$ref": "#/components/schemas/SystemReadinessSnapshot" } ] }, "nextActions": { "type": "array", "items": { "type": "string" } } }, "additionalProperties": false }, "ProtocolAlarmDispositionRequest": { "type": "object", "properties": { "actor": { "type": "string", "nullable": true }, "note": { "type": "string", "nullable": true }, "force": { "type": "boolean" } }, "additionalProperties": false }, "ProtocolAlarmStatusUpdateRequest": { "type": "object", "properties": { "actor": { "type": "string", "nullable": true }, "note": { "type": "string", "nullable": true }, "force": { "type": "boolean" }, "status": { "type": "string" } }, "additionalProperties": false }, "ProtocolAlarmBatchDispositionRequest": { "type": "object", "properties": { "actor": { "type": "string", "nullable": true }, "note": { "type": "string", "nullable": true }, "force": { "type": "boolean" }, "alarmEventIds": { "type": "array", "items": { "type": "string", "format": "uuid" } } }, "additionalProperties": false }, "ClearProtocolOrphanVideoBindingRequest": { "type": "object", "properties": { "protocol": { "type": "string", "nullable": true }, "deviceId": { "type": "string", "nullable": true }, "channelId": { "type": "string", "nullable": true }, "videoChannelId": { "type": "string", "nullable": true }, "dryRun": { "type": "boolean" }, "limit": { "type": "integer", "format": "int32", "nullable": true }, "actor": { "type": "string", "nullable": true }, "reason": { "type": "string", "nullable": true } }, "additionalProperties": false }, "ProtocolCommandDiagnosis": { "type": "object", "properties": { "commandId": { "type": "string", "format": "uuid" }, "protocol": { "type": "string" }, "commandType": { "type": "string" }, "status": { "type": "string" }, "requestedBy": { "type": "string" }, "occurredAt": { "type": "string", "format": "date-time" }, "severity": { "type": "string" }, "summary": { "type": "string" }, "likelyCause": { "type": "string" }, "confidence": { "type": "string" }, "similarCount24h": { "type": "integer", "format": "int32" }, "failureCode": { "type": "string", "nullable": true }, "failureCategory": { "type": "string" }, "failureSignature": { "type": "string" }, "sipStatusCode": { "type": "integer", "format": "int32", "nullable": true }, "sipReason": { "type": "string", "nullable": true }, "eventEndpoint": { "type": "string", "nullable": true }, "retryable": { "type": "boolean" }, "errorMessage": { "type": "string", "nullable": true }, "correlationId": { "type": "string", "nullable": true }, "sessionId": { "type": "string", "format": "uuid", "nullable": true }, "nodeCommandId": { "type": "string", "format": "uuid", "nullable": true }, "device": { "$ref": "#/components/schemas/ProtocolDiagnosticDeviceSnapshot" }, "protocolChannel": { "$ref": "#/components/schemas/ProtocolDiagnosticChannelSnapshot" }, "videoChannel": { "$ref": "#/components/schemas/ProtocolDiagnosticVideoChannelSnapshot" }, "session": { "$ref": "#/components/schemas/ProtocolDiagnosticSessionSnapshot" }, "nodeCommand": { "$ref": "#/components/schemas/ProtocolDiagnosticNodeCommandSnapshot" }, "evidence": { "type": "array", "items": { "type": "string" } }, "recommendedActions": { "type": "array", "items": { "type": "string" } } }, "additionalProperties": false }, "ProtocolCommandDiagnostics": { "type": "object", "properties": { "checkedAt": { "type": "string", "format": "date-time" }, "errorOnly": { "type": "boolean" }, "analyzeLimit": { "type": "integer", "format": "int32" }, "matchedCount": { "type": "integer", "format": "int64" }, "analyzedCount": { "type": "integer", "format": "int32" }, "truncated": { "type": "boolean" }, "byCommandType": { "type": "array", "items": { "$ref": "#/components/schemas/ProtocolCommandDiagnosticBucket" } }, "byStatus": { "type": "array", "items": { "$ref": "#/components/schemas/ProtocolCommandDiagnosticBucket" } }, "byDevice": { "type": "array", "items": { "$ref": "#/components/schemas/ProtocolCommandDiagnosticBucket" } }, "byRequestedBy": { "type": "array", "items": { "$ref": "#/components/schemas/ProtocolCommandDiagnosticBucket" } }, "byErrorSignature": { "type": "array", "items": { "$ref": "#/components/schemas/ProtocolCommandDiagnosticBucket" } }, "recentErrors": { "type": "array", "items": { "$ref": "#/components/schemas/ProtocolCommand" } } }, "additionalProperties": false }, "SaveProtocolDeviceRequest": { "type": "object", "properties": { "deviceId": { "type": "string" }, "protocol": { "type": "string" }, "name": { "type": "string" }, "direction": { "type": "string" }, "remoteAddress": { "type": "string", "nullable": true }, "remotePort": { "type": "integer", "format": "int32", "nullable": true }, "manufacturer": { "type": "string", "nullable": true }, "model": { "type": "string", "nullable": true }, "firmware": { "type": "string", "nullable": true }, "status": { "type": "string" }, "profile": { "nullable": true } }, "additionalProperties": false }, "HardDeletePendingProtocolDeviceRequest": { "type": "object", "properties": { "confirmDeviceId": { "type": "string" } }, "additionalProperties": false }, "RenameProtocolDeviceRequest": { "type": "object", "properties": { "name": { "type": "string" } }, "additionalProperties": false }, "ThirdPartyCapabilityView": { "type": "object", "properties": { "apiVersion": { "type": "string" }, "authentication": { "type": "string" }, "grantedPermissions": { "type": "array", "items": { "type": "string" } }, "categories": { "type": "object", "additionalProperties": { "type": "array", "items": { "type": "string" } } }, "serverTimeUtc": { "type": "string", "format": "date-time" } }, "additionalProperties": false }, "ThirdPartyChannelPage": { "type": "object", "properties": { "page": { "type": "integer", "format": "int32" }, "pageSize": { "type": "integer", "format": "int32" }, "total": { "type": "integer", "format": "int64" }, "rows": { "type": "array", "items": { "$ref": "#/components/schemas/ThirdPartyChannelView" } } }, "additionalProperties": false }, "ThirdPartyChannelView": { "type": "object", "properties": { "channelId": { "type": "string" }, "name": { "type": "string" }, "protocol": { "type": "string" }, "deviceId": { "type": "string" }, "deviceChannelId": { "type": "string", "nullable": true }, "mediaServerId": { "type": "string" }, "vhost": { "type": "string" }, "app": { "type": "string" }, "streamId": { "type": "string" }, "enabled": { "type": "boolean" }, "autoVideo": { "type": "boolean" }, "autoRecord": { "type": "boolean" }, "noPlayerBreak": { "type": "boolean", "nullable": true }, "hasAudio": { "type": "boolean" }, "isAudioOnly": { "type": "boolean" }, "hasPtz": { "type": "boolean" }, "desiredState": { "type": "string" }, "actualState": { "type": "string" }, "departmentId": { "type": "string", "nullable": true }, "departmentName": { "type": "string", "nullable": true }, "updatedAt": { "type": "string", "format": "date-time" } }, "additionalProperties": false }, "ThirdPartyApiError": { "type": "object", "properties": { "code": { "type": "string" }, "message": { "type": "string" }, "traceId": { "type": "string" }, "detail": { "nullable": true } }, "additionalProperties": false }, "ThirdPartyChannelStartView": { "type": "object", "properties": { "channel": { "$ref": "#/components/schemas/ThirdPartyChannelView" }, "command": { "$ref": "#/components/schemas/ThirdPartyStreamCommandView" } }, "additionalProperties": false }, "ThirdPartyStreamCommandView": { "type": "object", "properties": { "streamCommandId": { "type": "string", "format": "uuid" }, "nodeCommandId": { "type": "string", "format": "uuid", "nullable": true }, "state": { "type": "string" } }, "additionalProperties": false }, "ThirdPartyMediaServerView": { "type": "object", "properties": { "mediaServerId": { "type": "string" }, "nodeId": { "type": "string" }, "status": { "type": "string" }, "zlmStatus": { "type": "string" }, "candidate": { "type": "string", "nullable": true }, "playbackOrigins": { "type": "array", "items": { "type": "string" } }, "rtspPort": { "type": "integer", "format": "int32", "nullable": true }, "rtspsPort": { "type": "integer", "format": "int32", "nullable": true }, "rtmpPort": { "type": "integer", "format": "int32", "nullable": true }, "rtmpsPort": { "type": "integer", "format": "int32", "nullable": true }, "lastHeartbeatAt": { "type": "string", "format": "date-time", "nullable": true } }, "additionalProperties": false }, "ThirdPartyStreamView": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "nodeId": { "type": "string" }, "mediaServerId": { "type": "string" }, "vhost": { "type": "string" }, "app": { "type": "string" }, "streamId": { "type": "string" }, "sourceType": { "type": "string" }, "state": { "type": "string" }, "lastObservedAt": { "type": "string", "format": "date-time", "nullable": true }, "updatedAt": { "type": "string", "format": "date-time" } }, "additionalProperties": false }, "ThirdPartyLivePlaybackRequest": { "type": "object", "properties": { "protocols": { "type": "array", "items": { "type": "string" } }, "lifetimeSeconds": { "type": "integer", "format": "int32", "nullable": true } }, "additionalProperties": false }, "ThirdPartyLivePlaybackInfo": { "type": "object", "properties": { "channelId": { "type": "string" }, "mediaServerId": { "type": "string" }, "vhost": { "type": "string" }, "app": { "type": "string" }, "streamId": { "type": "string" }, "streamState": { "type": "string" }, "expiresAt": { "type": "string", "format": "date-time" }, "sources": { "type": "array", "items": { "$ref": "#/components/schemas/ThirdPartyPlaybackSource" } } }, "additionalProperties": false }, "ThirdPartyPlaybackLeaseRequest": { "type": "object", "properties": { "protocols": { "type": "array", "items": { "type": "string" } }, "leaseSeconds": { "type": "integer", "format": "int32", "nullable": true }, "absoluteLifetimeSeconds": { "type": "integer", "format": "int32", "nullable": true } }, "additionalProperties": false }, "ThirdPartyPlaybackLeaseInfo": { "type": "object", "properties": { "leaseId": { "type": "string", "format": "uuid" }, "resourceKind": { "type": "string" }, "resourceId": { "type": "string" }, "state": { "type": "string" }, "createdAt": { "type": "string", "format": "date-time" }, "expiresAt": { "type": "string", "format": "date-time" }, "renewAfter": { "type": "string", "format": "date-time" }, "absoluteExpiresAt": { "type": "string", "format": "date-time" }, "sources": { "type": "array", "items": { "$ref": "#/components/schemas/ThirdPartyPlaybackSource" } } }, "additionalProperties": false }, "ThirdPartyMediaLinkRequest": { "type": "object", "properties": { "lifetimeSeconds": { "type": "integer", "format": "int32", "nullable": true } }, "additionalProperties": false }, "ThirdPartyMediaLink": { "type": "object", "properties": { "resourceKind": { "type": "string" }, "resourceId": { "type": "string" }, "action": { "type": "string" }, "url": { "type": "string" }, "expiresAt": { "type": "string", "format": "date-time" }, "supportsRange": { "type": "boolean" } }, "additionalProperties": false }, "ThirdPartyPlaybackLeaseStatus": { "type": "object", "properties": { "leaseId": { "type": "string", "format": "uuid" }, "resourceKind": { "type": "string" }, "resourceId": { "type": "string" }, "permission": { "type": "string" }, "state": { "type": "string" }, "leaseSeconds": { "type": "integer", "format": "int32" }, "expiresAt": { "type": "string", "format": "date-time" }, "renewAfter": { "type": "string", "format": "date-time" }, "absoluteExpiresAt": { "type": "string", "format": "date-time" }, "lastRenewedAt": { "type": "string", "format": "date-time", "nullable": true }, "renewCount": { "type": "integer", "format": "int32" }, "revokedAt": { "type": "string", "format": "date-time", "nullable": true } }, "additionalProperties": false }, "ThirdPartyPlaybackLeaseRevokeResult": { "type": "object", "properties": { "leaseId": { "type": "string", "format": "uuid" }, "state": { "type": "string" }, "revokedAt": { "type": "string", "format": "date-time" }, "message": { "type": "string" } }, "additionalProperties": false }, "RenewThirdPartyPlaybackLeaseRequest": { "type": "object", "properties": { "leaseSeconds": { "type": "integer", "format": "int32", "nullable": true } }, "additionalProperties": false }, "ThirdPartyRecordingPage": { "type": "object", "properties": { "page": { "type": "integer", "format": "int32" }, "pageSize": { "type": "integer", "format": "int32" }, "total": { "type": "integer", "format": "int64" }, "rows": { "type": "array", "items": { "$ref": "#/components/schemas/ThirdPartyRecordingView" } } }, "additionalProperties": false }, "RecordFileBatchResult": { "type": "object", "properties": { "succeeded": { "type": "array", "items": { "type": "string", "format": "uuid" } }, "failed": { "type": "array", "items": { "$ref": "#/components/schemas/RecordFileOperationFailure" } } }, "additionalProperties": false }, "ThirdPartyCutMergeTaskPage": { "type": "object", "properties": { "page": { "type": "integer", "format": "int32" }, "pageSize": { "type": "integer", "format": "int32" }, "total": { "type": "integer", "format": "int64" }, "rows": { "type": "array", "items": { "$ref": "#/components/schemas/ThirdPartyCutMergeTaskView" } } }, "additionalProperties": false }, "ThirdPartyCutMergeTaskView": { "type": "object", "properties": { "taskId": { "type": "string" }, "mediaServerId": { "type": "string" }, "nodeId": { "type": "string" }, "mainId": { "type": "string" }, "vhost": { "type": "string" }, "app": { "type": "string" }, "taskStatus": { "type": "string" }, "processPercentage": { "type": "number", "format": "double" }, "fileSize": { "type": "integer", "format": "int64", "nullable": true }, "expectedDurationSeconds": { "type": "number", "format": "double", "nullable": true }, "actualDurationSeconds": { "type": "number", "format": "double", "nullable": true }, "durationDeviationSeconds": { "type": "number", "format": "double", "nullable": true }, "errorMessage": { "type": "string", "nullable": true }, "startedAt": { "type": "string", "format": "date-time", "nullable": true }, "completedAt": { "type": "string", "format": "date-time", "nullable": true }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "additionalProperties": false }, "ThirdPartyCutMergeDeleteView": { "type": "object", "properties": { "taskId": { "type": "string" }, "taskDeleted": { "type": "boolean" }, "outputFileDeleted": { "type": "boolean" }, "message": { "type": "string" } }, "additionalProperties": false }, "BootstrapAdminRequest": { "type": "object", "properties": { "username": { "type": "string" }, "displayName": { "type": "string", "nullable": true }, "password": { "type": "string" } }, "additionalProperties": false }, "LoginRequest": { "type": "object", "properties": { "username": { "type": "string" }, "password": { "type": "string" }, "captchaId": { "type": "string", "format": "uuid", "nullable": true }, "captchaCode": { "type": "string", "nullable": true } }, "additionalProperties": false }, "SaveDisplayWallProgramRequest": { "type": "object", "properties": { "name": { "type": "string" }, "expectedRevision": { "type": "integer", "format": "int32", "nullable": true }, "scenes": { "type": "array", "items": { "$ref": "#/components/schemas/DisplayWallSceneDefinition" } } }, "additionalProperties": false }, "StartDisplayWallProgramRequest": { "type": "object", "properties": { "programId": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "AkLicenseImportRequest": { "type": "object", "properties": { "licenseCode": { "type": "string", "nullable": true } }, "additionalProperties": false }, "TalkPushToTalkRequest": { "type": "object", "properties": { "pressed": { "type": "boolean" } }, "additionalProperties": false }, "FirstRunPathRequest": { "type": "object", "properties": { "path": { "type": "string", "nullable": true }, "kind": { "type": "string", "nullable": true } }, "additionalProperties": false }, "FirstRunDirectoryCreateRequest": { "type": "object", "properties": { "parentPath": { "type": "string", "nullable": true }, "name": { "type": "string", "nullable": true }, "kind": { "type": "string", "nullable": true } }, "additionalProperties": false }, "FirstRunDatabaseInput": { "type": "object", "properties": { "type": { "type": "string", "nullable": true }, "host": { "type": "string", "nullable": true }, "port": { "type": "integer", "format": "int32" }, "database": { "type": "string", "nullable": true }, "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "keepExistingPassword": { "type": "boolean" }, "createDatabaseIfMissing": { "type": "boolean" }, "useSsl": { "type": "boolean" }, "trustServerCertificate": { "type": "boolean" }, "sqlitePath": { "type": "string", "nullable": true }, "preparedByInstaller": { "type": "boolean" }, "preparedEngine": { "type": "string", "nullable": true }, "remoteRootEnabled": { "type": "boolean" }, "recreateIfExists": { "type": "boolean" }, "recreateConfirmation": { "type": "string", "nullable": true } }, "additionalProperties": false }, "FirstRunEnvironmentDetectionRequest": { "type": "object", "properties": { "publicBaseUrl": { "type": "string", "nullable": true } }, "additionalProperties": false }, "FirstRunNotificationInput": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "smtpHost": { "type": "string", "nullable": true }, "smtpPort": { "type": "integer", "format": "int32" }, "useTls": { "type": "boolean" }, "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "keepExistingPassword": { "type": "boolean" }, "fromAddress": { "type": "string", "nullable": true }, "fromName": { "type": "string", "nullable": true }, "recipients": { "type": "array", "items": { "type": "string" }, "nullable": true }, "notifyCertificateRenewalFailure": { "type": "boolean" }, "notifyCertificateRenewalSuccess": { "type": "boolean" } }, "additionalProperties": false }, "FirstRunMediaBuildRequest": { "type": "object", "properties": { "sourceMode": { "type": "string", "nullable": true }, "sourcePath": { "type": "string", "nullable": true }, "networkRegion": { "type": "string", "nullable": true }, "repositoryUrl": { "type": "string", "nullable": true }, "gitRef": { "type": "string", "nullable": true } }, "additionalProperties": false }, "FirstRunInstallationRequest": { "type": "object", "properties": { "identity": { "$ref": "#/components/schemas/FirstRunIdentityInput" }, "database": { "$ref": "#/components/schemas/FirstRunDatabaseInput" }, "performance": { "$ref": "#/components/schemas/FirstRunPerformanceInput" }, "modules": { "$ref": "#/components/schemas/FirstRunModulesInput" }, "media": { "$ref": "#/components/schemas/FirstRunMediaInput" }, "network": { "$ref": "#/components/schemas/FirstRunNetworkInput" }, "storage": { "$ref": "#/components/schemas/FirstRunStorageInput" }, "tls": { "$ref": "#/components/schemas/FirstRunTlsInput" }, "notifications": { "$ref": "#/components/schemas/FirstRunNotificationInput" }, "confirmApply": { "type": "boolean" }, "confirmDataReset": { "type": "boolean" }, "confirmationText": { "type": "string", "nullable": true } }, "additionalProperties": false }, "AkVersionInfo": { "type": "object", "properties": { "version": { "type": "string" }, "assemblyVersion": { "type": "string" }, "fileVersion": { "type": "string" }, "informationalVersion": { "type": "string" }, "buildTimeUtc": { "type": "string", "format": "date-time", "nullable": true }, "buildTime": { "type": "string", "format": "date-time", "nullable": true }, "framework": { "type": "string" }, "processArchitecture": { "type": "string" }, "osArchitecture": { "type": "string" }, "assemblyLocation": { "type": "string" }, "fileVersionMatchesAssembly": { "type": "boolean" }, "informationalVersionMatchesAssembly": { "type": "boolean" }, "versionDriftDetected": { "type": "boolean" }, "versionDriftMessage": { "type": "string", "nullable": true } }, "additionalProperties": false }, "AkModuleHealth": { "type": "object", "properties": { "name": { "type": "string" }, "displayName": { "type": "string" }, "moduleVersion": { "type": "string" }, "versionSource": { "type": "string" }, "status": { "type": "string" }, "componentType": { "type": "string" }, "statusDetail": { "type": "string" } }, "additionalProperties": false }, "AkZlmPolicyConfigPatch": { "type": "object", "properties": { "closeUnmanagedStreamOnNoReader": { "type": "boolean", "nullable": true }, "closeDisabledChannelOnNoReader": { "type": "boolean", "nullable": true }, "keepNoReaderStreamWhenRecording": { "type": "boolean", "nullable": true }, "allowPlayUnmanagedStream": { "type": "boolean", "nullable": true }, "denyPlayForDisabledChannel": { "type": "boolean", "nullable": true } }, "additionalProperties": false }, "AkZlmPublishPolicyConfigPatch": { "type": "object", "properties": { "enableAudio": { "type": "boolean", "nullable": true }, "addMuteAudio": { "type": "boolean", "nullable": true }, "enableHls": { "type": "boolean", "nullable": true }, "enableHlsFmp4": { "type": "boolean", "nullable": true }, "enableRtsp": { "type": "boolean", "nullable": true }, "enableRtmp": { "type": "boolean", "nullable": true }, "enableTs": { "type": "boolean", "nullable": true }, "enableFmp4": { "type": "boolean", "nullable": true }, "hlsDemand": { "type": "boolean", "nullable": true }, "rtspDemand": { "type": "boolean", "nullable": true }, "rtmpDemand": { "type": "boolean", "nullable": true }, "tsDemand": { "type": "boolean", "nullable": true }, "fmp4Demand": { "type": "boolean", "nullable": true } }, "additionalProperties": false }, "AkZlmManagedConfigPatch": { "type": "object", "properties": { "rtc": { "$ref": "#/components/schemas/AkZlmRtcConfigPatch" }, "disableShell": { "type": "boolean", "nullable": true }, "allowShellLogin": { "type": "boolean", "nullable": true }, "shellUsername": { "type": "string", "nullable": true }, "shellPassword": { "type": "string", "nullable": true }, "disableHttpDirMenu": { "type": "boolean", "nullable": true }, "enableHttpAccessHook": { "type": "boolean", "nullable": true }, "httpAccessAllowedPathPrefixes": { "type": "array", "items": { "type": "string" }, "nullable": true }, "httpAccessCookieSeconds": { "type": "integer", "format": "int32", "nullable": true }, "outputProcessLogs": { "type": "boolean", "nullable": true }, "enableRtspAuth": { "type": "boolean", "nullable": true }, "hookPublicBaseUrl": { "type": "string", "nullable": true }, "fFmpegPath": { "type": "string", "nullable": true }, "recordSec": { "type": "integer", "format": "int32", "nullable": true }, "recordRoots": { "type": "array", "items": { "type": "string" }, "nullable": true } }, "additionalProperties": false }, "AkRecordingConfigPatch": { "type": "object", "properties": { "recordRootSelectionPolicy": { "type": "string", "nullable": true }, "enablePlanScheduler": { "type": "boolean", "nullable": true }, "enableDiskMonitor": { "type": "boolean", "nullable": true }, "diskCheckSeconds": { "type": "integer", "format": "int32", "nullable": true }, "mountIdentityCheckSeconds": { "type": "integer", "format": "int32", "nullable": true }, "enableFileScanner": { "type": "boolean", "nullable": true }, "fileScanSeconds": { "type": "integer", "format": "int32", "nullable": true }, "minimumFreeBytes": { "type": "integer", "format": "int64", "nullable": true }, "minimumFreePercent": { "type": "number", "format": "double", "nullable": true }, "allowLocalPhysicalDelete": { "type": "boolean", "nullable": true }, "autoPauseRecordingOnDiskError": { "type": "boolean", "nullable": true }, "autoResumeDiskPausedSessions": { "type": "boolean", "nullable": true }, "enableCutMergeCleanup": { "type": "boolean", "nullable": true }, "cutMergeCleanupSeconds": { "type": "integer", "format": "int32", "nullable": true }, "cutMergeTempRetentionHours": { "type": "integer", "format": "int32", "nullable": true }, "cutMergeFileRetentionDays": { "type": "integer", "format": "int32", "nullable": true } }, "additionalProperties": false }, "AkDataRetentionConfigPatch": { "type": "object", "properties": { "enabled": { "type": "boolean", "nullable": true }, "cleanupIntervalSeconds": { "type": "integer", "format": "int32", "nullable": true }, "batchSize": { "type": "integer", "format": "int32", "nullable": true }, "zlmWebhookInboxRetentionDays": { "type": "integer", "format": "int32", "nullable": true }, "nodeCommandRetentionDays": { "type": "integer", "format": "int32", "nullable": true }, "nodeHeartbeatRetentionDays": { "type": "integer", "format": "int32", "nullable": true }, "streamCommandRetentionDays": { "type": "integer", "format": "int32", "nullable": true }, "protocolCommandRetentionDays": { "type": "integer", "format": "int32", "nullable": true }, "protocolSignalEventRetentionDays": { "type": "integer", "format": "int32", "nullable": true }, "channelAuditEventRetentionDays": { "type": "integer", "format": "int32", "nullable": true }, "protocolStreamSessionRetentionDays": { "type": "integer", "format": "int32", "nullable": true }, "protocolAlarmEventRetentionDays": { "type": "integer", "format": "int32", "nullable": true }, "streamSessionRetentionDays": { "type": "integer", "format": "int32", "nullable": true }, "recordSessionRetentionDays": { "type": "integer", "format": "int32", "nullable": true }, "streamPlayerSessionRetentionDays": { "type": "integer", "format": "int32", "nullable": true }, "rtpPortLeaseRetentionDays": { "type": "integer", "format": "int32", "nullable": true }, "cutMergeTaskRetentionDays": { "type": "integer", "format": "int32", "nullable": true }, "rtcRoomEventRetentionDays": { "type": "integer", "format": "int32", "nullable": true }, "rtcMediaSessionRetentionDays": { "type": "integer", "format": "int32", "nullable": true }, "outboxEventRetentionDays": { "type": "integer", "format": "int32", "nullable": true }, "deletePendingOutboxEvents": { "type": "boolean", "nullable": true } }, "additionalProperties": false }, "AkLoggingConfigPatch": { "type": "object", "properties": { "defaultLevel": { "type": "string", "nullable": true }, "outputZlmModuleLogs": { "type": "boolean", "nullable": true }, "retentionDays": { "type": "integer", "format": "int32", "nullable": true }, "fileSizeLimitMegabytes": { "type": "integer", "format": "int32", "nullable": true } }, "additionalProperties": false }, "AkBackgroundTaskConfigPatch": { "type": "object", "properties": { "enabled": { "type": "boolean", "nullable": true }, "enabledTasks": { "type": "array", "items": { "type": "string" }, "nullable": true }, "disabledTasks": { "type": "array", "items": { "type": "string" }, "nullable": true } }, "additionalProperties": false }, "AkProtocolConfigPatch": { "type": "object", "properties": { "gb28181ServerEnabled": { "type": "boolean", "nullable": true }, "gb28181ServerListenIp": { "type": "string", "nullable": true }, "gb28181ServerPublicIp": { "type": "string", "nullable": true }, "gb28181ServerPort": { "type": "integer", "format": "int32", "nullable": true }, "gb28181ServerPublicPort": { "type": "integer", "format": "int32", "nullable": true }, "gb28181ServerTransport": { "type": "string", "nullable": true }, "gb28181ServerDeviceId": { "type": "string", "nullable": true }, "gb28181ServerRealm": { "type": "string", "nullable": true }, "gb28181ServerVersion": { "type": "string", "nullable": true }, "gb28181ServerFallbackVersion": { "type": "string", "nullable": true }, "gb28181ServerPreferredVideoCodec": { "type": "string", "nullable": true }, "gb28181ServerPreferredAudioCodec": { "type": "string", "nullable": true }, "gb28181ServerEncoding": { "type": "string", "nullable": true }, "gb28181ServerAuthentication": { "type": "boolean", "nullable": true }, "gb28181ServerUsername": { "type": "string", "nullable": true }, "gb28181ServerPassword": { "type": "string", "nullable": true }, "gb28181KeepAliveIntervalSeconds": { "type": "integer", "format": "int32", "nullable": true }, "gb28181KeepAliveLostNumber": { "type": "integer", "format": "int32", "nullable": true }, "gb28181ClientEnabled": { "type": "boolean", "nullable": true }, "gb28181ClientListenIp": { "type": "string", "nullable": true }, "gb28181ClientPublicIp": { "type": "string", "nullable": true }, "gb28181ClientLocalPort": { "type": "integer", "format": "int32", "nullable": true }, "gb28181ClientPublicPort": { "type": "integer", "format": "int32", "nullable": true }, "gb28181ClientTransport": { "type": "string", "nullable": true }, "gb28181ClientVersion": { "type": "string", "nullable": true }, "gb28181ClientFallbackVersion": { "type": "string", "nullable": true }, "gb28181ClientServerAddress": { "type": "string", "nullable": true }, "gb28181ClientServerPort": { "type": "integer", "format": "int32", "nullable": true }, "gb28181ClientDeviceId": { "type": "string", "nullable": true }, "gb28181ClientServerDeviceId": { "type": "string", "nullable": true }, "gb28181ClientRealm": { "type": "string", "nullable": true }, "gb28181ClientUsername": { "type": "string", "nullable": true }, "gb28181ClientAuthentication": { "type": "boolean", "nullable": true }, "gb28181ClientPassword": { "type": "string", "nullable": true }, "gb28181ClientExpiresSeconds": { "type": "integer", "format": "int32", "nullable": true }, "gb28181ClientRegisterRetrySeconds": { "type": "integer", "format": "int32", "nullable": true }, "gb28181ClientResponseTimeoutSeconds": { "type": "integer", "format": "int32", "nullable": true }, "gb28181ClientKeepAliveIntervalSeconds": { "type": "integer", "format": "int32", "nullable": true }, "gb28181ClientKeepAliveLostNumber": { "type": "integer", "format": "int32", "nullable": true }, "gb28181ClientEncoding": { "type": "string", "nullable": true }, "onvifEnabled": { "type": "boolean", "nullable": true }, "onvifDiscoveryTimeoutMs": { "type": "integer", "format": "int32", "nullable": true }, "onvifEventSubscriptionScanSeconds": { "type": "integer", "format": "int32", "nullable": true } }, "additionalProperties": false }, "AkRtcConfigPatch": { "type": "object", "properties": { "attachmentRoot": { "type": "string", "nullable": true }, "maxAttachmentBytes": { "type": "integer", "format": "int64", "nullable": true }, "participantTokenMinutes": { "type": "integer", "format": "int32", "nullable": true }, "meetingLifecycleScanSeconds": { "type": "integer", "format": "int32", "nullable": true }, "meetingLifecycleBatchSize": { "type": "integer", "format": "int32", "nullable": true }, "enableParticipantTimeoutScan": { "type": "boolean", "nullable": true }, "participantTimeoutScanSeconds": { "type": "integer", "format": "int32", "nullable": true }, "participantHeartbeatTimeoutSeconds": { "type": "integer", "format": "int32", "nullable": true }, "participantTimeoutBatchSize": { "type": "integer", "format": "int32", "nullable": true }, "enableRoomEventTailer": { "type": "boolean", "nullable": true }, "maxReconnectReplayEvents": { "type": "integer", "format": "int32", "nullable": true }, "signalingSendTimeoutSeconds": { "type": "integer", "format": "int32", "nullable": true }, "roomEventTailerPollSeconds": { "type": "integer", "format": "int32", "nullable": true }, "roomEventTailerBatchSize": { "type": "integer", "format": "int32", "nullable": true }, "roomEventBroadcastDedupeSeconds": { "type": "integer", "format": "int32", "nullable": true } }, "additionalProperties": false }, "AkRawConfigurationChange": { "type": "object", "properties": { "path": { "type": "string" }, "beforeValue": { "type": "string" }, "afterValue": { "type": "string" } }, "additionalProperties": false }, "ConfigurationWizardWorkload": { "type": "object", "properties": { "expectedDeviceCount": { "type": "integer", "format": "int32" }, "peakInputStreams": { "type": "integer", "format": "int32" }, "peakOutputStreams": { "type": "integer", "format": "int32" }, "peakRtpSendSessions": { "type": "integer", "format": "int32" }, "peakRtcSessions": { "type": "integer", "format": "int32" }, "recordingStreams": { "type": "integer", "format": "int32" }, "averageBitrateKbps": { "type": "integer", "format": "int32" }, "retentionDays": { "type": "integer", "format": "int32" }, "latencyGoal": { "type": "string" }, "networkProfile": { "type": "string" }, "expectedPacketLossPercent": { "type": "number", "format": "double" }, "expectedRttMilliseconds": { "type": "integer", "format": "int32" }, "behindNat": { "type": "boolean" }, "publicAccess": { "type": "boolean" }, "containerized": { "type": "boolean" }, "enableGb28181": { "type": "boolean" }, "enableGb28181Cascade": { "type": "boolean" }, "enableOnvif": { "type": "boolean" }, "enableRtc": { "type": "boolean" }, "enableRecording": { "type": "boolean" }, "enableAudio": { "type": "boolean" }, "enableHls": { "type": "boolean" }, "enableHlsFmp4": { "type": "boolean" }, "enableRtsp": { "type": "boolean" }, "enableRtmp": { "type": "boolean" }, "enableTs": { "type": "boolean" }, "enableFmp4": { "type": "boolean" }, "enableSrt": { "type": "boolean" }, "protocolOutputMode": { "type": "string" }, "rtpIngressMode": { "type": "string", "nullable": true }, "enableFixedRtpIngress": { "type": "boolean" }, "acknowledgeObservedNetworkRate": { "type": "boolean" }, "acknowledgeStorageCapacityPlan": { "type": "boolean" } }, "additionalProperties": false }, "JsonNode": { "type": "object", "properties": { "options": { "allOf": [ { "$ref": "#/components/schemas/JsonNodeOptions" } ] }, "parent": { "$ref": "#/components/schemas/JsonNode" }, "root": { "$ref": "#/components/schemas/JsonNode" } }, "additionalProperties": false }, "ZlmRawApiResult": { "type": "object", "properties": { "nodeId": { "type": "string" }, "api": { "type": "string" }, "success": { "type": "boolean" }, "code": { "type": "integer", "format": "int32", "nullable": true }, "message": { "type": "string", "nullable": true }, "data": { "nullable": true }, "rawJson": { "type": "string" }, "elapsed": { "$ref": "#/components/schemas/TimeSpan" } }, "additionalProperties": false }, "AssetTransferBundle": { "type": "object", "properties": { "recordPlans": { "type": "array", "items": { "$ref": "#/components/schemas/RecordPlan" } }, "recordPlanRanges": { "type": "array", "items": { "$ref": "#/components/schemas/RecordPlanRange" } }, "schemaVersion": { "type": "integer", "format": "int32" }, "groups": { "type": "array", "items": { "$ref": "#/components/schemas/ChannelGroup" } }, "devices": { "type": "array", "items": { "$ref": "#/components/schemas/ProtocolDevice" } }, "protocolChannels": { "type": "array", "items": { "$ref": "#/components/schemas/ProtocolChannel" } }, "channels": { "type": "array", "items": { "$ref": "#/components/schemas/VideoChannel" } } }, "additionalProperties": false }, "RtspSmokeBatchItem": { "type": "object", "properties": { "name": { "type": "string", "nullable": true }, "streamId": { "type": "string", "nullable": true }, "url": { "type": "string" } }, "additionalProperties": false }, "SaveRecordPlanRangeRequest": { "type": "object", "properties": { "dayOfWeek": { "type": "integer", "format": "int32" }, "startTime": { "type": "string" }, "endTime": { "type": "string" } }, "additionalProperties": false }, "RecordFileView": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "channelId": { "type": "string" }, "nodeId": { "type": "string" }, "mediaServerId": { "type": "string" }, "vhost": { "type": "string" }, "app": { "type": "string" }, "streamId": { "type": "string" }, "fileName": { "type": "string", "nullable": true }, "recordDate": { "type": "string", "nullable": true }, "mediaUrl": { "type": "string" }, "downloadUrl": { "type": "string" }, "sizeBytes": { "type": "integer", "format": "int64" }, "durationSeconds": { "type": "integer", "format": "int32", "nullable": true }, "sourceHook": { "type": "string" }, "indexSource": { "type": "string" }, "fileState": { "type": "string" }, "canUndoDelete": { "type": "boolean" }, "deletedAt": { "type": "string", "format": "date-time", "nullable": true }, "deleteUndoUntil": { "type": "string", "format": "date-time", "nullable": true }, "existsOnDisk": { "type": "boolean", "nullable": true }, "lastScannedAt": { "type": "string", "format": "date-time", "nullable": true }, "startedAt": { "type": "string", "format": "date-time", "nullable": true }, "endedAt": { "type": "string", "format": "date-time", "nullable": true }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "additionalProperties": false }, "CutMergeTaskSummary": { "type": "object", "properties": { "taskId": { "type": "string" }, "mediaServerId": { "type": "string" }, "nodeId": { "type": "string" }, "mainId": { "type": "string" }, "vhost": { "type": "string" }, "app": { "type": "string" }, "startTime": { "type": "string", "format": "date-time", "nullable": true }, "endTime": { "type": "string", "format": "date-time", "nullable": true }, "taskStatus": { "type": "string" }, "processPercentage": { "type": "number", "format": "double" }, "playUrl": { "type": "string", "nullable": true }, "downloadUrl": { "type": "string", "nullable": true }, "fileSize": { "type": "integer", "format": "int64", "nullable": true }, "timeConsuming": { "type": "number", "format": "double", "nullable": true }, "expectedDurationSeconds": { "type": "number", "format": "double", "nullable": true }, "actualDurationSeconds": { "type": "number", "format": "double", "nullable": true }, "durationDeviationSeconds": { "type": "number", "format": "double", "nullable": true }, "planItemCount": { "type": "integer", "format": "int32" }, "gapCount": { "type": "integer", "format": "int32" }, "errorMessage": { "type": "string", "nullable": true }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "startedAt": { "type": "string", "format": "date-time", "nullable": true }, "completedAt": { "type": "string", "format": "date-time", "nullable": true } }, "additionalProperties": false }, "CutMergeRequestView": { "type": "object", "properties": { "startTime": { "type": "string", "format": "date-time" }, "endTime": { "type": "string", "format": "date-time" }, "mediaServerId": { "type": "string", "nullable": true }, "channelId": { "type": "string", "nullable": true }, "app": { "type": "string", "nullable": true }, "vhost": { "type": "string", "nullable": true }, "mainId": { "type": "string", "nullable": true } }, "additionalProperties": false }, "CutMergePlanItemView": { "type": "object", "properties": { "recordFileId": { "type": "string", "format": "uuid" }, "startTime": { "type": "string", "format": "date-time", "nullable": true }, "endTime": { "type": "string", "format": "date-time", "nullable": true }, "fileSize": { "type": "integer", "format": "int64", "nullable": true }, "duration": { "type": "integer", "format": "int32", "nullable": true }, "cutStartPos": { "type": "string", "nullable": true }, "cutEndPos": { "type": "string", "nullable": true } }, "additionalProperties": false }, "CutMergePlanGap": { "type": "object", "properties": { "position": { "type": "string" }, "startTime": { "type": "string", "format": "date-time" }, "endTime": { "type": "string", "format": "date-time" }, "seconds": { "type": "integer", "format": "int32" } }, "additionalProperties": false }, "RecordingSearchSegment": { "type": "object", "properties": { "recordFileId": { "type": "string", "format": "uuid" }, "channelId": { "type": "string" }, "channelName": { "type": "string" }, "deviceId": { "type": "string" }, "nodeId": { "type": "string" }, "mediaServerId": { "type": "string" }, "vhost": { "type": "string" }, "app": { "type": "string" }, "streamId": { "type": "string" }, "fileName": { "type": "string" }, "hitAtUtc": { "type": "string", "format": "date-time" }, "hitOffsetMs": { "type": "integer", "format": "int64" }, "segmentStartMs": { "type": "integer", "format": "int64" }, "segmentEndMs": { "type": "integer", "format": "int64" }, "similarity": { "type": "number", "format": "double" }, "mediaUrl": { "type": "string" }, "playableOnCurrentNode": { "type": "boolean" } }, "additionalProperties": false }, "Gb28181BasicParamConfig": { "type": "object", "properties": { "name": { "type": "string" }, "expiration": { "type": "integer", "format": "int32" }, "heartBeatInterval": { "type": "integer", "format": "int32" }, "heartBeatCount": { "type": "integer", "format": "int32" } }, "additionalProperties": false }, "GpsTrackPoint": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "clusterId": { "type": "string" }, "nodeId": { "type": "string" }, "protocol": { "type": "string" }, "deviceId": { "type": "string" }, "deviceChannelId": { "type": "string", "nullable": true }, "videoChannelId": { "type": "string", "nullable": true }, "taskId": { "type": "integer", "format": "int32", "nullable": true }, "positionTime": { "type": "string", "format": "date-time" }, "reportedAt": { "type": "string", "format": "date-time" }, "longitude": { "type": "number", "format": "double", "nullable": true }, "latitude": { "type": "number", "format": "double", "nullable": true }, "speed": { "type": "number", "format": "double", "nullable": true }, "direction": { "type": "number", "format": "double", "nullable": true }, "altitude": { "type": "number", "format": "double", "nullable": true } }, "additionalProperties": false }, "Gb28181RecordQueryCommandView": { "type": "object", "properties": { "commandId": { "type": "string", "format": "uuid" }, "status": { "type": "string" }, "failureCode": { "type": "string", "nullable": true }, "errorMessage": { "type": "string", "nullable": true }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "startedAt": { "type": "string", "format": "date-time", "nullable": true }, "completedAt": { "type": "string", "format": "date-time", "nullable": true } }, "additionalProperties": false }, "Gb28181RecordFileView": { "type": "object", "properties": { "channelId": { "type": "string", "nullable": true }, "name": { "type": "string", "nullable": true }, "startTime": { "type": "string", "format": "date-time", "nullable": true }, "endTime": { "type": "string", "format": "date-time", "nullable": true }, "secrecy": { "type": "integer", "format": "int32", "nullable": true }, "type": { "type": "string", "nullable": true }, "recorderId": { "type": "string", "nullable": true }, "ssrc": { "type": "string", "nullable": true }, "streamId": { "type": "string", "nullable": true }, "fileSize": { "type": "integer", "format": "int64", "nullable": true }, "hasDeviceLocator": { "type": "boolean" }, "deviceLocatorKind": { "type": "string" }, "playback": { "$ref": "#/components/schemas/Gb28181RecordPlaybackAction" } }, "additionalProperties": false }, "OnvifDiscoveryItem": { "type": "object", "properties": { "onvifUrl": { "type": "string" }, "name": { "type": "string", "nullable": true }, "hardware": { "type": "string", "nullable": true }, "location": { "type": "string", "nullable": true }, "profile": { "nullable": true } }, "additionalProperties": false }, "OnvifProfileDescriptor": { "type": "object", "properties": { "profileToken": { "type": "string", "nullable": true }, "profileName": { "type": "string", "nullable": true }, "isFixed": { "type": "boolean", "nullable": true }, "videoSourceToken": { "type": "string", "nullable": true }, "videoEncoderToken": { "type": "string", "nullable": true }, "videoEncoding": { "type": "string", "nullable": true }, "width": { "type": "integer", "format": "int32", "nullable": true }, "height": { "type": "integer", "format": "int32", "nullable": true }, "frameRateLimit": { "type": "number", "format": "double", "nullable": true }, "audioSourceToken": { "type": "string", "nullable": true }, "audioEncoderToken": { "type": "string", "nullable": true }, "audioEncoding": { "type": "string", "nullable": true }, "audioOutputConfigurationToken": { "type": "string", "nullable": true }, "audioDecoderConfigurationToken": { "type": "string", "nullable": true }, "ptzConfigurationToken": { "type": "string", "nullable": true }, "rawXml": { "type": "string", "nullable": true }, "profile": { "nullable": true } }, "additionalProperties": false }, "OnvifImagingSettings20": { "type": "object", "properties": { "backlightCompensation": { "$ref": "#/components/schemas/OnvifModeLevelSetting" }, "brightness": { "type": "number", "format": "double", "nullable": true }, "colorSaturation": { "type": "number", "format": "double", "nullable": true }, "contrast": { "type": "number", "format": "double", "nullable": true }, "exposure": { "$ref": "#/components/schemas/OnvifExposure20" }, "focus": { "$ref": "#/components/schemas/OnvifFocusConfiguration20" }, "irCutFilter": { "type": "string", "nullable": true }, "sharpness": { "type": "number", "format": "double", "nullable": true }, "wideDynamicRange": { "$ref": "#/components/schemas/OnvifModeLevelSetting" }, "whiteBalance": { "$ref": "#/components/schemas/OnvifWhiteBalance20" }, "extension": { "$ref": "#/components/schemas/OnvifImagingExtension20" } }, "additionalProperties": false }, "OnvifNetworkHostDescriptor": { "type": "object", "properties": { "type": { "type": "string", "nullable": true }, "ipv4Address": { "type": "string", "nullable": true }, "ipv6Address": { "type": "string", "nullable": true }, "dnsName": { "type": "string", "nullable": true }, "rawXml": { "type": "string", "nullable": true } }, "additionalProperties": false }, "OnvifNetworkProtocolDescriptor": { "type": "object", "properties": { "name": { "type": "string", "nullable": true }, "enabled": { "type": "boolean", "nullable": true }, "ports": { "type": "array", "items": { "type": "integer", "format": "int32" } }, "rawXml": { "type": "string", "nullable": true } }, "additionalProperties": false }, "OnvifNetworkInterfaceDescriptor": { "type": "object", "properties": { "token": { "type": "string", "nullable": true }, "enabled": { "type": "boolean", "nullable": true }, "name": { "type": "string", "nullable": true }, "hardwareAddress": { "type": "string", "nullable": true }, "mtu": { "type": "integer", "format": "int32", "nullable": true }, "ipv4Enabled": { "type": "boolean", "nullable": true }, "ipv4FromDhcp": { "type": "boolean", "nullable": true }, "ipv4Manual": { "type": "array", "items": { "$ref": "#/components/schemas/OnvifIpAddressDescriptor" } }, "ipv4Dhcp": { "type": "array", "items": { "$ref": "#/components/schemas/OnvifIpAddressDescriptor" } }, "ipv4LinkLocal": { "type": "array", "items": { "$ref": "#/components/schemas/OnvifIpAddressDescriptor" } }, "ipv6Enabled": { "type": "boolean", "nullable": true }, "ipv6FromDhcp": { "type": "string", "nullable": true }, "ipv6Manual": { "type": "array", "items": { "$ref": "#/components/schemas/OnvifIpAddressDescriptor" } }, "ipv6Dhcp": { "type": "array", "items": { "$ref": "#/components/schemas/OnvifIpAddressDescriptor" } }, "ipv6LinkLocal": { "type": "array", "items": { "$ref": "#/components/schemas/OnvifIpAddressDescriptor" } }, "rawXml": { "type": "string", "nullable": true } }, "additionalProperties": false }, "OnvifDigitalInputDescriptor": { "type": "object", "properties": { "token": { "type": "string", "nullable": true }, "name": { "type": "string", "nullable": true }, "idleState": { "type": "string", "nullable": true }, "state": { "type": "string", "nullable": true }, "rawXml": { "type": "string", "nullable": true } }, "additionalProperties": false }, "OnvifRelayOutputDescriptor": { "type": "object", "properties": { "token": { "type": "string", "nullable": true }, "mode": { "type": "string", "nullable": true }, "delayTime": { "type": "string", "nullable": true }, "idleState": { "type": "string", "nullable": true }, "propertiesRawXml": { "type": "string", "nullable": true }, "rawXml": { "type": "string", "nullable": true } }, "additionalProperties": false }, "OnvifUserCredentialDescriptor": { "type": "object", "properties": { "username": { "type": "string" }, "password": { "type": "string", "nullable": true }, "userLevel": { "type": "string" } }, "additionalProperties": false }, "OnvifScopeDescriptor": { "type": "object", "properties": { "scopeDef": { "type": "string", "nullable": true }, "scopeItem": { "type": "string", "nullable": true }, "rawXml": { "type": "string", "nullable": true } }, "additionalProperties": false }, "OnvifServiceDescriptor": { "type": "object", "properties": { "namespace": { "type": "string", "nullable": true }, "xAddr": { "type": "string", "nullable": true }, "versionMajor": { "type": "integer", "format": "int32", "nullable": true }, "versionMinor": { "type": "integer", "format": "int32", "nullable": true }, "capabilitiesRawXml": { "type": "string", "nullable": true }, "rawXml": { "type": "string", "nullable": true } }, "additionalProperties": false }, "OnvifUserDescriptor": { "type": "object", "properties": { "username": { "type": "string", "nullable": true }, "userLevel": { "type": "string", "nullable": true }, "rawXml": { "type": "string", "nullable": true } }, "additionalProperties": false }, "RtcVideoQuality": { "type": "object", "properties": { "width": { "type": "integer", "format": "int32" }, "height": { "type": "integer", "format": "int32" }, "frameRate": { "type": "integer", "format": "int32" } }, "additionalProperties": false }, "RtcVideoMode": { "type": "object", "properties": { "width": { "type": "integer", "format": "int32" }, "height": { "type": "integer", "format": "int32" }, "frameRateMin": { "type": "number", "format": "double", "nullable": true }, "frameRateMax": { "type": "number", "format": "double", "nullable": true } }, "additionalProperties": false }, "ProtocolAcceptanceArea": { "type": "object", "properties": { "key": { "type": "string" }, "name": { "type": "string" }, "status": { "type": "string" }, "summary": { "type": "string" }, "metrics": { "type": "array", "items": { "$ref": "#/components/schemas/ProtocolAcceptanceMetric" } }, "evidence": { "type": "array", "items": { "type": "string" } }, "nextActions": { "type": "array", "items": { "type": "string" } } }, "additionalProperties": false }, "SystemReadinessSnapshot": { "type": "object", "properties": { "status": { "type": "string" }, "nodeId": { "type": "string" }, "clusterId": { "type": "string" }, "roles": { "type": "array", "items": { "type": "string" } }, "checkedAt": { "type": "string", "format": "date-time" }, "checks": { "type": "array", "items": { "$ref": "#/components/schemas/SystemReadinessCheckResult" } } }, "additionalProperties": false }, "ProtocolDiagnosticDeviceSnapshot": { "type": "object", "properties": { "protocol": { "type": "string" }, "deviceId": { "type": "string" }, "name": { "type": "string" }, "direction": { "type": "string" }, "status": { "type": "string" }, "remoteAddress": { "type": "string", "nullable": true }, "remotePort": { "type": "integer", "format": "int32", "nullable": true }, "transport": { "type": "string", "nullable": true }, "lastKeepaliveAt": { "type": "string", "format": "date-time", "nullable": true }, "lastOnlineAt": { "type": "string", "format": "date-time", "nullable": true }, "lastOfflineAt": { "type": "string", "format": "date-time", "nullable": true }, "channelCount": { "type": "integer", "format": "int32" } }, "additionalProperties": false }, "ProtocolDiagnosticChannelSnapshot": { "type": "object", "properties": { "channelId": { "type": "string" }, "name": { "type": "string" }, "status": { "type": "string" }, "channelType": { "type": "string" }, "videoChannelId": { "type": "string", "nullable": true }, "hasAudio": { "type": "boolean" }, "hasPtz": { "type": "boolean" }, "isAudioOnly": { "type": "boolean" }, "updatedAt": { "type": "string", "format": "date-time" } }, "additionalProperties": false }, "ProtocolDiagnosticVideoChannelSnapshot": { "type": "object", "properties": { "channelId": { "type": "string" }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "desiredState": { "type": "string" }, "actualState": { "type": "string" }, "mediaServerId": { "type": "string" }, "app": { "type": "string" }, "streamId": { "type": "string" }, "autoVideo": { "type": "boolean" }, "autoRecord": { "type": "boolean" }, "noPlayerBreak": { "type": "boolean", "nullable": true }, "rtpWithTcp": { "type": "boolean", "nullable": true }, "autoStartFailureCount": { "type": "integer", "format": "int32" }, "lastAutoStartFailureAt": { "type": "string", "format": "date-time", "nullable": true }, "nextAutoStartAt": { "type": "string", "format": "date-time", "nullable": true }, "lastAutoStartFailureCode": { "type": "string", "nullable": true }, "lastAutoStartFailureReason": { "type": "string", "nullable": true } }, "additionalProperties": false }, "ProtocolDiagnosticSessionSnapshot": { "type": "object", "properties": { "sessionId": { "type": "string", "format": "uuid" }, "sessionType": { "type": "string" }, "state": { "type": "string" }, "mediaServerId": { "type": "string" }, "app": { "type": "string" }, "streamId": { "type": "string" }, "ssrc": { "type": "string" }, "rtpPort": { "type": "integer", "format": "int32", "nullable": true }, "rtpWithTcp": { "type": "boolean" }, "callId": { "type": "string", "nullable": true }, "startedAt": { "type": "string", "format": "date-time" }, "publishedAt": { "type": "string", "format": "date-time", "nullable": true }, "stoppedAt": { "type": "string", "format": "date-time", "nullable": true }, "timeoutAt": { "type": "string", "format": "date-time" }, "lastError": { "type": "string", "nullable": true } }, "additionalProperties": false }, "ProtocolDiagnosticNodeCommandSnapshot": { "type": "object", "properties": { "nodeCommandId": { "type": "string", "format": "uuid" }, "nodeId": { "type": "string" }, "zlmNodeId": { "type": "string", "nullable": true }, "commandType": { "type": "string" }, "status": { "type": "string" }, "requestedBy": { "type": "string" }, "dispatchedAt": { "type": "string", "format": "date-time", "nullable": true }, "startedAt": { "type": "string", "format": "date-time", "nullable": true }, "completedAt": { "type": "string", "format": "date-time", "nullable": true }, "errorMessage": { "type": "string", "nullable": true } }, "additionalProperties": false }, "ProtocolCommandDiagnosticBucket": { "type": "object", "properties": { "key": { "type": "string" }, "count": { "type": "integer", "format": "int32" }, "failed": { "type": "integer", "format": "int32" }, "timedOut": { "type": "integer", "format": "int32" }, "waiting": { "type": "integer", "format": "int32" }, "succeeded": { "type": "integer", "format": "int32" }, "latestAt": { "type": "string", "format": "date-time", "nullable": true }, "sampleDeviceId": { "type": "string", "nullable": true }, "sampleChannelId": { "type": "string", "nullable": true }, "sampleErrorMessage": { "type": "string", "nullable": true } }, "additionalProperties": false }, "ProtocolCommand": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "isDeleted": { "type": "boolean" }, "clusterId": { "type": "string" }, "nodeId": { "type": "string", "nullable": true }, "protocol": { "type": "string" }, "commandType": { "type": "string" }, "deviceId": { "type": "string", "nullable": true }, "channelId": { "type": "string", "nullable": true }, "sessionId": { "type": "string", "format": "uuid", "nullable": true }, "nodeCommandId": { "type": "string", "format": "uuid", "nullable": true }, "correlationId": { "type": "string", "nullable": true }, "status": { "type": "string" }, "payloadJson": { "type": "string" }, "resultJson": { "type": "string", "nullable": true }, "errorMessage": { "type": "string", "nullable": true }, "failureCode": { "type": "string", "nullable": true }, "requestedBy": { "type": "string" }, "timeoutSeconds": { "type": "integer", "format": "int32" }, "dispatchedAt": { "type": "string", "format": "date-time", "nullable": true }, "startedAt": { "type": "string", "format": "date-time", "nullable": true }, "completedAt": { "type": "string", "format": "date-time", "nullable": true }, "lateResultCount": { "type": "integer", "format": "int32" }, "lastLateResultAt": { "type": "string", "format": "date-time", "nullable": true }, "lastLateResultSuccess": { "type": "boolean", "nullable": true }, "lastLateResultJson": { "type": "string", "nullable": true }, "lastLateErrorMessage": { "type": "string", "nullable": true } }, "additionalProperties": false }, "ThirdPartyPlaybackSource": { "type": "object", "properties": { "protocol": { "type": "string" }, "url": { "type": "string" }, "contentType": { "type": "string" }, "browserNative": { "type": "boolean" }, "hint": { "type": "string" } }, "additionalProperties": false }, "ThirdPartyRecordingView": { "type": "object", "properties": { "fileId": { "type": "string", "format": "uuid" }, "channelId": { "type": "string" }, "nodeId": { "type": "string" }, "mediaServerId": { "type": "string" }, "vhost": { "type": "string" }, "app": { "type": "string" }, "streamId": { "type": "string" }, "fileName": { "type": "string", "nullable": true }, "recordDate": { "type": "string", "nullable": true }, "sizeBytes": { "type": "integer", "format": "int64" }, "durationSeconds": { "type": "integer", "format": "int32", "nullable": true }, "fileState": { "type": "string" }, "canUndoDelete": { "type": "boolean" }, "deleteUndoUntil": { "type": "string", "format": "date-time", "nullable": true }, "existsOnDisk": { "type": "boolean", "nullable": true }, "startedAt": { "type": "string", "format": "date-time", "nullable": true }, "endedAt": { "type": "string", "format": "date-time", "nullable": true }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "playbackLinkEndpoint": { "type": "string" }, "playbackLeaseEndpoint": { "type": "string" }, "downloadLinkEndpoint": { "type": "string" } }, "additionalProperties": false }, "RecordFileOperationFailure": { "type": "object", "properties": { "fileId": { "type": "string", "format": "uuid" }, "reason": { "type": "string" } }, "additionalProperties": false }, "DisplayWallSceneDefinition": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "layout": { "type": "string" }, "protocol": { "type": "string" }, "transition": { "type": "string" }, "durationSeconds": { "type": "integer", "format": "int32" }, "channelIds": { "type": "array", "items": { "type": "string" } } }, "additionalProperties": false }, "FirstRunIdentityInput": { "type": "object", "properties": { "clusterName": { "type": "string", "nullable": true }, "clusterId": { "type": "string", "nullable": true }, "nodeDisplayName": { "type": "string", "nullable": true }, "nodeId": { "type": "string", "nullable": true }, "deploymentMode": { "type": "string", "nullable": true }, "roles": { "type": "array", "items": { "type": "string" }, "nullable": true }, "controlBaseUrl": { "type": "string", "nullable": true } }, "additionalProperties": false }, "FirstRunPerformanceInput": { "type": "object", "properties": { "profile": { "type": "string", "nullable": true }, "hostTuningMode": { "type": "string", "nullable": true }, "applyRecommendedHostTuning": { "type": "boolean" }, "monitoringSampleMilliseconds": { "type": "integer", "format": "int32" }, "nodeHeartbeatSeconds": { "type": "integer", "format": "int32" }, "zlmCapabilityProbeSeconds": { "type": "integer", "format": "int32" }, "zlmReconcileSeconds": { "type": "integer", "format": "int32" }, "recordingDiskCheckSeconds": { "type": "integer", "format": "int32" }, "recordingFileScanSeconds": { "type": "integer", "format": "int32" }, "recordingFileScanMaxFiles": { "type": "integer", "format": "int32" }, "cleanupIntervalSeconds": { "type": "integer", "format": "int32" }, "serverGc": { "type": "boolean" }, "concurrentGc": { "type": "boolean" }, "heapHardLimitPercent": { "type": "integer", "format": "int32" }, "conserveMemory": { "type": "integer", "format": "int32" }, "retainVm": { "type": "boolean" }, "openFilesLimit": { "type": "integer", "format": "int64" }, "ipv6Enabled": { "type": "boolean" }, "tcpListenBacklog": { "type": "integer", "format": "int32" }, "tcpSynBacklog": { "type": "integer", "format": "int32" }, "networkDeviceBacklog": { "type": "integer", "format": "int32" }, "tcpFinTimeoutSeconds": { "type": "integer", "format": "int32" }, "tcpKeepaliveTimeSeconds": { "type": "integer", "format": "int32" }, "tcpKeepaliveIntervalSeconds": { "type": "integer", "format": "int32" }, "tcpKeepaliveProbes": { "type": "integer", "format": "int32" }, "tcpTimeWaitReuse": { "type": "integer", "format": "int32" }, "macLaunchdKeepAlive": { "type": "boolean" }, "windowsServiceAutoStart": { "type": "boolean" }, "windowsServiceRecovery": { "type": "boolean" }, "windowsCreateFirewallRules": { "type": "boolean" } }, "additionalProperties": false }, "FirstRunModulesInput": { "type": "object", "properties": { "managedMediaServer": { "type": "boolean" }, "gb28181Server": { "type": "boolean" }, "gb28181Client": { "type": "boolean" }, "onvif": { "type": "boolean" }, "rtc": { "type": "boolean" }, "recording": { "type": "boolean" }, "recordingSearch": { "type": "boolean" }, "recordingSearchAutoDownload": { "type": "boolean" }, "recordingSearchModelPackageId": { "type": "string", "nullable": true }, "recordingSearchBackend": { "type": "string", "nullable": true }, "gpsTracking": { "type": "boolean" }, "ai": { "type": "boolean" }, "aiBaseUrl": { "type": "string", "nullable": true }, "aiModel": { "type": "string", "nullable": true }, "aiApiKey": { "type": "string", "nullable": true }, "keepExistingAiApiKey": { "type": "boolean" }, "gpsMapProvider": { "type": "string", "nullable": true }, "gpsMapApiKey": { "type": "string", "nullable": true } }, "additionalProperties": false }, "FirstRunMediaInput": { "type": "object", "properties": { "provisionMode": { "type": "string", "nullable": true }, "sourcePath": { "type": "string", "nullable": true }, "networkRegion": { "type": "string", "nullable": true }, "repositoryUrl": { "type": "string", "nullable": true }, "gitRef": { "type": "string", "nullable": true }, "buildDirectory": { "type": "string", "nullable": true }, "mediaServerPath": { "type": "string", "nullable": true }, "configPath": { "type": "string", "nullable": true }, "workDirectory": { "type": "string", "nullable": true }, "ffmpegPath": { "type": "string", "nullable": true }, "apiBaseUrl": { "type": "string", "nullable": true }, "rtspPort": { "type": "integer", "format": "int32" }, "rtmpPort": { "type": "integer", "format": "int32" }, "srtPort": { "type": "integer", "format": "int32" }, "apiSecret": { "type": "string", "nullable": true }, "keepExistingSecret": { "type": "boolean" } }, "additionalProperties": false }, "FirstRunNetworkInput": { "type": "object", "properties": { "httpPort": { "type": "integer", "format": "int32" }, "publicBaseUrl": { "type": "string", "nullable": true }, "externalIp": { "type": "string", "nullable": true }, "gbServerPort": { "type": "integer", "format": "int32" }, "gbServerTransport": { "type": "string", "nullable": true }, "gbClientPort": { "type": "integer", "format": "int32" }, "gbClientTransport": { "type": "string", "nullable": true }, "rtcUdpPort": { "type": "integer", "format": "int32" }, "rtcTcpPort": { "type": "integer", "format": "int32" }, "iceUdpPort": { "type": "integer", "format": "int32" }, "iceTcpPort": { "type": "integer", "format": "int32" }, "turnStartPort": { "type": "integer", "format": "int32" }, "turnEndPort": { "type": "integer", "format": "int32" }, "rtpStartPort": { "type": "integer", "format": "int32" }, "rtpEndPort": { "type": "integer", "format": "int32" }, "rtpIngressMode": { "type": "string", "nullable": true }, "fixedRtpPort": { "type": "integer", "format": "int32" }, "sendRtpStartPort": { "type": "integer", "format": "int32" }, "sendRtpEndPort": { "type": "integer", "format": "int32" } }, "additionalProperties": false }, "FirstRunStorageInput": { "type": "object", "properties": { "recordRoots": { "type": "array", "items": { "type": "string" }, "nullable": true }, "qdrantStorageDirectory": { "type": "string", "nullable": true }, "minimumFreeBytes": { "type": "integer", "format": "int64" }, "minimumFreePercent": { "type": "number", "format": "double" }, "logLevel": { "type": "string", "nullable": true }, "logRetentionDays": { "type": "integer", "format": "int32" }, "logFileSizeLimitMegabytes": { "type": "integer", "format": "int32" }, "adminUsername": { "type": "string", "nullable": true }, "adminDisplayName": { "type": "string", "nullable": true }, "adminPassword": { "type": "string", "nullable": true }, "adminPasswordConfirm": { "type": "string", "nullable": true } }, "additionalProperties": false }, "FirstRunTlsInput": { "type": "object", "properties": { "mode": { "type": "string", "nullable": true }, "deploymentScenario": { "type": "string", "nullable": true }, "nginxEnvironmentProfile": { "type": "string", "nullable": true }, "nginxProvisioningMode": { "type": "string", "nullable": true }, "nginxExecutablePath": { "type": "string", "nullable": true }, "nginxConfigPath": { "type": "string", "nullable": true }, "nginxSiteConfigPath": { "type": "string", "nullable": true }, "certificateMode": { "type": "string", "nullable": true }, "certificatePath": { "type": "string", "nullable": true }, "certificateKeyPath": { "type": "string", "nullable": true }, "certificatePassword": { "type": "string", "nullable": true }, "trustedProxyAddresses": { "type": "array", "items": { "type": "string" }, "nullable": true }, "certificateDomains": { "type": "array", "items": { "type": "string" }, "nullable": true }, "acmeEmail": { "type": "string", "nullable": true }, "acmeChallengeType": { "type": "string", "nullable": true }, "acmeAcceptTerms": { "type": "boolean" }, "acmeAutoRenewEnabled": { "type": "boolean" }, "acmeReloadNginxAfterRenewal": { "type": "boolean" }, "acmeRenewBeforeDays": { "type": "integer", "format": "int32" } }, "additionalProperties": false }, "AkZlmRtcConfigPatch": { "type": "object", "properties": { "signalingPort": { "type": "integer", "format": "int32", "nullable": true }, "signalingSslPort": { "type": "integer", "format": "int32", "nullable": true }, "icePort": { "type": "integer", "format": "int32", "nullable": true }, "iceTcpPort": { "type": "integer", "format": "int32", "nullable": true }, "enableTurn": { "type": "boolean", "nullable": true }, "iceTransportPolicy": { "type": "integer", "format": "int32", "nullable": true }, "iceUsername": { "type": "string", "nullable": true }, "icePassword": { "type": "string", "nullable": true }, "turnPortStart": { "type": "integer", "format": "int32", "nullable": true }, "turnPortEnd": { "type": "integer", "format": "int32", "nullable": true }, "timeoutSeconds": { "type": "integer", "format": "int32", "nullable": true }, "externalIp": { "type": "string", "nullable": true }, "interfaces": { "type": "string", "nullable": true }, "udpPort": { "type": "integer", "format": "int32", "nullable": true }, "tcpPort": { "type": "integer", "format": "int32", "nullable": true }, "rembBitRate": { "type": "integer", "format": "int32", "nullable": true }, "preferredAudioCodecs": { "type": "string", "nullable": true }, "preferredVideoCodecs": { "type": "string", "nullable": true }, "startBitrate": { "type": "integer", "format": "int32", "nullable": true }, "minBitrate": { "type": "integer", "format": "int32", "nullable": true }, "maxBitrate": { "type": "integer", "format": "int32", "nullable": true }, "preferredTcp": { "type": "boolean", "nullable": true } }, "additionalProperties": false }, "JsonNodeOptions": { "type": "object", "properties": { "propertyNameCaseInsensitive": { "type": "boolean" } }, "additionalProperties": false }, "TimeSpan": { "type": "object", "properties": { "ticks": { "type": "integer", "format": "int64" }, "days": { "type": "integer", "format": "int32", "readOnly": true }, "hours": { "type": "integer", "format": "int32", "readOnly": true }, "milliseconds": { "type": "integer", "format": "int32", "readOnly": true }, "microseconds": { "type": "integer", "format": "int32", "readOnly": true }, "nanoseconds": { "type": "integer", "format": "int32", "readOnly": true }, "minutes": { "type": "integer", "format": "int32", "readOnly": true }, "seconds": { "type": "integer", "format": "int32", "readOnly": true }, "totalDays": { "type": "number", "format": "double", "readOnly": true }, "totalHours": { "type": "number", "format": "double", "readOnly": true }, "totalMilliseconds": { "type": "number", "format": "double", "readOnly": true }, "totalMicroseconds": { "type": "number", "format": "double", "readOnly": true }, "totalNanoseconds": { "type": "number", "format": "double", "readOnly": true }, "totalMinutes": { "type": "number", "format": "double", "readOnly": true }, "totalSeconds": { "type": "number", "format": "double", "readOnly": true } }, "additionalProperties": false }, "RecordPlan": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "isDeleted": { "type": "boolean" }, "planId": { "type": "string" }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "retentionDays": { "type": "integer", "format": "int32" }, "minFreeSpaceGb": { "type": "integer", "format": "int64" }, "limitSpaceBytes": { "type": "integer", "format": "int64", "nullable": true }, "overLimitPolicy": { "type": "string" } }, "additionalProperties": false }, "RecordPlanRange": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "isDeleted": { "type": "boolean" }, "recordPlanId": { "type": "string", "format": "uuid" }, "dayOfWeek": { "type": "integer", "format": "int32" }, "startTime": { "type": "string" }, "endTime": { "type": "string" } }, "additionalProperties": false }, "ChannelGroup": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "isDeleted": { "type": "boolean" }, "clusterId": { "type": "string" }, "groupId": { "type": "string" }, "name": { "type": "string" }, "sortOrder": { "type": "integer", "format": "int32" } }, "additionalProperties": false }, "ProtocolDevice": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "isDeleted": { "type": "boolean" }, "clusterId": { "type": "string" }, "deviceId": { "type": "string" }, "protocol": { "type": "string" }, "name": { "type": "string" }, "direction": { "type": "string" }, "remoteAddress": { "type": "string", "nullable": true }, "remotePort": { "type": "integer", "format": "int32", "nullable": true }, "transport": { "type": "string", "nullable": true }, "manufacturer": { "type": "string", "nullable": true }, "model": { "type": "string", "nullable": true }, "firmware": { "type": "string", "nullable": true }, "status": { "type": "string" }, "lastKeepaliveAt": { "type": "string", "format": "date-time", "nullable": true }, "lastOnlineAt": { "type": "string", "format": "date-time", "nullable": true }, "lastOfflineAt": { "type": "string", "format": "date-time", "nullable": true }, "channelCount": { "type": "integer", "format": "int32" }, "profileJson": { "type": "string", "nullable": true } }, "additionalProperties": false }, "ProtocolChannel": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "isDeleted": { "type": "boolean" }, "clusterId": { "type": "string" }, "protocol": { "type": "string" }, "deviceId": { "type": "string" }, "channelId": { "type": "string" }, "name": { "type": "string" }, "status": { "type": "string" }, "channelType": { "type": "string" }, "parentChannelId": { "type": "string", "nullable": true }, "civilCode": { "type": "string", "nullable": true }, "businessGroupId": { "type": "string", "nullable": true }, "address": { "type": "string", "nullable": true }, "videoChannelId": { "type": "string", "nullable": true }, "manufacturer": { "type": "string", "nullable": true }, "longitude": { "type": "number", "format": "double", "nullable": true }, "latitude": { "type": "number", "format": "double", "nullable": true }, "hasAudio": { "type": "boolean" }, "hasPtz": { "type": "boolean" }, "ptzManualConfirmed": { "type": "boolean" }, "ptzType": { "type": "integer", "format": "int32", "nullable": true }, "isParent": { "type": "boolean" }, "isAlarmChannel": { "type": "boolean" }, "isAudioOnly": { "type": "boolean" }, "ptzCapabilityJson": { "type": "string", "nullable": true }, "profileJson": { "type": "string", "nullable": true } }, "additionalProperties": false }, "VideoChannel": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "isDeleted": { "type": "boolean" }, "clusterId": { "type": "string" }, "channelId": { "type": "string" }, "mediaServerId": { "type": "string" }, "vhost": { "type": "string" }, "deviceId": { "type": "string" }, "deviceChannelId": { "type": "string", "nullable": true }, "protocol": { "type": "string" }, "name": { "type": "string" }, "app": { "type": "string" }, "streamId": { "type": "string" }, "sourceUrl": { "type": "string", "nullable": true }, "enabled": { "type": "boolean" }, "snapshotEnabled": { "type": "boolean" }, "recordingSearchEnabled": { "type": "boolean" }, "recordingSearchScopeRevision": { "type": "integer", "format": "int64" }, "snapshotIntervalSeconds": { "type": "integer", "format": "int32" }, "snapshotKeepCount": { "type": "integer", "format": "int32" }, "autoVideo": { "type": "boolean" }, "autoStartFailureCount": { "type": "integer", "format": "int32" }, "lastAutoStartFailureAt": { "type": "string", "format": "date-time", "nullable": true }, "nextAutoStartAt": { "type": "string", "format": "date-time", "nullable": true }, "lastAutoStartFailureCode": { "type": "string", "nullable": true }, "lastAutoStartFailureReason": { "type": "string", "nullable": true }, "autoRecord": { "type": "boolean" }, "recordPlanId": { "type": "string", "nullable": true }, "recordPlanName": { "type": "string", "nullable": true }, "recordSecs": { "type": "integer", "format": "int32", "nullable": true }, "ipV4Address": { "type": "string", "nullable": true }, "ipV6Address": { "type": "string", "nullable": true }, "departmentId": { "type": "string", "nullable": true }, "departmentName": { "type": "string", "nullable": true }, "parentDepartmentId": { "type": "string", "nullable": true }, "parentDepartmentName": { "type": "string", "nullable": true }, "deviceNetworkType": { "type": "string" }, "deviceStreamType": { "type": "string" }, "methodByGetStream": { "type": "string" }, "videoDeviceType": { "type": "string" }, "channelType": { "type": "string" }, "hasAudio": { "type": "boolean" }, "isAudioOnly": { "type": "boolean" }, "isAlarmChannel": { "type": "boolean" }, "hasPtz": { "type": "boolean" }, "ptzEnabled": { "type": "boolean", "nullable": true }, "ptzProtocol": { "type": "string", "nullable": true }, "ptzDeviceId": { "type": "string", "nullable": true }, "ptzChannelId": { "type": "string", "nullable": true }, "rtpWithTcp": { "type": "boolean", "nullable": true }, "defaultRtpPort": { "type": "boolean", "nullable": true }, "noPlayerBreak": { "type": "boolean", "nullable": true }, "fFmpegTemplate": { "type": "string", "nullable": true }, "isShareChannel": { "type": "boolean" }, "shareUrl": { "type": "string", "nullable": true }, "shareDeviceId": { "type": "string", "nullable": true }, "desiredState": { "type": "string" }, "actualState": { "type": "string" } }, "additionalProperties": false }, "Gb28181RecordPlaybackAction": { "type": "object", "properties": { "directlyPlayable": { "type": "boolean" }, "method": { "type": "string" }, "endpoint": { "type": "string" }, "request": { "$ref": "#/components/schemas/Gb28181RecordPlaybackRequest" }, "playbackLeaseEndpointTemplate": { "type": "string" } }, "additionalProperties": false }, "OnvifModeLevelSetting": { "type": "object", "properties": { "mode": { "type": "string", "nullable": true }, "level": { "type": "number", "format": "double", "nullable": true } }, "additionalProperties": false }, "OnvifExposure20": { "type": "object", "properties": { "mode": { "type": "string", "nullable": true }, "priority": { "type": "string", "nullable": true }, "window": { "$ref": "#/components/schemas/OnvifRectangle" }, "minExposureTime": { "type": "number", "format": "double", "nullable": true }, "maxExposureTime": { "type": "number", "format": "double", "nullable": true }, "minGain": { "type": "number", "format": "double", "nullable": true }, "maxGain": { "type": "number", "format": "double", "nullable": true }, "minIris": { "type": "number", "format": "double", "nullable": true }, "maxIris": { "type": "number", "format": "double", "nullable": true }, "exposureTime": { "type": "number", "format": "double", "nullable": true }, "gain": { "type": "number", "format": "double", "nullable": true }, "iris": { "type": "number", "format": "double", "nullable": true } }, "additionalProperties": false }, "OnvifFocusConfiguration20": { "type": "object", "properties": { "autoFocusMode": { "type": "string", "nullable": true }, "defaultSpeed": { "type": "number", "format": "double", "nullable": true }, "nearLimit": { "type": "number", "format": "double", "nullable": true }, "farLimit": { "type": "number", "format": "double", "nullable": true } }, "additionalProperties": false }, "OnvifWhiteBalance20": { "type": "object", "properties": { "mode": { "type": "string", "nullable": true }, "crGain": { "type": "number", "format": "double", "nullable": true }, "cbGain": { "type": "number", "format": "double", "nullable": true } }, "additionalProperties": false }, "OnvifImagingExtension20": { "type": "object", "properties": { "imageStabilization": { "$ref": "#/components/schemas/OnvifModeLevelSetting" }, "irCutFilterAutoAdjustments": { "type": "array", "items": { "$ref": "#/components/schemas/OnvifIrCutFilterAutoAdjustment" } }, "toneCompensation": { "$ref": "#/components/schemas/OnvifModeLevelSetting" }, "defogging": { "$ref": "#/components/schemas/OnvifModeLevelSetting" }, "noiseReductionLevel": { "type": "number", "format": "double", "nullable": true } }, "additionalProperties": false }, "OnvifIpAddressDescriptor": { "type": "object", "properties": { "address": { "type": "string", "nullable": true }, "prefixLength": { "type": "integer", "format": "int32", "nullable": true } }, "additionalProperties": false }, "ProtocolAcceptanceMetric": { "type": "object", "properties": { "name": { "type": "string" }, "value": { "type": "string" }, "unit": { "type": "string", "nullable": true }, "status": { "type": "string" } }, "additionalProperties": false }, "SystemReadinessCheckResult": { "type": "object", "properties": { "name": { "type": "string" }, "status": { "type": "string" }, "message": { "type": "string" }, "details": { "type": "object", "additionalProperties": {} }, "elapsedMs": { "type": "integer", "format": "int64", "nullable": true } }, "additionalProperties": false }, "Gb28181RecordPlaybackRequest": { "type": "object", "properties": { "deviceId": { "type": "string" }, "channelId": { "type": "string" }, "startTime": { "type": "string", "format": "date-time" }, "endTime": { "type": "string", "format": "date-time" }, "taskId": { "type": "integer", "format": "int32" } }, "additionalProperties": false }, "OnvifRectangle": { "type": "object", "properties": { "bottom": { "type": "number", "format": "double", "nullable": true }, "top": { "type": "number", "format": "double", "nullable": true }, "right": { "type": "number", "format": "double", "nullable": true }, "left": { "type": "number", "format": "double", "nullable": true } }, "additionalProperties": false }, "OnvifIrCutFilterAutoAdjustment": { "type": "object", "properties": { "boundaryType": { "type": "string", "nullable": true }, "boundaryOffset": { "type": "number", "format": "double", "nullable": true }, "responseTime": { "type": "string", "nullable": true } }, "additionalProperties": false } } }, "tags": [ { "name": "01 系统与健康", "x-akstream-description": "系统版本、运行角色、健康检查、Debug 文档入口和 Outbox 事件等基础接口。" }, { "name": "02 日志与安全", "x-akstream-description": "日志级别动态控制、RTSP 鉴权和安全治理相关接口。" }, { "name": "03 集群与节点", "x-akstream-description": "AKStream.Next 多角色节点、node 命令、RTP 端口、FFmpeg 模板和本机流媒体服务进程治理接口。" }, { "name": "04 MediaServer 适配", "x-akstream-description": "流媒体服务节点能力发现、版本/API 探测、WebHook 收件箱和 WebHook 兼容入口。" }, { "name": "05 视频通道与流", "x-akstream-description": "统一视频通道、自动拉流/停流、在线流、流命令和播放器状态接口。" }, { "name": "06 录像与磁盘", "x-akstream-description": "录像启停、录像计划、录像文件索引、磁盘守护、裁剪合并和保留策略接口。" }, { "name": "07 GB28181 国标", "x-akstream-description": "GB28181 Server/Client、Catalog/RecordInfo、实时点播、回放、PTZ、订阅、告警和语音对讲接口。" }, { "name": "08 ONVIF 设备", "x-akstream-description": "ONVIF 发现、Device/Media/PTZ/Imaging/Event 原生 SOAP 能力和统一通道绑定接口。" }, { "name": "09 WebRTC SFU", "x-akstream-description": "基于流媒体服务WHIP/WHEP 的 RTC 房间、成员、推流、播放、聊天、白板、投屏和 DataChannel 接口。" }, { "name": "10 协议统一视图", "x-akstream-description": "跨 GB28181、ONVIF 的设备、通道、命令、告警和状态收敛接口。" }, { "name": "11 第三方集成", "x-akstream-description": "只使用 API Token 的服务端对服务端接入、安全资源视图、短时播放/下载地址和常用业务动作。" }, { "name": "99 未归类", "x-akstream-description": "尚未建立明确业务分组的接口。" } ] }