{
  "openapi": "3.0.1",
  "info": {
    "title": "AKStream.Next public integration API",
    "version": "1.0.0.169"
  },
  "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": "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"
                }
              }
            }
          }
        },
        "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": "分页查询第三方录像文件",
        "operationId": "GET_api_v2_third_party_recordings",
        "parameters": [
          {
            "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"
                }
              }
            }
          }
        },
        "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": "尚未建立明确业务分组的接口。"
    }
  ]
}
