{
  "openapi": "3.0.1",
  "info": {
    "title": "熵矢 API",
    "version": "v1.0.0",
    "description": "# 熵矢 API 文档\n\n欢迎阅读熵矢 API 文档。你可以通过本 API 以编程方式接入安全扫描与分析能力。\n\n## 功能\n\n- **任务管理**：创建、管理并跟踪安全扫描任务。\n- **漏洞分析**：获取详细的漏洞报告与利用链信息。\n- **SCA**：对依赖进行软件成分分析（Software Composition Analysis）。\n- **网络诊断**：检查网络连通性与相关安全状态。\n\n## 认证方式\n\n熵矢 API 支持两种集成模式。后端到后端调用请使用 SK；需要委托用户授权时，请使用集成应用的 OAuth/Clerk 流程。\n\n### 方式一：SK 服务端请求\n\n在应用服务的 [系统 -> SK 密钥管理](/app/system/api-keys) 页面创建并复制 SK。\n\n请仅在可信的后端或服务端环境中保存 SK。不要把 SK 写入浏览器代码、移动应用、公开仓库、客户端日志，或任何客户可见配置。\n\n后端调用熵矢 API 时，请将 SK 作为 Bearer Token 使用：\n\n```bash\ncurl --request GET \\\n  --url 'https://entropass.com/oxpecker/api/v1/tasks/task_123' \\\n  --header 'Authorization: Bearer sk-xx'\n```\n\n### 方式二：集成应用 OAuth/Clerk\n\n当第三方应用需要通过标准 OAuth 2.0 Authorization Code Flow 接入熵矢全局认证系统时，请使用此模式。\n\n#### 准备\n\n开始前，请向 **support@entropass.com** 提交接入申请，并提供必要信息，包括你的 `redirect_uri`。\n\n#### OAuth 端点\n\n| 配置项 | 值 |\n| :--- | :--- |\n| **Auth URL** | `https://clerk.entropass.com/oauth/authorize` |\n| **Token URL** | `https://clerk.entropass.com/oauth/token` |\n| **User Info URL** | `https://clerk.entropass.com/oauth/userinfo` |\n\n#### 授权流程\n\n1. 将用户重定向到：`GET https://clerk.entropass.com/oauth/authorize?response_type=code&client_id=YOUR_CLIENT_ID&redirect_uri=YOUR_CALLBACK_URI&scope=profile%20email&state=12345678`\n2. 接收回调：`YOUR_CALLBACK_URI?code=AUTHORIZATION_CODE&state=12345678`\n3. 使用 `POST https://clerk.entropass.com/oauth/token`，以 `application/x-www-form-urlencoded` 请求体交换授权码，字段包括：`grant_type=authorization_code`、`code`、`client_id`、`client_secret`、`redirect_uri`。\n4. 使用 `POST https://clerk.entropass.com/oauth/token` 刷新令牌，字段包括：`grant_type=refresh_token`、`refresh_token`、`client_id`、`client_secret`。\n\n### API 调用方式\n\n在 Bearer Header 中发送 SK 或 OAuth access token：\n\n`Authorization: Bearer <SK_OR_ACCESS_TOKEN>`\n\n## 工作流：创建代码扫描任务\n\n按以下步骤以编程方式创建并运行安全扫描，流程与熵矢用户手册一致。\n\n### 步骤 1：上传产物\n先上传应用构建产物（例如 `.jar`、`.war`）以及可选源码。\n- **接口**：`POST /oxpecker/api/v1/files/upload`\n- **操作**：上传文件。\n- **结果**：保存返回的 `sha256`。创建任务时需要把它作为 `primarySourceCode` 使用。\n\n### 步骤 2：网络诊断（推荐）\n确认熵矢可以访问你的已部署服务 URL。\n- **接口**：`POST /oxpecker/api/v1/network-diagnostics`\n- **操作**：针对 `sandboxHomePageUrl` 发起诊断检查。\n- **轮询状态**：使用 `GET /oxpecker/api/v1/network-diagnostics/{id}/next-stage` 确认连接是否成功。\n\n### 步骤 3：域名所有权验证\n验证你拥有待扫描域名。\n1. **获取令牌**：调用 `GET /oxpecker/api/v1/domain-ownership/random-content` 获取验证内容。\n2. **托管令牌**：创建名为 `hash.txt` 的文件，写入令牌内容，并托管到 `https://your-domain.com/.well-known/hash.txt`。\n3. **完成验证**：调用 `POST /oxpecker/api/v1/domain-ownership/verify` 确认所有权。\n\n### 步骤 3.5（可选）：使用嵌入式浏览器配置认证\n如果目标服务需要登录，可使用嵌入式浏览器 API 捕获会话信息。\n1. **创建浏览器**：调用 `POST /oxpecker/api/v1/browsers` 初始化远程浏览器会话。\n2. **嵌入**：将返回的 `url` 放到你应用中的 `<iframe>`。\n3. **交互**：使用 `window.postMessage` 与 iframe 通信（协议细节见 `/oxpecker/api/v1/browsers` 文档）。\n   - 使用 `go` 或 `newTab` 命令导航到登录页。\n   - 等待用户完成登录。\n4. **捕获会话**：从 iframe 发送 `getSession` 命令，获取 cookies 与 storage 数据。\n5. **用于任务**：在调用 `POST /oxpecker/api/v2/tasks` 时，将捕获到的会话数据放入 `sandboxAuthInfos` 字段。\n\n### 步骤 4：创建任务\n提交带完整配置的扫描任务。\n- **接口**：`POST /oxpecker/api/v2/tasks`\n- **载荷**：\n    - `projectName`：项目名称。\n    - `lang`：编程语言（例如 `\"JAVA\"`）。\n    - `primarySourceCode`：步骤 1 返回的 `sha256`。\n    - `sandboxHomePageUrl`：已部署服务的 URL。\n    - `sandboxAuthInfos`：（可选）若服务需要登录，在此提供账号凭据（见步骤 3.5）。\n\n### 步骤 5：监控进度并查看结果\n- **跟踪状态**：使用 `GET /oxpecker/api/v1/tasks/{taskId}` 检查 `taskStatus`。\n- **获取结果**：完成后，使用 `POST /oxpecker/api/v1/tasks/{taskId}/results/search` 获取漏洞发现。\n- **导出报告**：使用 `GET /oxpecker/api/v2/tasks/{taskId}/report` 下载 PDF 或 HTML 报告。"
  },
  "servers": [
    {
      "url": "https://entropass.com",
      "description": "Generated server url"
    }
  ],
  "paths": {
    "/oxpecker/api/v2/tasks": {
      "post": {
        "tags": [
          "task-v-2-controller"
        ],
        "operationId": "createTask",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateTaskV2Request"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/CreateTaskResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "summary": "Create Task",
        "description": "Creates a new security scan task with the specified configuration, including source code, sandbox environment, and scan options."
      }
    },
    "/oxpecker/api/v2/tasks/create-group": {
      "post": {
        "tags": [
          "task-v-2-controller"
        ],
        "operationId": "createGroupTask",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateTaskV2Request"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/CreateTaskResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "summary": "Create Task Group",
        "description": "Creates a group of tasks for managing multiple related scans together. Use this interface when there are multiple microservices and multiple artifact files need to be uploaded simultaneously."
      }
    },
    "/oxpecker/api/v1/tasks/{taskId}/results/stat": {
      "post": {
        "tags": [
          "task-controller"
        ],
        "operationId": "getTaskVerifyPassResultStat",
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "maxLength": 32,
              "minLength": 1,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/GetTaskVerifyPassResultStatResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "summary": "Get Result Statistics",
        "description": "Retrieves statistical data about the results of a specific task, such as the count of vulnerabilities by severity."
      }
    },
    "/oxpecker/api/v1/tasks/{taskId}/results/search": {
      "post": {
        "tags": [
          "task-controller"
        ],
        "operationId": "listTaskVulVerifyResults",
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ListTaskVulVerifyResultsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ListTaskVulVerifyResultsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "summary": "Search Results",
        "description": "Searches for specific vulnerability results within a task based on filter criteria."
      }
    },
    "/oxpecker/api/v1/tasks/{taskId}/exploit-chains/search": {
      "post": {
        "tags": [
          "task-controller"
        ],
        "operationId": "listTaskExploitChains",
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ListTaskExploitChainRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ListTaskExploitChainsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "summary": "Search Exploit Chains",
        "description": "Searches for exploit chains associated with a task, which describe how multiple vulnerabilities can be chained together."
      }
    },
    "/oxpecker/api/v1/tasks/terminate": {
      "post": {
        "tags": [
          "task-controller"
        ],
        "operationId": "terminateTask",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TerminateTaskRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "summary": "Terminate Task",
        "description": "Terminates a currently running task."
      }
    },
    "/oxpecker/api/v1/tasks/search": {
      "post": {
        "tags": [
          "task-controller"
        ],
        "operationId": "listTasks",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ListTasksRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ListTasksResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "summary": "Search Tasks",
        "description": "Retrieves a list of tasks based on search criteria like status, project name, or date."
      }
    },
    "/oxpecker/api/v1/tasks/delete": {
      "post": {
        "tags": [
          "task-controller"
        ],
        "operationId": "deleteTasks",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteTasksRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "summary": "Delete Tasks",
        "description": "Deletes one or more tasks identified by their IDs."
      }
    },
    "/oxpecker/api/v1/shares": {
      "post": {
        "tags": [
          "vul-share-controller"
        ],
        "operationId": "createVulShare",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateVulShareRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/CreateVulShareResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "summary": "Create Share",
        "description": "Creates a shareable link for vulnerabilities or reports, allowing external access."
      }
    },
    "/oxpecker/api/v1/shares/search": {
      "post": {
        "tags": [
          "vul-share-controller"
        ],
        "operationId": "listVulShares",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ListVulSharesRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ListVulSharesResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "summary": "Search Shares",
        "description": "Lists existing shared links and their details."
      }
    },
    "/oxpecker/api/v1/shares/public/{shareId}": {
      "get": {
        "tags": [
          "vul-share-controller"
        ],
        "operationId": "getVulShare",
        "parameters": [
          {
            "name": "shareId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/GetVulShareResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "summary": "Get Shared Info",
        "description": "Retrieves information about a specific share using its ID."
      },
      "post": {
        "tags": [
          "vul-share-controller"
        ],
        "operationId": "extractVulShare",
        "parameters": [
          {
            "name": "shareId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExtractVulShareRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/GetVulShareResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "summary": "Extract Shared Info",
        "description": "Accesses a protected share using an extraction code."
      }
    },
    "/oxpecker/api/v1/shares/public/{shareId}/vuls/{vulId}": {
      "get": {
        "tags": [
          "vul-share-controller"
        ],
        "operationId": "getVulDetail",
        "parameters": [
          {
            "name": "shareId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "vulId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "*/*": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "summary": "Get Shared Vulnerability",
        "description": "Retrieves details of a specific vulnerability within a share."
      },
      "post": {
        "tags": [
          "vul-share-controller"
        ],
        "operationId": "extractVulDetail",
        "parameters": [
          {
            "name": "shareId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "vulId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExtractVulShareRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "*/*": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "summary": "Extract Shared Vulnerability",
        "description": "Accesses details of a specific vulnerability within a protected share using an extraction code."
      }
    },
    "/oxpecker/api/v1/shares/public/{shareId}/exploit-chains/{vulId}": {
      "post": {
        "tags": [
          "vul-share-controller"
        ],
        "operationId": "extractExploitChainDetail",
        "parameters": [
          {
            "name": "shareId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "vulId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExtractVulShareRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/GetVulnAgentLogicExploitChainDetailResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "summary": "Extract Exploit Chain",
        "description": "Retrieves details of an exploit chain within a shared report."
      }
    },
    "/oxpecker/api/v1/shares/generate-id": {
      "post": {
        "tags": [
          "vul-share-controller"
        ],
        "operationId": "generateVulShareId",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/GenerateVulShareIdResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "summary": "Generate Share ID",
        "description": "Generates a unique identifier for creating a new share."
      }
    },
    "/oxpecker/api/v1/shares/delete": {
      "post": {
        "tags": [
          "vul-share-controller"
        ],
        "operationId": "deleteVulShares",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteVulSharesRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "summary": "Delete Shares",
        "description": "Deletes specified shares."
      }
    },
    "/oxpecker/api/v1/network-diagnostics": {
      "post": {
        "tags": [
          "network-diagnostics-controller"
        ],
        "operationId": "createNetworkDiagnostics",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateNetworkDiagnosticsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/CreateNetworkDiagnosticsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "summary": "Create Network Diagnostics",
        "description": "Initiates a network diagnostic test for a specified URL.\n\n### Usage\n\n1. Call this endpoint with the target URL (`testUrl`) to start the diagnostics process.\n2. The response will contain an `id` which uniquely identifies this diagnostic session.\n3. Use the returned `id` to poll the status of the diagnostics via `GET /oxpecker/api/v1/network-diagnostics/{id}/next-stage`."
      }
    },
    "/oxpecker/api/v1/files/upload": {
      "post": {
        "tags": [
          "file-controller"
        ],
        "operationId": "upload",
        "parameters": [
          {
            "name": "sha256",
            "in": "query",
            "required": false,
            "schema": {
              "maxLength": 64,
              "minLength": 64,
              "type": "string"
            }
          },
          {
            "name": "forceUpload",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "required": [
                  "file"
                ],
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/UploadedFile"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "summary": "Upload File",
        "description": "Uploads a file to the server, commonly used for source code or configuration files."
      }
    },
    "/oxpecker/api/v1/files/check-exist/{sha256}": {
      "post": {
        "tags": [
          "file-controller"
        ],
        "operationId": "checkFileExist",
        "parameters": [
          {
            "name": "sha256",
            "in": "path",
            "required": true,
            "schema": {
              "maxLength": 64,
              "minLength": 64,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "*/*": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "summary": "Check File Existence",
        "description": "Checks if a file with the given SHA256 hash already exists on the server."
      }
    },
    "/oxpecker/api/v1/domain-ownership/verify": {
      "post": {
        "tags": [
          "domain-ownership-controller"
        ],
        "operationId": "verifyDomain",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VerifyDomainRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "summary": "Verify Domain Ownership",
        "description": "Verifies ownership of a domain by checking for a specific file or DNS record."
      }
    },
    "/oxpecker/api/v1/shares/{shareId}": {
      "patch": {
        "tags": [
          "vul-share-controller"
        ],
        "operationId": "updateVulShare",
        "parameters": [
          {
            "name": "shareId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateVulShareRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "summary": "Update Share",
        "description": "Updates configuration for an existing share, such as validity period."
      }
    },
    "/oxpecker/api/v2/tasks/{taskId}/report": {
      "get": {
        "tags": [
          "report-export-controller"
        ],
        "operationId": "exportFileReport",
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "maxLength": 32,
              "minLength": 1,
              "type": "string"
            }
          },
          {
            "name": "type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-User-Language",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "default": "en"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/StreamingResponseBody"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "summary": "Export Report",
        "description": "Exports the task report in a specified format (e.g., PDF, HTML)."
      }
    },
    "/oxpecker/api/v1/tasks/{taskId}": {
      "get": {
        "tags": [
          "task-controller"
        ],
        "operationId": "getTask",
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "maxLength": 32,
              "minLength": 1,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/GetTaskResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "summary": "Get Task Details",
        "description": "Retrieves detailed information about a specific task."
      }
    },
    "/oxpecker/api/v1/tasks/{taskId}/results/{vulId}": {
      "get": {
        "tags": [
          "task-controller"
        ],
        "operationId": "getTaskVerifyResult",
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "maxLength": 32,
              "minLength": 1,
              "type": "string"
            }
          },
          {
            "name": "vulId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "*/*": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "summary": "Get Vulnerability Result",
        "description": "Retrieves details of a specific vulnerability found in a task."
      }
    },
    "/oxpecker/api/v1/tasks/{taskId}/exploit-chains/{vulId}": {
      "get": {
        "tags": [
          "task-controller"
        ],
        "operationId": "getTaskExploitChain",
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "maxLength": 32,
              "minLength": 1,
              "type": "string"
            }
          },
          {
            "name": "vulId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/GetTaskExploitChainResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "summary": "Get Exploit Chain",
        "description": "Retrieves details of a specific exploit chain for a task."
      }
    },
    "/oxpecker/api/v1/tasks/source-ip": {
      "get": {
        "tags": [
          "task-controller"
        ],
        "operationId": "getExecutorIp",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/GetExecutorIpResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "summary": "Get Source IP",
        "description": "Returns the IP address of the task executor, useful for allowlisting."
      }
    },
    "/oxpecker/api/v1/sca/result-base-info/task/{taskId}": {
      "get": {
        "tags": [
          "sca-controller"
        ],
        "operationId": "getScaBaseInfoByTaskId",
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/GetScaBaseInfoResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "summary": "Get SCA Info",
        "description": "Retrieves base information for Software Composition Analysis (SCA) results."
      }
    },
    "/oxpecker/api/v1/sca/deps/{hash}/vulns/{vulnId}": {
      "get": {
        "tags": [
          "sca-controller"
        ],
        "operationId": "getScaVulnDetail",
        "parameters": [
          {
            "name": "hash",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "vulnId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/GetScaVulnDetailResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "summary": "Get SCA Vulnerability",
        "description": "Retrieves detailed information about a specific vulnerability found in dependencies."
      }
    },
    "/oxpecker/api/v1/network-diagnostics/{id}/next-stage": {
      "get": {
        "tags": [
          "network-diagnostics-controller"
        ],
        "operationId": "getNetworkDiagnostics",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-User-Language",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "default": "en"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/GetNetworkDiagnosticsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "summary": "Get Diagnostics Status",
        "description": "Checks the progress and next stage of a running network diagnostic test.\n\n### Polling Mechanism\n\nThis endpoint is designed to be polled to track the progress of the network diagnostics.\n\n1. **Initiate Diagnostics**: First, call `POST /oxpecker/api/v1/network-diagnostics` to start the diagnostics and get an `id`.\n2. **Poll Status**: Repeatedly call this endpoint (`GET /oxpecker/api/v1/network-diagnostics/{id}/next-stage`) using the `id`.\n3. **Check Response**:\n   - The response contains a `status` field and a `stages` array.\n   - `status`: Indicates the overall status (e.g., `RUNNING`, `FINISHED`).\n   - `nextStage`: Indicates the index of the stage currently being processed or next to be processed.\n   - `stages`: An array of stage objects, each containing `stageName`, `description`, `status` (e.g., `PASS`, `FAIL`, `NOT_STARTED`), and `resultInfo`.\n4. **Completion**:\n   - Continue polling until `status` is `FINISHED`.\n   - If a stage fails (`status` is `FAIL`), the diagnostics may stop or continue depending on the logic, but the `resultInfo` will contain error details.\n   - When `status` is `FINISHED`, check if all stages have `PASS` status to determine overall success."
      }
    },
    "/oxpecker/api/v1/domain-ownership/random-content": {
      "get": {
        "tags": [
          "domain-ownership-controller"
        ],
        "operationId": "getRandomContent",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/GetRandomContentResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "summary": "Get Random Content",
        "description": "Generates random content used for domain ownership verification."
      }
    },
    "/oxpecker/api/v1/browsers": {
      "post": {
        "tags": [
          "browser-box-controller"
        ],
        "operationId": "createBrowser",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateBrowserRequest"
              }
            }
          }
        },
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/CreateBrowserResponse"
                }
              }
            }
          }
        },
        "summary": "Create Browser",
        "description": "Creates a remote browser instance and returns a URL to be embedded in an iframe.\n\n### Iframe Communication\n\nCommunication with the embedded browser is done via `window.postMessage`.\n\n#### Request Format (Parent to Iframe)\n```json\n{\n  \"type\": \"commandName\",\n  \"data\": { ... },\n  \"messageId\": \"uniqueId\"\n}\n```\n\n#### Response Format (Iframe to Parent)\n```json\n{\n  \"type\": \"commandName\",\n  \"messageId\": \"uniqueId\",\n  \"data\": {\n    \"success\": true,\n    \"data\": { ... },\n    \"error\": \"error message if failed\"\n  }\n}\n```\n\n#### Supported Commands\n\n1. **getTabs**: Get list of open tabs.\n   - Request: `{ \"type\": \"getTabs\" }`\n\n2. **newTab**: Create a new tab.\n   - Request: `{ \"type\": \"newTab\", \"data\": { \"url\": \"https://example.com\" } }`\n\n3. **newContextTab**: Create a new tab in a new browser context.\n   - Request: `{ \"type\": \"newContextTab\", \"data\": { \"url\": \"https://example.com\" } }`\n\n4. **switchTab**: Switch to a specific tab.\n   - Request: `{ \"type\": \"switchTab\", \"data\": { \"targetId\": \"tabId\" } }`\n\n5. **closeTab**: Close a specific tab.\n   - Request: `{ \"type\": \"closeTab\", \"data\": { \"targetId\": \"tabId\" } }`\n\n6. **getSession**: Get session information (cookies, storage) for a tab.\n   - Request: `{ \"type\": \"getSession\", \"data\": { \"targetId\": \"tabId\" } }`\n\n7. **go**: Navigate current tab to a URL.\n   - Request: `{ \"type\": \"go\", \"data\": { \"url\": \"https://example.com\" } }`\n\n8. **clearSession**: Clear session for a tab.\n   - Request: `{ \"type\": \"clearSession\", \"data\": { \"targetId\": \"tabId\" } }`\n\n9. **clearTabs**: Close all tabs.\n   - Request: `{ \"type\": \"clearTabs\" }`\n\n#### Events (Iframe to Parent)\n\n1. **iframeLoaded**: Sent when the iframe is fully loaded and ready.\n   - Format: `{ \"type\": \"iframeLoaded\" }`\n\n2. **updateTabs**: Sent when the list of tabs changes.\n   - Format: `{ \"type\": \"updateTabs\", \"data\": { \"data\": [ ...tabObjects ] } }`"
      }
    },
    "/oxpecker/api/v1/verification-projects": {
      "post": {
        "tags": [
          "verification-project-controller"
        ],
        "operationId": "createProject",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateVerificationProjectRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/CreateVerificationProjectResponse"
                }
              }
            }
          }
        }
      }
    },
    "/oxpecker/api/v1/verification-projects/{projectId}/verify": {
      "post": {
        "tags": [
          "verification-project-controller"
        ],
        "operationId": "createVerifyTask",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "maxLength": 32,
              "minLength": 1,
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateVerificationProjectPocVerifyRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/CreateVerificationProjectPocVerifyResponse"
                }
              }
            }
          }
        }
      }
    },
    "/oxpecker/api/v1/verification-projects/code-scan": {
      "post": {
        "tags": [
          "verification-project-controller"
        ],
        "operationId": "codeScan",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateVerificationProjectCodeScanTaskRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/CreateVerificationProjectCodeScanTaskResponse"
                }
              }
            }
          }
        }
      }
    },
    "/oxpecker/api/v1/verification-projects/add-sast-vulns": {
      "post": {
        "tags": [
          "verification-project-controller"
        ],
        "operationId": "addSastInput",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddSastInputRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/oxpecker/api/v1/verification-projects/{projectId}": {
      "get": {
        "tags": [
          "verification-project-controller"
        ],
        "operationId": "getProject",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "maxLength": 32,
              "minLength": 1,
              "type": "string"
            }
          }
        ],
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/VerificationProjectResponse"
                }
              }
            }
          }
        }
      }
    },
    "/oxpecker/api/v1/verification-projects/{projectId}/vuln-infos/{vulId}": {
      "get": {
        "tags": [
          "verification-project-controller"
        ],
        "operationId": "getProjectVulnInfo",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "maxLength": 32,
              "minLength": 1,
              "type": "string"
            }
          },
          {
            "name": "vulId",
            "in": "path",
            "required": true,
            "schema": {
              "maxLength": 64,
              "minLength": 1,
              "type": "string"
            }
          }
        ],
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/VerificationProjectVulnInfoResponse"
                }
              }
            }
          }
        }
      }
    },
    "/oxpecker/api/v1/verification-projects/{projectId}/verify-tasks/{verifyTaskId}": {
      "get": {
        "tags": [
          "verification-project-controller"
        ],
        "operationId": "getVerifyTask",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "maxLength": 32,
              "minLength": 1,
              "type": "string"
            }
          },
          {
            "name": "verifyTaskId",
            "in": "path",
            "required": true,
            "schema": {
              "maxLength": 32,
              "minLength": 1,
              "type": "string"
            }
          }
        ],
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/VerificationTaskResponse"
                }
              }
            }
          }
        }
      }
    },
    "/oxpecker/api/v1/verification-projects/{projectId}/code-scan-tasks/{scanTaskId}": {
      "get": {
        "tags": [
          "verification-project-controller"
        ],
        "operationId": "getCodeScanTask",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "maxLength": 32,
              "minLength": 1,
              "type": "string"
            }
          },
          {
            "name": "scanTaskId",
            "in": "path",
            "required": true,
            "schema": {
              "maxLength": 32,
              "minLength": 1,
              "type": "string"
            }
          }
        ],
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/VerificationCodeScanTaskResponse"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "ErrorResponse": {
        "type": "object",
        "properties": {
          "errCode": {
            "type": "integer",
            "format": "int32"
          },
          "errMsg": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      },
      "CreateTaskV2Request": {
        "required": [
          "lang"
        ],
        "type": "object",
        "properties": {
          "lang": {
            "type": "string",
            "description": "Programming language of the project (e.g., JAVA, PYTHON)."
          },
          "projectName": {
            "type": "string",
            "description": "Name of the project."
          },
          "projectDesc": {
            "type": "string",
            "description": "Description of the project."
          },
          "javaPackage": {
            "type": "string",
            "description": "Java package name (if applicable)."
          },
          "primarySourceCode": {
            "type": "string",
            "description": "Main source code content or identifier."
          },
          "sourceCodeInfos": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SourceCodeInfo"
            },
            "description": "List of source code files."
          },
          "sandboxHomePageUrl": {
            "type": "string",
            "description": "URL of the sandbox environment's home page."
          },
          "sandboxTargetServiceUrl": {
            "type": "string",
            "description": "URL of the target service in the sandbox."
          },
          "sandboxAuthInfos": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SandboxAuthInfo"
            },
            "description": "Authentication information for the sandbox."
          },
          "browserBoxId": {
            "type": "string",
            "description": "ID of the browser box configuration."
          },
          "requestDeepAssessment": {
            "type": "boolean",
            "description": "Whether to request deep assessment."
          }
        },
        "description": "Parameters for creating a new V2 task."
      },
      "SandboxAuthInfo": {
        "type": "object",
        "properties": {
          "roleName": {
            "type": "string",
            "description": "Name of the role for authentication."
          },
          "loginUrl": {
            "type": "string",
            "description": "URL to perform login."
          },
          "sandboxAuthHeaders": {
            "type": "string",
            "description": "Headers to be used for authentication."
          },
          "originRequestData": {
            "type": "object",
            "additionalProperties": {
              "type": "object"
            },
            "description": "Original request data."
          }
        },
        "description": "Authentication details for accessing the sandbox."
      },
      "SourceCodeInfo": {
        "type": "object",
        "properties": {
          "sourceCode": {
            "type": "string",
            "description": "The actual source code content."
          },
          "fileName": {
            "type": "string",
            "description": "Name of the file."
          },
          "language": {
            "type": "string",
            "description": "Language of the source code."
          },
          "type": {
            "type": "string",
            "description": "Type of the source code file."
          }
        },
        "description": "Details about a source code file."
      },
      "SubserverInfo": {
        "type": "object",
        "properties": {
          "fileHash": {
            "type": "string",
            "description": "File hash."
          },
          "lang": {
            "type": "string",
            "description": "Language."
          },
          "url": {
            "type": "string",
            "description": "URL."
          },
          "additionalSrcHash": {
            "type": "string",
            "description": "Additional source hash."
          }
        },
        "description": "Subserver information."
      },
      "CreateTaskResponse": {
        "type": "object",
        "properties": {
          "taskId": {
            "type": "string",
            "description": "Unique identifier of the created task."
          }
        },
        "description": "Response after creating a task."
      },
      "StreamingResponseBody": {
        "type": "object"
      },
      "GetTaskVerifyPassResultStatResponse": {
        "type": "object",
        "properties": {
          "taskId": {
            "type": "string",
            "description": "Task ID."
          },
          "projectName": {
            "type": "string",
            "description": "Project name."
          },
          "total": {
            "type": "integer",
            "format": "int32",
            "description": "Total number of vulnerabilities."
          },
          "purchased": {
            "type": "integer",
            "format": "int32",
            "description": "Number of purchased vulnerabilities."
          },
          "lowCount": {
            "type": "integer",
            "format": "int32",
            "description": "Count of low severity vulnerabilities."
          },
          "mediumCount": {
            "type": "integer",
            "format": "int32",
            "description": "Count of medium severity vulnerabilities."
          },
          "highCount": {
            "type": "integer",
            "format": "int32",
            "description": "Count of high severity vulnerabilities."
          },
          "criticalCount": {
            "type": "integer",
            "format": "int32",
            "description": "Count of critical severity vulnerabilities."
          }
        },
        "description": "Statistics of task verification results."
      },
      "Filter": {
        "type": "object",
        "properties": {
          "field": {
            "type": "string",
            "description": "Field to filter."
          },
          "op": {
            "type": "string",
            "enum": [
              "eq",
              "ne",
              "gt",
              "ge",
              "lt",
              "le",
              "like",
              "in",
              "between",
              "unsupported"
            ],
            "description": "Operator."
          },
          "value": {
            "type": "object",
            "description": "Value."
          }
        },
        "description": "Filter criteria."
      },
      "ListTaskVulVerifyResultsRequest": {
        "required": [
          "page",
          "size"
        ],
        "type": "object",
        "properties": {
          "page": {
            "minimum": 0,
            "type": "integer",
            "format": "int32",
            "description": "Page number."
          },
          "size": {
            "minimum": 1,
            "type": "integer",
            "format": "int32",
            "description": "Page size."
          },
          "filters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Filter"
            },
            "description": "List of filters."
          },
          "sorts": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of sort criteria."
          }
        },
        "description": "Request to list task vulnerability verification results."
      },
      "CreateBrowserRequest": {
        "type": "object",
        "properties": {
          "targetServerUrl": {
            "type": "string"
          },
          "clientId": {
            "type": "string"
          }
        }
      },
      "CreateBrowserResponse": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string"
          }
        }
      },
      "ListTaskVulVerifyResultsResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TaskVulVerifyResultInfo"
            }
          },
          "total": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "TaskVulVerifyResultInfo": {
        "type": "object",
        "properties": {
          "ovId": {
            "type": "integer",
            "format": "int32",
            "description": "Original Vulnerability ID."
          },
          "vulId": {
            "type": "string",
            "description": "Vulnerability ID."
          },
          "category": {
            "type": "string",
            "description": "Vulnerability category."
          },
          "description": {
            "type": "string",
            "description": "Description of the vulnerability."
          },
          "cweId": {
            "type": "string",
            "description": "CWE ID."
          },
          "taskId": {
            "type": "string",
            "description": "Task ID."
          },
          "purchaseStatus": {
            "type": "string",
            "description": "Status of purchase."
          },
          "orderId": {
            "type": "string",
            "description": "Order ID."
          },
          "price": {
            "type": "integer",
            "format": "int64",
            "description": "Price of the vulnerability report."
          },
          "currency": {
            "type": "string",
            "description": "Currency for the price."
          },
          "staticVerifyOnly": {
            "type": "boolean",
            "description": "Indicates if only static verification was performed."
          },
          "deepAssessment": {
            "type": "boolean",
            "description": "Indicates if deep assessment was performed."
          },
          "categoryZh": {
            "type": "string",
            "description": "Category in Chinese."
          },
          "descriptionZh": {
            "type": "string",
            "description": "Description in Chinese."
          },
          "severity": {
            "type": "string",
            "description": "Severity level."
          }
        },
        "description": "Information about a vulnerability verification result."
      },
      "ListTaskExploitChainRequest": {
        "required": [
          "page",
          "size"
        ],
        "type": "object",
        "properties": {
          "page": {
            "minimum": 0,
            "type": "integer",
            "format": "int32",
            "description": "Page number."
          },
          "size": {
            "minimum": 1,
            "type": "integer",
            "format": "int32",
            "description": "Page size."
          },
          "filters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Filter"
            },
            "description": "Filters."
          },
          "sorts": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Sort criteria."
          }
        },
        "description": "Request to list exploit chains."
      },
      "ExploitChainInfo": {
        "type": "object",
        "properties": {
          "vulId": {
            "type": "string",
            "description": "Vulnerability ID."
          },
          "name": {
            "type": "string",
            "description": "Name of the exploit chain."
          },
          "description": {
            "type": "string",
            "description": "Description of the exploit chain."
          },
          "severity": {
            "type": "string",
            "description": "Severity of the exploit chain."
          },
          "impact": {
            "type": "string",
            "description": "Impact of the exploit chain."
          },
          "vulnerabilityIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of vulnerability IDs involved."
          },
          "chainSteps": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {
                "type": "object"
              }
            },
            "description": "Steps in the exploit chain."
          },
          "purchaseStatus": {
            "type": "string",
            "description": "Purchase status."
          }
        },
        "description": "Details of an exploit chain."
      },
      "ListTaskExploitChainsResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExploitChainInfo"
            },
            "description": "List of exploit chains."
          },
          "total": {
            "type": "integer",
            "format": "int32",
            "description": "Total count."
          }
        },
        "description": "Response list of exploit chains."
      },
      "TerminateTaskRequest": {
        "type": "object",
        "properties": {
          "taskId": {
            "type": "string",
            "description": "ID of the task to terminate."
          }
        },
        "description": "Request to terminate a task."
      },
      "ListTasksRequest": {
        "required": [
          "page",
          "size"
        ],
        "type": "object",
        "properties": {
          "page": {
            "minimum": 0,
            "type": "integer",
            "format": "int32",
            "description": "Page number."
          },
          "size": {
            "minimum": 1,
            "type": "integer",
            "format": "int32",
            "description": "Page size."
          },
          "filters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Filter"
            },
            "description": "Filters."
          },
          "sorts": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Sort criteria."
          }
        },
        "description": "Request to list tasks."
      },
      "ListTasksResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TaskInfo"
            }
          },
          "total": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "TaskInfo": {
        "type": "object",
        "properties": {
          "taskId": {
            "type": "string",
            "description": "Task ID."
          },
          "lang": {
            "type": "string",
            "description": "Project language."
          },
          "projectName": {
            "type": "string",
            "description": "Project name."
          },
          "sourceCodeFileName": {
            "type": "string",
            "description": "Name of the source code file."
          },
          "errCode": {
            "type": "integer",
            "format": "int32",
            "description": "Error code if failed."
          },
          "errDetail": {
            "type": "string",
            "description": "Error details if failed."
          },
          "createdAt": {
            "type": "string",
            "description": "Creation timestamp."
          },
          "updatedAt": {
            "type": "string",
            "description": "Last update timestamp."
          },
          "taskStatus": {
            "type": "string",
            "description": "Current status of the task."
          },
          "failReason": {
            "type": "string",
            "description": "Reason for failure."
          },
          "resultsStat": {
            "type": "object",
            "additionalProperties": {
              "type": "object"
            },
            "description": "Result statistics."
          },
          "enableStaticVerification": {
            "type": "boolean",
            "description": "Whether static verification is enabled."
          },
          "deepAssessmentStatus": {
            "type": "string",
            "description": "Status of deep assessment."
          },
          "isGroupRoot": {
            "type": "boolean",
            "description": "Is this a group root task."
          },
          "isSubTask": {
            "type": "boolean",
            "description": "Is this a sub-task."
          }
        },
        "description": "General information about a task."
      },
      "DeleteTasksRequest": {
        "required": [
          "taskIds"
        ],
        "type": "object",
        "properties": {
          "taskIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of task IDs."
          }
        },
        "description": "Request to delete tasks."
      },
      "CreateVulShareRequest": {
        "type": "object",
        "properties": {
          "shareId": {
            "type": "string",
            "description": "Custom share ID (optional)."
          },
          "taskId": {
            "type": "string",
            "description": "Task ID."
          },
          "vulIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of vulnerability IDs to share."
          },
          "validityDays": {
            "type": "integer",
            "format": "int32",
            "description": "Number of days the share is valid."
          },
          "generateExtractCode": {
            "type": "boolean",
            "description": "Whether to generate an extraction code."
          },
          "extractCode": {
            "type": "string",
            "description": "Custom extraction code."
          },
          "exploitChainsIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of exploit chain IDs to share."
          }
        },
        "description": "Request to create a vulnerability share."
      },
      "CreateVulShareResponse": {
        "type": "object",
        "properties": {
          "shareId": {
            "type": "string",
            "description": "The generated share ID."
          },
          "extractCode": {
            "type": "string",
            "description": "The extraction code."
          }
        },
        "description": "Response for creating a share."
      },
      "ListVulSharesRequest": {
        "required": [
          "page",
          "size"
        ],
        "type": "object",
        "properties": {
          "page": {
            "minimum": 0,
            "type": "integer",
            "format": "int32"
          },
          "size": {
            "minimum": 1,
            "type": "integer",
            "format": "int32"
          },
          "filters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Filter"
            }
          },
          "sorts": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "ListVulSharesResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VulShareInfo"
            },
            "description": "List of share info."
          },
          "total": {
            "type": "integer",
            "format": "int32",
            "description": "Total count."
          }
        },
        "description": "Response list of vul shares."
      },
      "VulInfo": {
        "type": "object",
        "properties": {
          "vulId": {
            "type": "string",
            "description": "Vulnerability ID."
          },
          "severity": {
            "type": "string",
            "description": "Severity level."
          },
          "category": {
            "type": "string",
            "description": "Vulnerability category."
          },
          "purchaseStatus": {
            "type": "string",
            "description": "Purchase status."
          },
          "toolName": {
            "type": "string",
            "description": "Tool that detected the vulnerability."
          }
        },
        "description": "Information about a vulnerability."
      },
      "VulShareInfo": {
        "type": "object",
        "properties": {
          "shareId": {
            "type": "string",
            "description": "Share ID."
          },
          "taskId": {
            "type": "string",
            "description": "Task ID."
          },
          "projectName": {
            "type": "string",
            "description": "Project name."
          },
          "vulInfos": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VulInfo"
            },
            "description": "Vulnerability infos."
          },
          "validityDays": {
            "type": "integer",
            "format": "int32",
            "description": "Validity days."
          },
          "extractCode": {
            "type": "string",
            "description": "Extract code."
          },
          "createdAt": {
            "type": "string",
            "description": "Created at."
          },
          "expiredAt": {
            "type": "string",
            "description": "Expired at."
          },
          "exploitChainInfos": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExploitChainInfo"
            },
            "description": "Exploit chain infos."
          }
        },
        "description": "Vulnerability share info."
      },
      "ExtractVulShareRequest": {
        "type": "object",
        "properties": {
          "extractCode": {
            "type": "string",
            "description": "Extraction code."
          }
        },
        "description": "Request to extract shared content."
      },
      "GetVulShareResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VulInfo"
            },
            "description": "List of vulnerabilities."
          },
          "exploitChains": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExploitChainInfo"
            },
            "description": "List of exploit chains."
          }
        },
        "description": "Response with shared vulnerability info."
      },
      "GetVulnAgentLogicExploitChainDetailResponse": {
        "type": "object",
        "properties": {
          "vulId": {
            "type": "string",
            "description": "Vulnerability ID."
          },
          "name": {
            "type": "string",
            "description": "Name."
          },
          "description": {
            "type": "string",
            "description": "Description."
          },
          "severity": {
            "type": "string",
            "description": "Severity."
          },
          "impact": {
            "type": "string",
            "description": "Impact."
          },
          "vulnerabilityIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Associated vulnerability IDs."
          },
          "chainSteps": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {
                "type": "object"
              }
            },
            "description": "Chain steps."
          },
          "pocCode": {
            "type": "object",
            "additionalProperties": {
              "type": "object"
            },
            "description": "POC code."
          },
          "purchaseStatus": {
            "type": "string",
            "description": "Purchase status."
          },
          "orderId": {
            "type": "string",
            "description": "Order ID."
          },
          "staticVerifyOnly": {
            "type": "boolean",
            "description": "Static verification only flag."
          }
        },
        "description": "Detailed exploit chain response."
      },
      "GenerateVulShareIdResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Generated ID."
          }
        },
        "description": "Response for generated share ID."
      },
      "DeleteVulSharesRequest": {
        "type": "object",
        "properties": {
          "shareIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of share IDs to delete."
          }
        },
        "description": "Request to delete shares."
      },
      "CreateNetworkDiagnosticsRequest": {
        "type": "object",
        "properties": {
          "testUrl": {
            "type": "string",
            "description": "URL to test."
          }
        },
        "description": "Request to create network diagnostics."
      },
      "CreateNetworkDiagnosticsResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Diagnostics ID."
          }
        },
        "description": "Response for created network diagnostics."
      },
      "UploadedFile": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32",
            "description": "File ID."
          },
          "originFileName": {
            "type": "string",
            "description": "Original file name."
          },
          "sha256": {
            "type": "string",
            "description": "SHA256 hash of the file."
          },
          "fileType": {
            "type": "string",
            "description": "Type of the file."
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "description": "Creation time."
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "description": "Update time."
          },
          "isDeleted": {
            "type": "integer",
            "format": "int32",
            "description": "Deletion flag."
          },
          "deletedFor": {
            "type": "string",
            "description": "Reason for deletion."
          },
          "fileSize": {
            "type": "integer",
            "format": "int64",
            "description": "Size of the file."
          },
          "createdBy": {
            "type": "string",
            "description": "User who uploaded the file."
          }
        },
        "description": "Details of an uploaded file."
      },
      "VerifyDomainRequest": {
        "type": "object",
        "properties": {
          "fetchUrl": {
            "type": "string",
            "description": "URL to fetch for verification."
          },
          "verifyContent": {
            "type": "string",
            "description": "Expected content to verify."
          }
        },
        "description": "Request to verify domain ownership."
      },
      "UpdateVulShareRequest": {
        "type": "object",
        "properties": {
          "validityDays": {
            "type": "integer",
            "format": "int32",
            "description": "New validity period in days."
          }
        },
        "description": "Request to update share details."
      },
      "GetTaskResponse": {
        "type": "object",
        "properties": {
          "taskId": {
            "type": "string",
            "description": "Task ID."
          },
          "lang": {
            "type": "string",
            "enum": [
              "JAVA",
              "GOLANG",
              "JAVASCRIPT",
              "PYTHON",
              "CSHARP",
              "UNSUPPORTED"
            ],
            "description": "Language."
          },
          "projectName": {
            "type": "string",
            "description": "Project Name."
          },
          "sourceCode": {
            "type": "string",
            "description": "Source Code."
          },
          "sourceCodeFileName": {
            "type": "string",
            "description": "File Name."
          },
          "taskStatus": {
            "type": "string",
            "description": "Status."
          },
          "failReason": {
            "type": "string",
            "description": "Failure Reason."
          },
          "errorCode": {
            "type": "integer",
            "format": "int32",
            "description": "Error Code."
          },
          "errorDetail": {
            "type": "string",
            "description": "Error Detail."
          },
          "params": {
            "type": "object",
            "additionalProperties": {
              "type": "object"
            },
            "description": "Parameters used."
          },
          "options": {
            "type": "object",
            "additionalProperties": {
              "type": "object"
            },
            "description": "Options."
          },
          "originalRequestData": {
            "type": "object",
            "description": "Original request data."
          },
          "createdAt": {
            "type": "string",
            "description": "Created At."
          },
          "updatedAt": {
            "type": "string",
            "description": "Updated At."
          },
          "taskResult": {
            "type": "string",
            "description": "Task Result."
          },
          "executedAt": {
            "type": "string",
            "description": "Executed At."
          },
          "createdBy": {
            "type": "string",
            "description": "Created By."
          },
          "resultsStat": {
            "type": "object",
            "additionalProperties": {
              "type": "object"
            },
            "description": "Results Statistics."
          },
          "taskStat": {
            "type": "object",
            "additionalProperties": {
              "type": "object"
            },
            "description": "Task Statistics."
          },
          "tokenUsed": {
            "type": "integer",
            "format": "int64",
            "description": "Tokens Used."
          },
          "creditsUsed": {
            "type": "integer",
            "format": "int64",
            "description": "Credits Used."
          },
          "enableStaticVerification": {
            "type": "boolean",
            "description": "Enable Static Verification."
          },
          "deepAssessmentStatus": {
            "type": "string",
            "description": "Deep Assessment Status."
          },
          "deepAssessmentTokenUsed": {
            "type": "integer",
            "format": "int64",
            "description": "Deep Assessment Token Used."
          },
          "deepAssessmentCreditsUsed": {
            "type": "integer",
            "format": "int64",
            "description": "Deep Assessment Credits Used."
          },
          "scaDepsHash": {
            "type": "string",
            "description": "SCA Dependencies Hash."
          }
        },
        "description": "Detailed response for a task."
      },
      "GetTaskExploitChainResponse": {
        "type": "object",
        "properties": {
          "vulId": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "severity": {
            "type": "string"
          },
          "impact": {
            "type": "string"
          },
          "vulnerabilityIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "chainSteps": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {
                "type": "object"
              }
            }
          },
          "pocCode": {
            "type": "object",
            "additionalProperties": {
              "type": "object"
            }
          },
          "purchaseStatus": {
            "type": "string"
          },
          "orderId": {
            "type": "string"
          },
          "staticVerifyOnly": {
            "type": "boolean"
          }
        }
      },
      "GetExecutorIpResponse": {
        "type": "object",
        "properties": {
          "ipv4": {
            "type": "string",
            "description": "IPv4 address."
          },
          "ipv6": {
            "type": "string",
            "description": "IPv6 address."
          }
        },
        "description": "Response containing executor IP."
      },
      "GetScaBaseInfoResponse": {
        "type": "object",
        "properties": {
          "depsHash": {
            "type": "string",
            "description": "Dependencies Hash."
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "description": "Total vulnerabilities."
          },
          "vulns": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ScaResultBaseInfo"
            },
            "description": "List of SCA vulnerabilities."
          }
        },
        "description": "Response containing SCA base info."
      },
      "ScaResultBaseInfo": {
        "type": "object",
        "properties": {
          "vulnId": {
            "type": "string",
            "description": "Vulnerability ID."
          },
          "packageName": {
            "type": "string",
            "description": "Package Name."
          },
          "packageManager": {
            "type": "string",
            "description": "Package Manager."
          },
          "toolName": {
            "type": "string",
            "description": "Tool Name."
          },
          "severity": {
            "type": "string",
            "description": "Severity."
          },
          "category": {
            "type": "string",
            "description": "Category."
          },
          "categoryZh": {
            "type": "string",
            "description": "Category (Chinese)."
          },
          "message": {
            "type": "string",
            "description": "Message."
          },
          "messageZh": {
            "type": "string",
            "description": "Message (Chinese)."
          },
          "description": {
            "type": "string",
            "description": "Description."
          },
          "descriptionZh": {
            "type": "string",
            "description": "Description (Chinese)."
          },
          "cweId": {
            "type": "string",
            "description": "CWE ID."
          },
          "depFrom": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Dependency path."
          }
        },
        "description": "Base info for SCA result."
      },
      "GetScaVulnDetailResponse": {
        "type": "object",
        "properties": {
          "vulnId": {
            "type": "string",
            "description": "Vulnerability ID."
          },
          "packageName": {
            "type": "string",
            "description": "Package name."
          },
          "packageManager": {
            "type": "string",
            "description": "Package manager."
          },
          "toolName": {
            "type": "string",
            "description": "Tool name."
          },
          "severity": {
            "type": "string",
            "description": "Severity."
          },
          "category": {
            "type": "string",
            "description": "Category."
          },
          "categoryZh": {
            "type": "string",
            "description": "Category (Chinese)."
          },
          "message": {
            "type": "string",
            "description": "Message."
          },
          "messageZh": {
            "type": "string",
            "description": "Message (Chinese)."
          },
          "description": {
            "type": "string",
            "description": "Description."
          },
          "descriptionZh": {
            "type": "string",
            "description": "Description (Chinese)."
          },
          "cweId": {
            "type": "string",
            "description": "CWE ID."
          },
          "cwes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of CWEs."
          },
          "cves": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of CVEs."
          },
          "additionalData": {
            "type": "object",
            "additionalProperties": {
              "type": "object"
            },
            "description": "Additional data."
          },
          "depFrom": {
            "type": "object",
            "description": "Dependency origin."
          }
        },
        "description": "Detailed SCA vulnerability response."
      },
      "GetNetworkDiagnosticsResponse": {
        "type": "object",
        "properties": {
          "diagId": {
            "type": "string",
            "description": "Diagnostics ID."
          },
          "testUrl": {
            "type": "string",
            "description": "URL being tested."
          },
          "status": {
            "type": "string",
            "description": "Current status."
          },
          "stageCount": {
            "type": "integer",
            "format": "int32",
            "description": "Total stages."
          },
          "nextStage": {
            "type": "integer",
            "format": "int32",
            "description": "Next stage index."
          },
          "stages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StageInfo"
            },
            "description": "List of stages."
          }
        },
        "description": "Response for network diagnostics."
      },
      "StageInfo": {
        "type": "object",
        "properties": {
          "stageName": {
            "type": "string",
            "description": "Name of the stage."
          },
          "description": {
            "type": "string",
            "description": "Description of the stage."
          },
          "status": {
            "type": "string",
            "description": "Status of the stage."
          },
          "resultInfo": {
            "type": "string",
            "description": "Result information."
          }
        },
        "description": "Information about a diagnostic stage."
      },
      "GetRandomContentResponse": {
        "type": "object",
        "properties": {
          "content": {
            "type": "string",
            "description": "Random content string."
          },
          "expiredAt": {
            "type": "string",
            "description": "Expiration timestamp."
          }
        },
        "description": "Response containing random content."
      },
      "GetClerkPublishableKeyResponse": {
        "type": "object",
        "properties": {
          "publishableKey": {
            "type": "string",
            "description": "The publishable key."
          }
        },
        "description": "Response containing Clerk key."
      },
      "AddSastInputRequest": {
        "required": [
          "inputs",
          "projectId"
        ],
        "type": "object",
        "properties": {
          "projectId": {
            "maxLength": 32,
            "minLength": 1,
            "type": "string"
          },
          "inputs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SastInput"
            }
          }
        }
      },
      "CreateVerificationProjectCodeScanTaskRequest": {
        "required": [
          "projectId"
        ],
        "type": "object",
        "properties": {
          "projectId": {
            "maxLength": 32,
            "minLength": 1,
            "type": "string"
          }
        }
      },
      "CreateVerificationProjectCodeScanTaskResponse": {
        "type": "object",
        "properties": {
          "scanTaskId": {
            "type": "string"
          },
          "created": {
            "type": "boolean"
          }
        }
      },
      "CreateVerificationProjectPocVerifyRequest": {
        "type": "object",
        "properties": {
          "url": {
            "maxLength": 1024,
            "minLength": 0,
            "type": "string"
          },
          "headers": {
            "type": "string"
          },
          "vulIds": {
            "type": "array",
            "items": {
              "maxLength": 64,
              "minLength": 1,
              "type": "string"
            }
          }
        }
      },
      "CreateVerificationProjectPocVerifyResponse": {
        "type": "object",
        "properties": {
          "verifyTaskId": {
            "type": "string"
          }
        }
      },
      "CreateVerificationProjectRequest": {
        "required": [
          "sourceCode"
        ],
        "type": "object",
        "properties": {
          "projectName": {
            "type": "string"
          },
          "projectDesc": {
            "type": "string"
          },
          "sourceCode": {
            "maxLength": 64,
            "minLength": 64,
            "type": "string"
          },
          "lang": {
            "type": "string"
          },
          "forceNew": {
            "type": "boolean"
          }
        }
      },
      "CreateVerificationProjectResponse": {
        "type": "object",
        "properties": {
          "projectId": {
            "type": "string"
          },
          "projectName": {
            "type": "string"
          },
          "new": {
            "type": "boolean"
          }
        }
      },
      "SastInput": {
        "required": [
          "file"
        ],
        "type": "object",
        "properties": {
          "file": {
            "maxLength": 64,
            "minLength": 64,
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        }
      },
      "VerificationCodeScanTaskResponse": {
        "type": "object",
        "properties": {
          "scanTaskId": {
            "type": "string"
          },
          "projectId": {
            "type": "string"
          },
          "sourceCode": {
            "type": "string"
          },
          "lang": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "results": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {
                "type": "object"
              }
            }
          },
          "errorMessage": {
            "type": "string"
          },
          "startedAt": {
            "type": "string",
            "format": "date-time"
          },
          "finishedAt": {
            "type": "string",
            "format": "date-time"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "VerificationProjectResponse": {
        "type": "object",
        "properties": {
          "projectId": {
            "type": "string"
          },
          "projectName": {
            "type": "string"
          },
          "projectDesc": {
            "type": "string"
          },
          "sourceCode": {
            "type": "string"
          },
          "sourceCodeFileName": {
            "type": "string"
          },
          "version": {
            "type": "string"
          },
          "lang": {
            "type": "string",
            "enum": [
              "JAVA",
              "GO",
              "JAVASCRIPT",
              "PYTHON",
              "CSHARP",
              "AUTO",
              "UNSUPPORTED"
            ]
          },
          "sastInput": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {
                "type": "object"
              }
            }
          },
          "params": {
            "type": "object",
            "additionalProperties": {
              "type": "object"
            }
          },
          "options": {
            "type": "object",
            "additionalProperties": {
              "type": "object"
            }
          },
          "sourceCodeStat": {
            "type": "object",
            "additionalProperties": {
              "type": "object"
            }
          },
          "vulnCount": {
            "type": "integer",
            "format": "int32"
          },
          "sastInputStatus": {
            "type": "string"
          },
          "sastInputParseOwner": {
            "type": "string"
          },
          "sastInputParseLastError": {
            "type": "string"
          },
          "heartBeatAt": {
            "type": "string",
            "format": "date-time"
          },
          "currentCodeScanTaskId": {
            "type": "string"
          },
          "codeScanStatus": {
            "type": "string"
          },
          "statusSummary": {
            "$ref": "#/components/schemas/VerificationProjectStatusSummary"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "sastInputDirty": {
            "type": "boolean"
          },
          "deleted": {
            "type": "boolean"
          }
        }
      },
      "VerificationProjectStatusSummary": {
        "type": "object",
        "properties": {
          "sastInputStatus": {
            "type": "string"
          },
          "hasActiveCodeScanTask": {
            "type": "boolean"
          },
          "currentCodeScanTaskId": {
            "type": "string"
          },
          "codeScanStatus": {
            "type": "string"
          },
          "hasActiveVerifyTask": {
            "type": "boolean"
          },
          "activeVerifyTaskCount": {
            "type": "integer",
            "format": "int32"
          },
          "hasActiveTask": {
            "type": "boolean"
          },
          "activeTaskTypes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "sastInputDirty": {
            "type": "boolean"
          }
        }
      },
      "VerificationProjectVulnInfoResponse": {
        "type": "object",
        "properties": {
          "projectId": {
            "type": "string"
          },
          "vulId": {
            "type": "string"
          },
          "apiPath": {
            "type": "string"
          },
          "apiMethod": {
            "type": "string"
          },
          "location": {
            "type": "string"
          },
          "source": {
            "type": "object",
            "additionalProperties": {
              "type": "object"
            }
          },
          "sink": {
            "type": "object",
            "additionalProperties": {
              "type": "object"
            }
          },
          "codeFlow": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {
                "type": "object"
              }
            }
          },
          "codeSnippet": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "target": {
            "type": "object",
            "additionalProperties": {
              "type": "object"
            }
          },
          "rawVulnInfo": {
            "type": "object",
            "additionalProperties": {
              "type": "object"
            }
          },
          "categoryId": {
            "type": "string"
          },
          "category": {
            "type": "string"
          },
          "categoryZh": {
            "type": "string"
          },
          "cweIds": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "descriptionZh": {
            "type": "string"
          },
          "securitySeverity": {
            "type": "string"
          },
          "severity": {
            "type": "string"
          },
          "verifyResult": {
            "type": "string"
          },
          "lastVerifyPassTaskId": {
            "type": "string"
          },
          "latestVerifyTaskId": {
            "type": "string"
          },
          "latestVerifyTaskStatus": {
            "type": "string"
          },
          "pocScript": {
            "type": "string"
          },
          "pocScriptOutput": {
            "type": "string"
          },
          "images": {
            "type": "string"
          },
          "fixSuggestion": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "VerificationTaskResponse": {
        "type": "object",
        "properties": {
          "verifyTaskId": {
            "type": "string"
          },
          "projectId": {
            "type": "string"
          },
          "targetUrl": {
            "type": "string"
          },
          "targetHeaders": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "totalCount": {
            "type": "integer",
            "format": "int32"
          },
          "successCount": {
            "type": "integer",
            "format": "int32"
          },
          "verifyOwner": {
            "type": "string"
          },
          "errorMessage": {
            "type": "string"
          },
          "heartBeatAt": {
            "type": "string",
            "format": "date-time"
          },
          "startedAt": {
            "type": "string",
            "format": "date-time"
          },
          "finishedAt": {
            "type": "string",
            "format": "date-time"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        }
      }
    }
  }
}
