{
  "openapi": "3.1.0",
  "info": {
    "title": "Flashduty 开放 API",
    "description": "Flashduty 事件管理平台的公开 HTTP API —— 覆盖故障、通知模板、协作空间、值班排班、监控、RUM、以及平台管理。每次调用都需在 query 中携带 `app_key`，该 key 在 Flashduty 控制台 账户 → APP Key 中签发。所有响应使用统一结构：成功时为 `{ request_id, data }`，失败时为 `{ request_id, error }`。",
    "version": "1.0.0"
  },
  "servers": [
    {
      "url": "https://api.flashcat.cloud",
      "description": "Flashduty Open API"
    }
  ],
  "security": [
    {
      "AppKeyAuth": []
    }
  ],
  "tags": [
    {
      "name": "RUM/应用管理",
      "description": "管理前端性能监控（RUM）应用。"
    },
    {
      "name": "RUM/RUM 数据查询",
      "description": "对 RUM 事件数据执行分析查询。"
    },
    {
      "name": "RUM/RUM 问题跟踪",
      "description": "查询和管理 RUM 异常追踪 Issue 及预设严重性规则。"
    },
    {
      "name": "RUM/RUM 自定义字段",
      "description": "查询 RUM 自定义字段及其值分布，用于构建分析过滤条件。"
    },
    {
      "name": "RUM/RUM Sourcemap",
      "description": "管理和查询用于 Browser、Android、iOS 错误符号化的 RUM Sourcemap 文件。"
    }
  ],
  "paths": {
    "/rum/facet/count": {
      "post": {
        "operationId": "rum-read-facet-count",
        "summary": "查询分值分布",
        "description": "按出现次数降序返回指定时间范围内某个分面字段的 Top N 值及其计数。",
        "tags": [
          "RUM/RUM 自定义字段"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | 无 —— 持有有效的 `app_key` 即可调用 |\n\n## 使用说明\n\n- 使用 `POST /rum/facet/list` 发现每个 scope 下可用的 `facet_key` 值。\n- `scope` 必须是以下之一：`session`、`view`、`action`、`error`、`resource`、`long_task`、`vital`、`issue`、`sourcemap`。\n- 传入 `dql` 可在统计前进一步过滤事件，DQL 语法遵循 RUM 查询语言。\n- 传入 `sql` 可使用仅含 WHERE 子句（无 SELECT）的 SQL 风格过滤。\n- 默认 limit 为 100，最大 100。\n- 时间范围必填（`start_time` / `end_time` 为 Unix 毫秒时间戳），最大跨度 31 天。",
          "href": "/zh/api-reference/rum/facets/rum-read-facet-count",
          "metadata": {
            "sidebarTitle": "查询分值分布"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/RumFacetCountResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "items": [
                      {
                        "facet_value": "TypeError",
                        "count": 1523
                      },
                      {
                        "facet_value": "ReferenceError",
                        "count": 342
                      },
                      {
                        "facet_value": "SyntaxError",
                        "count": 89
                      }
                    ]
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RumFacetCountRequest"
              },
              "example": {
                "scope": "error",
                "facet_key": "error.type",
                "start_time": 1712620800000,
                "end_time": 1712707200000,
                "limit": 10
              }
            }
          }
        }
      }
    },
    "/rum/application/webhook/test": {
      "post": {
        "operationId": "rum-application-webhook-test",
        "summary": "测试应用 Webhook",
        "description": "发送一条 RUM 告警样例事件，用于验证应用的 Webhook URL。",
        "tags": [
          "RUM/应用管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **应用管理**（`rum`） |\n\n## 使用说明\n\n- 接口会先校验 URL，再发送样例事件。\n- 投递失败时仍返回 HTTP 200，但 `ok=false`，错误原因在 `message` 中。",
          "href": "/zh/api-reference/rum/applications/rum-application-webhook-test",
          "metadata": {
            "sidebarTitle": "测试应用 Webhook"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/RumWebhookTestResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "ok": true,
                    "status_code": 200,
                    "message": "ok"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RumWebhookTestRequest"
              },
              "example": {
                "application_id": "rum-app-prod",
                "webhook_url": "https://hooks.example.com/rum-alerts"
              }
            }
          }
        }
      }
    },
    "/rum/issue/info": {
      "post": {
        "operationId": "rum-issue-read-info",
        "summary": "查看 Issue 详情",
        "description": "通过 `issue_id` 获取单个 Issue 的完整信息。",
        "tags": [
          "RUM/RUM 问题跟踪"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | 无 —— 持有有效的 `app_key` 即可调用 |",
          "href": "/zh/api-reference/rum/issues/rum-issue-read-info",
          "metadata": {
            "sidebarTitle": "查看 Issue 详情"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/RumIssueItem"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "team_id": 2477033058131,
                    "issue_id": "NHEacQHi2DhXqobr9qPQz9",
                    "application_id": "eWbr4xk3ZRnLabRa6unqwD",
                    "application_name": "Flashduty DEV",
                    "service": "fd-console",
                    "status": "for_review",
                    "error_count": 752,
                    "session_count": 381,
                    "is_crash": false,
                    "age": 5078684,
                    "resolved_at": 0,
                    "resolved_by": 0,
                    "created_at": 1770883154944,
                    "updated_at": 1775961914595,
                    "first_seen": {
                      "timestamp": 1770883154944,
                      "version": "1.0.0"
                    },
                    "last_seen": {
                      "timestamp": 1775961839090,
                      "version": "1.0.0"
                    },
                    "error": {
                      "message": "Script error.",
                      "type": "Error"
                    },
                    "suspected_cause": {
                      "source": "auto",
                      "value": "code.exception",
                      "reason": "错误信息 'Script error.' 通常表示 JavaScript 中的未处理异常。",
                      "person_id": 0
                    },
                    "versions": [
                      "1.0.0"
                    ],
                    "severity": "Info"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RumIssueIDRequest"
              },
              "example": {
                "issue_id": "NHEacQHi2DhXqobr9qPQz9"
              }
            }
          }
        }
      }
    },
    "/rum/application/list": {
      "post": {
        "operationId": "rum-application-read-list",
        "summary": "查询应用列表",
        "description": "返回当前用户可访问的 RUM 应用分页列表。",
        "tags": [
          "RUM/应用管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | 无 —— 持有有效的 `app_key` 即可调用 |\n\n## 使用说明\n\n- 使用 `is_my_team` 可过滤当前用户所在团队的应用。\n- 默认每页 20 条，最大 100 条。\n- `orderby` 支持 `created_at` 或 `updated_at`。",
          "href": "/zh/api-reference/rum/applications/rum-application-read-list",
          "metadata": {
            "sidebarTitle": "查询应用列表"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/RumApplicationListResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "has_next_page": true,
                    "total": 7,
                    "items": [
                      {
                        "account_id": 2451002751131,
                        "application_id": "WoyQQ3BohkdtPivubEvE8o",
                        "application_name": "flashcat-rum",
                        "type": "browser",
                        "client_token": "a3cea433a8685a398cdfd68f54a45e06131",
                        "team_id": 2477033058131,
                        "is_private": true,
                        "no_ip": true,
                        "no_geo": false,
                        "alerting": {
                          "enabled": true,
                          "channel_ids": [
                            2490121812131
                          ],
                          "integration_id": 4759595678131
                        },
                        "tracing": {
                          "enabled": false,
                          "open_type": "",
                          "endpoint": ""
                        },
                        "status": "enabled",
                        "created_by": 4441703362131,
                        "updated_by": 3790925372131,
                        "created_at": 1746673831462,
                        "updated_at": 1773398630657,
                        "links": {
                          "enabled": true,
                          "systems": [
                            {
                              "id": "s3-crash-logs",
                              "name": "S3 Crash Logs",
                              "icon_text": "S3",
                              "icon_color": "#0F766E",
                              "url": "https://s3.example.com/logs?app=${application_id}&trace=${trace_id}",
                              "event_types": [
                                "crash",
                                "error"
                              ],
                              "enabled": true
                            }
                          ]
                        }
                      },
                      {
                        "account_id": 2451002751131,
                        "application_id": "eWbr4xk3ZRnLabRa6unqwD",
                        "application_name": "Flashduty DEV",
                        "type": "browser",
                        "client_token": "ce8d1be90fc6534f89ce36ebf526765e131",
                        "team_id": 2477033058131,
                        "is_private": false,
                        "no_ip": false,
                        "no_geo": false,
                        "alerting": {
                          "enabled": true,
                          "channel_ids": [
                            5962711836131,
                            5967875767131
                          ],
                          "integration_id": 4759595678131
                        },
                        "tracing": {
                          "enabled": true,
                          "open_type": "popup",
                          "endpoint": "https://www.tracing.com/${trace_id}"
                        },
                        "status": "enabled",
                        "created_by": 2476444212131,
                        "updated_by": 3122470302131,
                        "created_at": 1742958482000,
                        "updated_at": 1772096392711,
                        "links": {
                          "enabled": false,
                          "systems": []
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RumApplicationListRequest"
              },
              "example": {
                "p": 1,
                "limit": 20,
                "query": "",
                "is_my_team": false
              }
            }
          }
        }
      }
    },
    "/rum/facet/list": {
      "post": {
        "operationId": "rum-read-facet-list",
        "summary": "查询分面列表",
        "description": "返回所有可用的 RUM 字段定义，可按 scope 和是否为分面字段过滤。",
        "tags": [
          "RUM/RUM 自定义字段"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | 无 —— 持有有效的 `app_key` 即可调用 |\n\n## 使用说明\n\n- 使用返回的 `field_key` 作为 `POST /rum/facet/count` 的 `facet_key` 参数。\n- 合法的 `scopes` 值为：`session`、`view`、`action`、`error`、`resource`、`long_task`、`vital`、`issue`、`sourcemap`。\n- 设置 `is_facet: true` 只返回支持分面查询的字段（即支持值分布统计的字段）。",
          "href": "/zh/api-reference/rum/facets/rum-read-facet-list",
          "metadata": {
            "sidebarTitle": "查询分面列表"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/RumFacetListResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "items": [
                      {
                        "account_id": 0,
                        "field_key": "error.type",
                        "field_name": "Error type",
                        "group": "Error",
                        "description": "错误类型。",
                        "value_type": "string",
                        "show_type": "list",
                        "unit_family": "",
                        "unit_name": "",
                        "edit_able": false,
                        "is_facet": true,
                        "enum_values": [],
                        "scopes": [
                          "error"
                        ],
                        "status": "active",
                        "queryable": true
                      }
                    ]
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RumFacetListRequest"
              },
              "example": {
                "scopes": [
                  "error"
                ],
                "is_facet": true
              }
            }
          }
        }
      }
    },
    "/sourcemap/stack/enrich": {
      "post": {
        "operationId": "sourcemap-read-stack-enrich",
        "summary": "丰富错误栈信息",
        "description": "对 Browser、Android、iOS、小程序或 HarmonyOS 错误栈进行符号化或反混淆。",
        "tags": [
          "RUM/RUM Sourcemap"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | 无 —— 持有有效的 `app_key` 即可调用 |\n\n## 使用说明\n\n- 为兼容旧调用，省略 `type` 时默认按 `browser` 处理。\n- 设置 1 到 20 之间的 `near` 可在转换后的栈帧附近返回源码片段。\n- Android NDK native 崩溃需传入 `arch` 和 `source_type: ndk`，后端会路由到 native 符号化逻辑。\n- iOS 崩溃栈需传入 `binary_images`，以便按上传的 dSYM 文件重定位地址。\n- `no_cache` 主要用于调试，会绕过已缓存的 enrich 结果。",
          "href": "/zh/api-reference/rum/sourcemaps/sourcemap-read-stack-enrich",
          "metadata": {
            "sidebarTitle": "丰富错误栈信息"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/SourcemapStackEnrichResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "frames": [
                      {
                        "function": "renderCheckout",
                        "file": "src/pages/checkout.tsx",
                        "line": 42,
                        "column": 17,
                        "converted": true,
                        "code_snippets": [
                          {
                            "line": 41,
                            "code": "const cart = props.cart;"
                          },
                          {
                            "line": 42,
                            "code": "return cart.items.map(renderItem);"
                          }
                        ],
                        "original_frame": {
                          "function": "render",
                          "file": "https://cdn.example.com/app.min.js",
                          "line": 1,
                          "column": 2345
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SourcemapStackEnrichRequest"
              },
              "example": {
                "type": "browser",
                "service": "my-web-app",
                "version": "1.0.0",
                "stack": "TypeError: Cannot read properties of undefined\n    at render (https://cdn.example.com/app.min.js:1:2345)",
                "near": 3
              }
            }
          }
        }
      }
    },
    "/rum/data/query": {
      "post": {
        "operationId": "rum-read-data-query",
        "summary": "查询 RUM 数据",
        "description": "在指定时间范围内执行一个或多个 SQL 风格的 RUM 数据查询。",
        "tags": [
          "RUM/RUM 数据查询"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | 无 —— 持有有效的 `app_key` 即可调用 |\n\n## 使用说明\n\n- 单次请求可提交 1 到 10 个查询；每个查询的 `id` 会成为响应对象中的 key。\n- `start_time` 和 `end_time` 必填，均为 Unix 毫秒时间戳；最大时间范围为 31 天。\n- 使用 `format: table` 返回表格结果，使用 `format: time_series` 返回按时间桶聚合的时序结果。\n- 当 `format: time_series` 时，省略 `interval` 会默认使用 3600 秒，省略 `max_points` 会默认使用 1226。\n- 分页表格查询会返回 `search_after_ctx`，继续扫描时可原样传回。",
          "href": "/zh/api-reference/rum/data-query/rum-read-data-query",
          "metadata": {
            "sidebarTitle": "查询 RUM 数据"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/RumDataQueryResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "errors_by_type": {
                      "data": {
                        "fields": [
                          {
                            "name": "error.type",
                            "type": "String",
                            "nullable": false
                          },
                          {
                            "name": "errors",
                            "type": "UInt64",
                            "nullable": false
                          }
                        ],
                        "values": [
                          [
                            "TypeError",
                            1523
                          ],
                          [
                            "ReferenceError",
                            342
                          ]
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RumDataQueryRequest"
              },
              "example": {
                "start_time": 1712620800000,
                "end_time": 1712707200000,
                "queries": [
                  {
                    "id": "errors_by_type",
                    "sql": "SELECT error.type, count(*) AS errors FROM error GROUP BY error.type ORDER BY errors DESC LIMIT 10",
                    "format": "table",
                    "time_zone": "Asia/Shanghai"
                  }
                ]
              }
            }
          }
        }
      }
    },
    "/rum/issue/list": {
      "post": {
        "operationId": "rum-issue-read-list",
        "summary": "查询 Issue 列表",
        "description": "返回符合过滤条件的 RUM 异常追踪 Issue 分页列表。",
        "tags": [
          "RUM/RUM 问题跟踪"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | 无 —— 持有有效的 `app_key` 即可调用 |\n\n## 使用说明\n\n- `start_time` 和 `end_time` 为毫秒时间戳，最大范围 183 天。\n- `statuses` 按状态过滤，可选值：`for_review`、`reviewed`、`ignored`、`resolved`。\n- `orderby` 支持：`created_at`、`updated_at`、`session_count`、`error_count`。\n- 使用 `dql` 或 `sql` 进行高级过滤，两者不可同时使用。",
          "href": "/zh/api-reference/rum/issues/rum-issue-read-list",
          "metadata": {
            "sidebarTitle": "查询 Issue 列表"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/RumIssueListResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "items": [
                      {
                        "team_id": 2477033058131,
                        "issue_id": "NHEacQHi2DhXqobr9qPQz9",
                        "application_id": "eWbr4xk3ZRnLabRa6unqwD",
                        "application_name": "Flashduty DEV",
                        "service": "fd-console",
                        "status": "for_review",
                        "error_count": 752,
                        "session_count": 381,
                        "is_crash": false,
                        "age": 5078684,
                        "resolved_at": 0,
                        "resolved_by": 0,
                        "created_at": 1770883154944,
                        "updated_at": 1775961914595,
                        "first_seen": {
                          "timestamp": 1770883154944,
                          "version": "1.0.0"
                        },
                        "last_seen": {
                          "timestamp": 1775961839090,
                          "version": "1.0.0"
                        },
                        "error": {
                          "message": "Script error.",
                          "type": "Error"
                        },
                        "suspected_cause": {
                          "source": "auto",
                          "value": "code.exception",
                          "reason": "错误信息 'Script error.' 通常表示 JavaScript 中的未处理异常。",
                          "person_id": 0
                        },
                        "versions": [
                          "1.0.0"
                        ],
                        "severity": "Info"
                      },
                      {
                        "team_id": 2477033058131,
                        "issue_id": "H8kZSmxiE7EgdyD4fCyyNa",
                        "application_id": "eWbr4xk3ZRnLabRa6unqwD",
                        "application_name": "Flashduty DEV",
                        "service": "fd-console",
                        "status": "for_review",
                        "error_count": 3,
                        "session_count": 1,
                        "is_crash": false,
                        "age": 48,
                        "resolved_at": 0,
                        "resolved_by": 0,
                        "created_at": 1775189479566,
                        "updated_at": 1775191284163,
                        "first_seen": {
                          "timestamp": 1775189479566,
                          "version": "1.0.0"
                        },
                        "last_seen": {
                          "timestamp": 1775189527762,
                          "version": "1.0.0"
                        },
                        "error": {
                          "message": "API ERROR: We encountered an internal error | POST /api/access/logout",
                          "type": "Error"
                        },
                        "suspected_cause": {
                          "source": "auto",
                          "value": "api.failed_request",
                          "reason": "错误信息表明 POST /api/access/logout 请求时服务端发生内部错误。",
                          "person_id": 0
                        },
                        "versions": [
                          "1.0.0"
                        ],
                        "severity": "Info"
                      }
                    ],
                    "has_next_page": true,
                    "total": 111
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RumIssueListRequest"
              },
              "example": {
                "start_time": 1772611200000,
                "end_time": 1775961914595,
                "application_ids": [
                  "eWbr4xk3ZRnLabRa6unqwD"
                ],
                "statuses": [
                  "for_review"
                ],
                "p": 1,
                "limit": 20,
                "orderby": "updated_at"
              }
            }
          }
        }
      }
    },
    "/rum/issue/update": {
      "post": {
        "operationId": "rum-issue-write-update",
        "summary": "更新 Issue",
        "description": "更新 Issue 的状态或疑似原因。",
        "tags": [
          "RUM/RUM 问题跟踪"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | 无 —— 持有有效的 `app_key` 即可调用 |\n\n## 使用说明\n\n- `status` 可选值：`for_review`、`reviewed`、`ignored`、`resolved`。\n- `suspected_cause` 可选值：`api.failed_request`、`network.error`、`code.exception`、`code.invalid_object_access`、`code.invalid_argument`、`unknown`。\n- 将 `status` 设为 `resolved` 会同时记录 `resolved_at` 和 `resolved_by`；从 resolved 切回其他状态则会清空这两个字段。\n- 每次调用都会记录到账户审计日志，请不要把敏感信息放在请求字段中。",
          "href": "/zh/api-reference/rum/issues/rum-issue-write-update",
          "metadata": {
            "sidebarTitle": "更新 Issue"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/EmptyResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {}
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RumIssueUpdateRequest"
              },
              "example": {
                "issue_id": "NHEacQHi2DhXqobr9qPQz9",
                "status": "resolved"
              }
            }
          }
        }
      }
    },
    "/rum/application/infos": {
      "post": {
        "operationId": "rum-application-read-infos",
        "summary": "批量查询应用详情",
        "description": "通过 ID 列表批量获取多个 RUM 应用的详情。",
        "tags": [
          "RUM/应用管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | 无 —— 持有有效的 `app_key` 即可调用 |\n\n## 使用说明\n\n- 每次请求最多传入 200 个 ID。",
          "href": "/zh/api-reference/rum/applications/rum-application-read-infos",
          "metadata": {
            "sidebarTitle": "批量查询应用详情"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/RumApplicationInfosResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "items": [
                      {
                        "account_id": 2451002751131,
                        "application_id": "eWbr4xk3ZRnLabRa6unqwD",
                        "application_name": "Flashduty DEV",
                        "type": "browser",
                        "client_token": "ce8d1be90fc6534f89ce36ebf526765e131",
                        "team_id": 2477033058131,
                        "is_private": false,
                        "no_ip": false,
                        "no_geo": false,
                        "alerting": {
                          "enabled": true,
                          "channel_ids": [
                            5962711836131,
                            5967875767131
                          ],
                          "integration_id": 4759595678131
                        },
                        "tracing": {
                          "enabled": true,
                          "open_type": "popup",
                          "endpoint": "https://www.tracing.com/${trace_id}"
                        },
                        "status": "enabled",
                        "created_by": 2476444212131,
                        "updated_by": 3122470302131,
                        "created_at": 1742958482000,
                        "updated_at": 1772096392711,
                        "links": {
                          "enabled": false,
                          "systems": []
                        }
                      },
                      {
                        "account_id": 2451002751131,
                        "application_id": "WoyQQ3BohkdtPivubEvE8o",
                        "application_name": "flashcat-rum",
                        "type": "browser",
                        "client_token": "a3cea433a8685a398cdfd68f54a45e06131",
                        "team_id": 2477033058131,
                        "is_private": true,
                        "no_ip": true,
                        "no_geo": false,
                        "alerting": {
                          "enabled": true,
                          "channel_ids": [
                            2490121812131
                          ],
                          "integration_id": 4759595678131
                        },
                        "tracing": {
                          "enabled": false,
                          "open_type": "",
                          "endpoint": ""
                        },
                        "status": "enabled",
                        "created_by": 4441703362131,
                        "updated_by": 3790925372131,
                        "created_at": 1746673831462,
                        "updated_at": 1773398630657,
                        "links": {
                          "enabled": true,
                          "systems": [
                            {
                              "id": "s3-crash-logs",
                              "name": "S3 Crash Logs",
                              "icon_text": "S3",
                              "icon_color": "#0F766E",
                              "url": "https://s3.example.com/logs?app=${application_id}&trace=${trace_id}",
                              "event_types": [
                                "crash",
                                "error"
                              ],
                              "enabled": true
                            }
                          ]
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RumApplicationInfosRequest"
              },
              "example": {
                "application_ids": [
                  "eWbr4xk3ZRnLabRa6unqwD",
                  "WoyQQ3BohkdtPivubEvE8o"
                ]
              }
            }
          }
        }
      }
    },
    "/rum/field/list": {
      "post": {
        "operationId": "rum-read-field-list",
        "summary": "查询字段列表",
        "description": "返回 RUM 字段定义，可按 scope 和是否为分面字段过滤。",
        "tags": [
          "RUM/RUM 自定义字段"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | 无 —— 持有有效的 `app_key` 即可调用 |\n\n## 使用说明\n\n- 这是当前字段模型下用于发现 RUM 字段的路由。\n- 返回的 `field_key` 可用于 RUM 数据查询和分面值统计请求。\n- 设置 `is_facet: true` 只返回支持值分布统计的字段。",
          "href": "/zh/api-reference/rum/facets/rum-read-field-list",
          "metadata": {
            "sidebarTitle": "查询字段列表"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/RumFieldListResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "items": [
                      {
                        "account_id": 0,
                        "field_key": "error.type",
                        "field_name": "Error type",
                        "group": "Error",
                        "description": "错误类型。",
                        "value_type": "string",
                        "show_type": "list",
                        "unit_family": "",
                        "unit_name": "",
                        "edit_able": false,
                        "is_facet": true,
                        "enum_values": [],
                        "scopes": [
                          "error"
                        ],
                        "status": "active",
                        "queryable": true
                      }
                    ]
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RumFieldListRequest"
              },
              "example": {
                "scopes": [
                  "error"
                ],
                "is_facet": false
              }
            }
          }
        }
      }
    },
    "/rum/application/info": {
      "post": {
        "operationId": "rum-application-read-info",
        "summary": "查看应用详情",
        "description": "通过 `application_id` 获取单个 RUM 应用的完整信息。",
        "tags": [
          "RUM/应用管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | 无 —— 持有有效的 `app_key` 即可调用 |",
          "href": "/zh/api-reference/rum/applications/rum-application-read-info",
          "metadata": {
            "sidebarTitle": "查看应用详情"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/RumApplicationItem"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "account_id": 2451002751131,
                    "application_id": "WoyQQ3BohkdtPivubEvE8o",
                    "application_name": "flashcat-rum",
                    "type": "browser",
                    "client_token": "a3cea433a8685a398cdfd68f54a45e06131",
                    "team_id": 2477033058131,
                    "is_private": true,
                    "no_ip": true,
                    "no_geo": false,
                    "alerting": {
                      "enabled": true,
                      "channel_ids": [
                        2490121812131
                      ],
                      "integration_id": 4759595678131
                    },
                    "tracing": {
                      "enabled": false,
                      "open_type": "",
                      "endpoint": ""
                    },
                    "status": "enabled",
                    "created_by": 4441703362131,
                    "updated_by": 3790925372131,
                    "created_at": 1746673831462,
                    "updated_at": 1773398630657,
                    "links": {
                      "enabled": true,
                      "systems": [
                        {
                          "id": "s3-crash-logs",
                          "name": "S3 Crash Logs",
                          "icon_text": "S3",
                          "icon_color": "#0F766E",
                          "url": "https://s3.example.com/logs?app=${application_id}&trace=${trace_id}",
                          "event_types": [
                            "crash",
                            "error"
                          ],
                          "enabled": true
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RumApplicationIDRequest"
              },
              "example": {
                "application_id": "WoyQQ3BohkdtPivubEvE8o"
              }
            }
          }
        }
      }
    },
    "/rum/application/delete": {
      "post": {
        "operationId": "rum-application-write-delete",
        "summary": "删除应用",
        "description": "通过 `application_id` 删除 RUM 应用。",
        "tags": [
          "RUM/应用管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **应用管理**（`rum`） |\n\n## 使用说明\n\n- 每次调用都会记录到账户审计日志，请不要把敏感信息放在请求字段中。",
          "href": "/zh/api-reference/rum/applications/rum-application-write-delete",
          "metadata": {
            "sidebarTitle": "删除应用"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/EmptyResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {}
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RumApplicationIDRequest"
              },
              "example": {
                "application_id": "qLpu24Dz4CAzWsESPbJYWA"
              }
            }
          }
        }
      }
    },
    "/rum/application/create": {
      "post": {
        "operationId": "rum-application-write-create",
        "summary": "创建应用",
        "description": "创建新的 RUM 应用，返回生成的 `application_id` 和 `client_token`。",
        "tags": [
          "RUM/应用管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **应用管理**（`rum`） |\n\n## 使用说明\n\n- `type` 须为以下之一：`browser`、`ios`、`android`、`react-native`、`flutter`、`kotlin-multiplatform`、`roku`、`unity`。\n- `links.systems[].url` 必须以 `http` 或 `https` 开头；`${var}` 变量会根据 RUM 事件上下文解析。\n- `links.systems[].event_types` 支持：`crash`、`error`、`view`、`action`、`resource`、`session`、`all`。\n- `client_token` 自动生成，用于初始化 RUM SDK。\n- 每次调用都会记录到账户审计日志，请不要把敏感信息放在请求字段中。",
          "href": "/zh/api-reference/rum/applications/rum-application-write-create",
          "metadata": {
            "sidebarTitle": "创建应用"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/RumApplicationCreateResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "application_id": "qLpu24Dz4CAzWsESPbJYWA",
                    "application_name": "我的 Web 应用",
                    "client_token": "e090078724855a4ca168c3884880dfbc131"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RumApplicationCreateRequest"
              },
              "example": {
                "application_name": "我的 Web 应用",
                "type": "browser",
                "team_id": 2477033058131,
                "is_private": false,
                "links": {
                  "enabled": true,
                  "systems": [
                    {
                      "id": "s3-crash-logs",
                      "name": "S3 Crash Logs",
                      "icon_text": "S3",
                      "icon_color": "#0F766E",
                      "url": "https://s3.example.com/logs?app=${application_id}&trace=${trace_id}",
                      "event_types": [
                        "crash",
                        "error"
                      ],
                      "enabled": true
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/rum/application/update": {
      "post": {
        "operationId": "rum-application-write-update",
        "summary": "更新应用",
        "description": "更新已有 RUM 应用，除 `application_id` 外均为可选，仅更新提供的字段。",
        "tags": [
          "RUM/应用管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **应用管理**（`rum`） |\n\n## 使用说明\n\n- `links.systems[].url` 必须以 `http` 或 `https` 开头；`${var}` 变量会根据 RUM 事件上下文解析。\n- `links.systems[].event_types` 支持：`crash`、`error`、`view`、`action`、`resource`、`session`、`all`。\n- 每次调用都会记录到账户审计日志，请不要把敏感信息放在请求字段中。",
          "href": "/zh/api-reference/rum/applications/rum-application-write-update",
          "metadata": {
            "sidebarTitle": "更新应用"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/EmptyResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {}
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RumApplicationUpdateRequest"
              },
              "example": {
                "application_id": "WoyQQ3BohkdtPivubEvE8o",
                "application_name": "我的 Web 应用 v2",
                "alerting": {
                  "enabled": true,
                  "channel_ids": [
                    2490121812131
                  ]
                },
                "links": {
                  "enabled": true,
                  "systems": [
                    {
                      "id": "s3-crash-logs",
                      "name": "S3 Crash Logs",
                      "icon_text": "S3",
                      "icon_color": "#0F766E",
                      "url": "https://s3.example.com/logs?app=${application_id}&trace=${trace_id}",
                      "event_types": [
                        "crash",
                        "error"
                      ],
                      "enabled": true
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/sourcemap/list": {
      "post": {
        "operationId": "sourcemap-read-list",
        "summary": "查询 Sourcemap 列表",
        "description": "分页返回已上传的 Sourcemap 文件列表，可按平台类型、服务和版本过滤。",
        "tags": [
          "RUM/RUM Sourcemap"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | 无 —— 持有有效的 `app_key` 即可调用 |\n\n## 使用说明\n\n- `start_time` 和 `end_time` 为必填字段，均使用 Unix 时间戳（**毫秒**），最大时间跨度 365 天。\n- `type` 字段用于选择平台：`browser`（JavaScript）、`android` 或 `ios`。省略时默认为 `browser`。\n- 默认每页 20 条，最大 100 条，默认按 `created_at` 倒序排列。\n- Android 平台可用 `build_id` 匹配 Gradle 插件的构建标识；iOS 平台可用 `uuid` 匹配 dSYM bundle UUID。",
          "href": "/zh/api-reference/rum/sourcemaps/sourcemap-read-list",
          "metadata": {
            "sidebarTitle": "查询 Sourcemap 列表"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/SourcemapListResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "total": 3,
                    "items": [
                      {
                        "key": "browser/my-web-app/1.0.0/main.js.map",
                        "type": "browser",
                        "service": "my-web-app",
                        "version": "1.0.0",
                        "size": 204800,
                        "git_repository_url": "https://github.com/example/my-web-app",
                        "git_commit_sha": "abc1234def5678",
                        "created_at": 1712700000,
                        "updated_at": 1712700000,
                        "metadata": {}
                      }
                    ]
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SourcemapListRequest"
              },
              "example": {
                "start_time": 1712000000000,
                "end_time": 1712700000000,
                "type": "browser",
                "services": [
                  "my-web-app"
                ],
                "p": 1,
                "limit": 20
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "AppKeyAuth": {
        "type": "apiKey",
        "in": "query",
        "name": "app_key",
        "description": "在 Flashduty 控制台 账户 → APP Key 中签发的 app_key。调用任何公开 API 时都必须携带。它等同于所属账户的身份凭证，请妥善保管。"
      }
    },
    "responses": {
      "BadRequest": {
        "description": "请求非法 — 通常是参数缺失或格式不正确。",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorResponse"
            },
            "examples": {
              "missingParameter": {
                "value": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "error": {
                    "code": "InvalidParameter",
                    "message": "The specified parameter is not valid."
                  }
                }
              }
            }
          }
        }
      },
      "Unauthorized": {
        "description": "app_key 缺失或无效。",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorResponse"
            },
            "examples": {
              "missingAppKey": {
                "value": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "error": {
                    "code": "Unauthorized",
                    "message": "You are unauthorized."
                  }
                }
              }
            }
          }
        }
      },
      "Forbidden": {
        "description": "app_key 有效但没有执行该操作的权限。",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorResponse"
            },
            "examples": {
              "noEditPermission": {
                "value": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "error": {
                    "code": "AccessDenied",
                    "message": "Access Denied."
                  }
                }
              }
            }
          }
        }
      },
      "NotFound": {
        "description": "目标资源不存在或已被删除。注意：Flashduty 对业务实体的缺失通常返回 HTTP 400 + code=`ResourceNotFound`，真正的 404 只用于未知路由。",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorResponse"
            },
            "examples": {
              "resourceMissing": {
                "value": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "error": {
                    "code": "ResourceNotFound",
                    "message": "The resource you request is not found"
                  }
                }
              }
            }
          }
        }
      },
      "TooManyRequests": {
        "description": "命中限流。可能是全局 API 限流、账户级限流或集成级限流。限流按账户聚合。",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorResponse"
            },
            "examples": {
              "rateLimited": {
                "value": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "error": {
                    "code": "RequestTooFrequently",
                    "message": "Request too frequently."
                  }
                }
              }
            }
          }
        }
      },
      "ServerError": {
        "description": "服务端未预期错误。反馈问题时请携带 request_id。",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorResponse"
            },
            "examples": {
              "internal": {
                "value": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "error": {
                    "code": "InternalError",
                    "message": "We encountered an internal error, and it has been reported. Please try again later."
                  }
                }
              }
            }
          }
        }
      }
    },
    "schemas": {
      "DutyError": {
        "type": "object",
        "description": "响应结构中的错误 payload，仅在非 2xx 响应时出现。",
        "properties": {
          "code": {
            "$ref": "#/components/schemas/ErrorCode"
          },
          "message": {
            "type": "string",
            "description": "用户可读的错误描述，语言会跟随调用方的 Accept-Language。可能包含字段名、ID 等请求上下文。",
            "example": "The specified parameter template_id is not valid."
          }
        },
        "required": [
          "code",
          "message"
        ]
      },
      "EmptyObject": {
        "type": "object",
        "description": "空对象。当操作的成功信号就是不报错时，作为 `data` 返回。",
        "additionalProperties": false
      },
      "EmptyRequest": {
        "type": "object",
        "description": "无参数。",
        "additionalProperties": false
      },
      "EmptyResponse": {
        "type": "object",
        "description": "空响应体。成功时服务端返回 `data: null`。",
        "properties": {}
      },
      "ErrorCode": {
        "type": "string",
        "description": "Flashduty 错误码枚举。每个失败响应的 `error.code` 都是下列稳定值之一，HTTP 状态码仅作参考。\n\n| 错误码 | HTTP | 含义 |\n|---|---|---|\n| `OK` | 200 | 保留值，正常错误响应不会返回。 |\n| `InvalidParameter` | 400 | 必填参数缺失或未通过校验。 |\n| `BadRequest` | 400 | 通用的 400 错误，通常是请求本身不合法。 |\n| `InvalidContentType` | 400 | 请求头 `Content-Type` 不是 `application/json`。 |\n| `ResourceNotFound` | 400 | 目标资源不存在。注意 HTTP 状态码是 400 而非 404（历史设计）。 |\n| `NoLicense` | 400 | 功能需要有效授权，但未找到可用的 license。 |\n| `ReferenceExist` | 400 | 该资源仍被其他实体引用，无法删除。 |\n| `Unauthorized` | 401 | `app_key` 缺失、无效或已过期。 |\n| `BalanceNotEnough` | 402 | 账户余额不足，无法执行需要计费的操作。 |\n| `AccessDenied` | 403 | 身份认证通过，但 RBAC 权限不足以执行该操作。 |\n| `RouteNotFound` | 404 | 请求的 URL 路径不是已知路由。 |\n| `MethodNotAllowed` | 405 | 当前路径不接受所使用的 HTTP 方法。 |\n| `UndonedOrderExist` | 409 | 账户存在未完成的订单，请稍后重试。 |\n| `RequestLocked` | 423 | 因连续失败被临时锁定。 |\n| `EntityTooLarge` | 413 | 请求体超过允许的最大长度。 |\n| `RequestTooFrequently` | 429 | 命中限流（全局、账户级或集成级）。 |\n| `RequestVerifyRequired` | 428 | 操作需要二次验证码，但未提供。 |\n| `DangerousOperation` | 428 | 危险操作，需要进行 MFA 验证。 |\n| `InternalError` | 500 | 服务端未预期错误。反馈问题请附上 `request_id`。 |\n| `ServiceUnavailable` | 503 | 后端依赖不可用，请稍后重试。 |",
        "enum": [
          "OK",
          "InvalidParameter",
          "BadRequest",
          "InvalidContentType",
          "ResourceNotFound",
          "NoLicense",
          "ReferenceExist",
          "Unauthorized",
          "BalanceNotEnough",
          "AccessDenied",
          "RouteNotFound",
          "MethodNotAllowed",
          "UndonedOrderExist",
          "RequestLocked",
          "EntityTooLarge",
          "RequestTooFrequently",
          "RequestVerifyRequired",
          "DangerousOperation",
          "InternalError",
          "ServiceUnavailable"
        ],
        "x-enumDescriptions": {
          "OK": "保留值，正常错误响应不会返回。",
          "InvalidParameter": "必填参数缺失或未通过校验。",
          "BadRequest": "通用的 400 错误，通常是请求本身不合法。",
          "InvalidContentType": "请求头 `Content-Type` 不是 `application/json`。",
          "ResourceNotFound": "目标资源不存在。注意 HTTP 状态码是 400 而非 404（历史设计）。",
          "NoLicense": "功能需要有效授权，但未找到可用的 license。",
          "ReferenceExist": "该资源仍被其他实体引用，无法删除。",
          "Unauthorized": "`app_key` 缺失、无效或已过期。",
          "BalanceNotEnough": "账户余额不足，无法执行需要计费的操作。",
          "AccessDenied": "身份认证通过，但 RBAC 权限不足以执行该操作。",
          "RouteNotFound": "请求的 URL 路径不是已知路由。",
          "MethodNotAllowed": "当前路径不接受所使用的 HTTP 方法。",
          "UndonedOrderExist": "账户存在未完成的订单，请稍后重试。",
          "RequestLocked": "因连续失败被临时锁定。",
          "EntityTooLarge": "请求体超过允许的最大长度。",
          "RequestTooFrequently": "命中限流（全局、账户级或集成级）。",
          "RequestVerifyRequired": "操作需要二次验证码，但未提供。",
          "DangerousOperation": "危险操作，需要进行 MFA 验证。",
          "InternalError": "服务端未预期错误。反馈问题请附上 `request_id`。",
          "ServiceUnavailable": "后端依赖不可用，请稍后重试。"
        },
        "example": "InvalidParameter"
      },
      "ErrorResponse": {
        "type": "object",
        "description": "错误响应结构。`error` 必填，`data` 不存在。",
        "properties": {
          "request_id": {
            "type": "string",
            "example": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4"
          },
          "error": {
            "$ref": "#/components/schemas/DutyError"
          }
        },
        "required": [
          "request_id",
          "error"
        ]
      },
      "FacetCountItem": {
        "type": "object",
        "description": "一个分面值及其出现次数。",
        "required": [
          "facet_value",
          "count"
        ],
        "properties": {
          "facet_value": {
            "description": "分面值，类型与字段的 `value_type` 一致。"
          },
          "count": {
            "type": "integer",
            "format": "int64",
            "description": "该时间范围内具有此分面值的事件数量。",
            "example": 1523
          }
        }
      },
      "RumApplicationAlerting": {
        "type": "object",
        "description": "应用的告警配置。",
        "properties": {
          "enabled": {
            "type": "boolean",
            "description": "是否启用告警。"
          },
          "channel_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "接收告警的协作空间 ID 列表。"
          },
          "integration_id": {
            "type": "integer",
            "format": "int64",
            "description": "关联的 On-call 集成 ID（只读，自动分配）。"
          }
        }
      },
      "RumApplicationCreateRequest": {
        "type": "object",
        "required": [
          "application_name",
          "type",
          "team_id"
        ],
        "description": "创建 RUM 应用的参数。",
        "properties": {
          "application_name": {
            "type": "string",
            "description": "应用名称，1–40 个字符。"
          },
          "type": {
            "type": "string",
            "enum": [
              "browser",
              "ios",
              "android",
              "react-native",
              "flutter",
              "kotlin-multiplatform",
              "roku",
              "unity"
            ],
            "description": "应用类型。"
          },
          "team_id": {
            "type": "integer",
            "format": "int64",
            "description": "所属团队 ID。"
          },
          "is_private": {
            "type": "boolean",
            "description": "是否仅限团队成员访问。"
          },
          "no_ip": {
            "type": "boolean",
            "description": "不采集 IP 地址。"
          },
          "no_geo": {
            "type": "boolean",
            "description": "不推断地理位置。"
          },
          "alerting": {
            "$ref": "#/components/schemas/RumApplicationAlerting"
          },
          "tracing": {
            "$ref": "#/components/schemas/RumApplicationTracing"
          },
          "links": {
            "$ref": "#/components/schemas/RumApplicationLinks"
          }
        }
      },
      "RumApplicationCreateResponse": {
        "type": "object",
        "description": "创建 RUM 应用的结果。",
        "properties": {
          "application_id": {
            "type": "string",
            "description": "自动生成的唯一应用 ID。"
          },
          "application_name": {
            "type": "string",
            "description": "应用显示名称。"
          },
          "client_token": {
            "type": "string",
            "description": "用于 RUM SDK 初始化的令牌。"
          }
        }
      },
      "RumApplicationIDRequest": {
        "type": "object",
        "required": [
          "application_id"
        ],
        "description": "包含单个应用 ID 的请求。",
        "properties": {
          "application_id": {
            "type": "string",
            "description": "RUM 应用 ID。"
          }
        }
      },
      "RumApplicationInfosRequest": {
        "type": "object",
        "required": [
          "application_ids"
        ],
        "description": "批量查询应用信息请求。",
        "properties": {
          "application_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "最多 200 个应用 ID。"
          }
        }
      },
      "RumApplicationInfosResponse": {
        "type": "object",
        "description": "批量查询应用信息响应。",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RumApplicationItem"
            }
          }
        }
      },
      "RumApplicationItem": {
        "type": "object",
        "description": "单个 RUM 应用。",
        "properties": {
          "account_id": {
            "type": "integer",
            "format": "int64",
            "description": "账户 ID。"
          },
          "application_id": {
            "type": "string",
            "description": "唯一应用 ID。"
          },
          "application_name": {
            "type": "string",
            "description": "应用显示名称。"
          },
          "type": {
            "type": "string",
            "enum": [
              "browser",
              "ios",
              "android",
              "react-native",
              "flutter",
              "kotlin-multiplatform",
              "roku",
              "unity"
            ],
            "description": "应用类型。"
          },
          "client_token": {
            "type": "string",
            "description": "用于初始化 RUM SDK 的令牌。"
          },
          "team_id": {
            "type": "integer",
            "format": "int64",
            "description": "所属团队 ID。"
          },
          "is_private": {
            "type": "boolean",
            "description": "为 `true` 时仅团队成员可访问。"
          },
          "no_ip": {
            "type": "boolean",
            "description": "为 `true` 时不采集 IP 地址。"
          },
          "no_geo": {
            "type": "boolean",
            "description": "为 `true` 时不推断地理位置。"
          },
          "alerting": {
            "$ref": "#/components/schemas/RumApplicationAlerting"
          },
          "tracing": {
            "$ref": "#/components/schemas/RumApplicationTracing"
          },
          "links": {
            "$ref": "#/components/schemas/RumApplicationLinks"
          },
          "status": {
            "type": "string",
            "enum": [
              "enabled",
              "disabled",
              "deleted"
            ],
            "description": "应用状态。"
          },
          "created_by": {
            "type": "integer",
            "format": "int64",
            "description": "创建者成员 ID。"
          },
          "updated_by": {
            "type": "integer",
            "format": "int64",
            "description": "最后更新者成员 ID。"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "description": "创建时间，Unix 时间戳（秒）。"
          },
          "updated_at": {
            "type": "integer",
            "format": "int64",
            "description": "最后更新时间，Unix 时间戳（秒）。"
          }
        }
      },
      "RumApplicationLink": {
        "type": "object",
        "description": "在匹配的 RUM 事件详情页展示的外部系统链接。",
        "required": [
          "name",
          "url",
          "event_types"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "外部系统的稳定客户端标识。"
          },
          "name": {
            "type": "string",
            "description": "外部系统显示名称。"
          },
          "icon_text": {
            "type": "string",
            "description": "链接图标中显示的短文本。"
          },
          "icon_color": {
            "type": "string",
            "description": "链接图标显示颜色。"
          },
          "url": {
            "type": "string",
            "format": "uri",
            "description": "HTTP 或 HTTPS URL 模板，`${var}` 变量会根据 RUM 事件上下文解析。"
          },
          "event_types": {
            "type": "array",
            "minItems": 1,
            "items": {
              "type": "string",
              "enum": [
                "crash",
                "error",
                "view",
                "action",
                "resource",
                "session",
                "all"
              ]
            },
            "description": "展示该外部系统链接的 RUM 事件类型。"
          },
          "enabled": {
            "type": "boolean",
            "description": "是否启用该外部系统链接。"
          }
        }
      },
      "RumApplicationLinks": {
        "type": "object",
        "description": "应用的外部链接集成配置。",
        "properties": {
          "enabled": {
            "type": "boolean",
            "description": "是否启用外部链接集成。"
          },
          "systems": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "$ref": "#/components/schemas/RumApplicationLink"
            },
            "description": "可从匹配 RUM 事件打开的外部系统 URL 模板列表。"
          }
        }
      },
      "RumApplicationListRequest": {
        "type": "object",
        "description": "查询 RUM 应用列表的过滤参数。",
        "properties": {
          "p": {
            "type": "integer",
            "description": "页码（从 1 开始），默认 1。"
          },
          "limit": {
            "type": "integer",
            "description": "每页条数，范围 1–100，默认 20。"
          },
          "orderby": {
            "type": "string",
            "enum": [
              "created_at",
              "updated_at"
            ],
            "description": "排序字段。"
          },
          "asc": {
            "type": "boolean",
            "description": "为 `true` 时升序排列。"
          },
          "query": {
            "type": "string",
            "description": "按应用名称搜索。"
          },
          "team_id": {
            "type": "integer",
            "format": "int64",
            "description": "按团队 ID 过滤。"
          },
          "is_my_team": {
            "type": "boolean",
            "description": "为 `true` 时仅返回当前用户所在团队的应用。"
          }
        }
      },
      "RumApplicationListResponse": {
        "type": "object",
        "description": "RUM 应用分页列表。",
        "properties": {
          "has_next_page": {
            "type": "boolean"
          },
          "total": {
            "type": "integer"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RumApplicationItem"
            }
          }
        }
      },
      "RumApplicationTracing": {
        "type": "object",
        "description": "APM 链路追踪集成配置。",
        "properties": {
          "enabled": {
            "type": "boolean",
            "description": "是否启用链路追踪集成。"
          },
          "open_type": {
            "type": "string",
            "enum": [
              "popup",
              "tab"
            ],
            "description": "链路链接的打开方式。"
          },
          "endpoint": {
            "type": "string",
            "description": "链路 Endpoint URL（http 或 https）。"
          }
        }
      },
      "RumApplicationUpdateRequest": {
        "type": "object",
        "required": [
          "application_id"
        ],
        "description": "更新 RUM 应用的参数，除 `application_id` 外均为可选。",
        "properties": {
          "application_id": {
            "type": "string",
            "description": "要更新的应用 ID。"
          },
          "application_name": {
            "type": "string",
            "description": "新的应用名称。"
          },
          "type": {
            "type": "string",
            "enum": [
              "browser",
              "ios",
              "android",
              "react-native",
              "flutter",
              "kotlin-multiplatform",
              "roku",
              "unity"
            ]
          },
          "team_id": {
            "type": "integer",
            "format": "int64"
          },
          "is_private": {
            "type": "boolean"
          },
          "no_ip": {
            "type": "boolean"
          },
          "no_geo": {
            "type": "boolean"
          },
          "alerting": {
            "$ref": "#/components/schemas/RumApplicationAlerting"
          },
          "tracing": {
            "$ref": "#/components/schemas/RumApplicationTracing"
          },
          "links": {
            "$ref": "#/components/schemas/RumApplicationLinks"
          }
        }
      },
      "RumDataAggregateFunction": {
        "type": "object",
        "description": "采样引擎使用的聚合函数元信息。",
        "required": [
          "type",
          "column_name",
          "column_index"
        ],
        "properties": {
          "type": {
            "type": "string",
            "description": "聚合函数类型。"
          },
          "column_name": {
            "type": "string",
            "description": "聚合函数使用的列名。"
          },
          "column_index": {
            "type": "integer",
            "description": "聚合函数使用的列下标。"
          }
        }
      },
      "RumDataFieldMeta": {
        "type": "object",
        "description": "单个返回列的元信息。",
        "required": [
          "name",
          "type",
          "nullable"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "列名。"
          },
          "type": {
            "type": "string",
            "description": "该列的后端数据库类型名称。"
          },
          "nullable": {
            "type": "boolean",
            "description": "该列的值是否可能为 null。"
          }
        }
      },
      "RumDataQueryDefinition": {
        "type": "object",
        "description": "单个 RUM 数据查询定义。",
        "required": [
          "id",
          "sql",
          "format"
        ],
        "properties": {
          "id": {
            "type": "string",
            "maxLength": 64,
            "description": "调用方提供的查询 ID；响应对象会使用同一值作为 key。"
          },
          "sql": {
            "type": "string",
            "description": "要执行的 RUM SQL 查询。"
          },
          "dql": {
            "type": "string",
            "description": "可选的 RUM DQL 过滤表达式，会和 SQL 校验一起使用。"
          },
          "format": {
            "type": "string",
            "enum": [
              "time_series",
              "table"
            ],
            "description": "输出格式。`table` 返回行数据；`time_series` 返回按时间桶聚合的时序数据。"
          },
          "interval": {
            "type": "integer",
            "format": "int64",
            "exclusiveMinimum": 0,
            "default": 3600,
            "description": "`time_series` 查询的时间桶间隔，单位秒。"
          },
          "max_points": {
            "type": "integer",
            "format": "int64",
            "exclusiveMinimum": 0,
            "default": 1226,
            "description": "`time_series` 查询最多返回的点数。"
          },
          "time_zone": {
            "type": "string",
            "description": "计算时间函数时使用的 IANA 时区名称，例如 `Asia/Shanghai`。"
          },
          "search_after_ctx": {
            "type": "string",
            "description": "上一次表格查询返回的不透明游标，用于继续分页。"
          },
          "disable_sampling": {
            "type": "boolean",
            "description": "为 true 时，请求查询引擎尽可能避免采样。"
          }
        }
      },
      "RumDataQueryOutput": {
        "type": "object",
        "description": "单个查询的结果。失败的子查询填充 `error`；成功的子查询填充 `data`。",
        "properties": {
          "error": {
            "$ref": "#/components/schemas/DutyError"
          },
          "data": {
            "$ref": "#/components/schemas/RumDataQueryResult"
          }
        }
      },
      "RumDataQueryRequest": {
        "type": "object",
        "description": "指定时间范围内的一组 RUM 数据查询。",
        "required": [
          "start_time",
          "end_time",
          "queries"
        ],
        "properties": {
          "start_time": {
            "type": "integer",
            "format": "int64",
            "description": "查询窗口起始时间，Unix 毫秒时间戳。",
            "example": 1712620800000
          },
          "end_time": {
            "type": "integer",
            "format": "int64",
            "description": "查询窗口结束时间，Unix 毫秒时间戳。最大跨度 31 天。",
            "example": 1712707200000
          },
          "queries": {
            "type": "array",
            "description": "并发执行的查询列表，允许 1 到 10 个。",
            "minItems": 1,
            "maxItems": 10,
            "items": {
              "$ref": "#/components/schemas/RumDataQueryDefinition"
            }
          }
        }
      },
      "RumDataQueryResponse": {
        "type": "object",
        "description": "从请求中的查询 ID 到该查询结果或错误的映射。",
        "additionalProperties": {
          "$ref": "#/components/schemas/RumDataQueryOutput"
        }
      },
      "RumDataQueryResult": {
        "type": "object",
        "description": "单个 RUM 数据查询返回的行数据和元信息。",
        "required": [
          "fields",
          "values"
        ],
        "properties": {
          "search_after_ctx": {
            "type": "string",
            "description": "用于继续表格查询分页的不透明游标。"
          },
          "fields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RumDataFieldMeta"
            },
            "description": "返回值矩阵的列元信息。"
          },
          "values": {
            "type": "array",
            "description": "查询返回的行数据。每一行按下标与 `fields` 对齐。",
            "items": {
              "type": "array",
              "items": {}
            }
          },
          "interval": {
            "type": "integer",
            "format": "int64",
            "description": "时序查询实际使用的时间桶间隔，单位秒。"
          },
          "sampling": {
            "$ref": "#/components/schemas/RumDataSamplingDecision"
          }
        }
      },
      "RumDataSamplingDecision": {
        "type": "object",
        "description": "查询引擎使用采样数据时返回的采样元信息。",
        "required": [
          "enabled",
          "scale_factor"
        ],
        "properties": {
          "enabled": {
            "type": "boolean",
            "description": "是否应用了采样。"
          },
          "scale_factor": {
            "type": "number",
            "description": "将采样计数放大为全量估算值时使用的倍率。"
          },
          "selected_tablets": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "采样查询选中的存储 tablet。"
          },
          "aggregate_funcs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RumDataAggregateFunction"
            },
            "description": "受采样影响的聚合函数。"
          }
        }
      },
      "RumFacetCountRequest": {
        "type": "object",
        "description": "分面值分布统计的请求参数。",
        "required": [
          "scope",
          "facet_key",
          "start_time",
          "end_time"
        ],
        "properties": {
          "scope": {
            "type": "string",
            "description": "要查询的 RUM 数据 scope。",
            "enum": [
              "session",
              "view",
              "action",
              "error",
              "resource",
              "long_task",
              "vital",
              "issue",
              "sourcemap"
            ]
          },
          "facet_key": {
            "type": "string",
            "description": "要统计值分布的字段键。"
          },
          "facet_value": {
            "description": "设置后，统计前会先过滤 `facet_key` 等于该值的事件。接受字符串、数字或布尔值。"
          },
          "start_time": {
            "type": "integer",
            "format": "int64",
            "description": "时间范围起始，Unix 毫秒时间戳。",
            "example": 1712620800000
          },
          "end_time": {
            "type": "integer",
            "format": "int64",
            "description": "时间范围结束，Unix 毫秒时间戳。最大跨度 31 天。",
            "example": 1712707200000
          },
          "dql": {
            "type": "string",
            "description": "统计前应用的 RUM DQL 过滤表达式。"
          },
          "sql": {
            "type": "string",
            "description": "仅含 WHERE 子句（无 SELECT）的 SQL 附加过滤条件。"
          },
          "limit": {
            "type": "integer",
            "description": "返回的最大 Top N 值数量。默认 100，最大 100。",
            "maximum": 100,
            "default": 100
          }
        }
      },
      "RumFacetCountResponse": {
        "type": "object",
        "description": "按计数降序排列的 Top N 分面值。",
        "required": [
          "items"
        ],
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FacetCountItem"
            }
          }
        }
      },
      "RumFacetListRequest": {
        "type": "object",
        "description": "RUM 字段定义列表的过滤参数。",
        "properties": {
          "scopes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "按 RUM 数据 scope 过滤。合法值：`session`、`view`、`action`、`error`、`resource`、`long_task`、`vital`、`issue`、`sourcemap`。"
          },
          "is_facet": {
            "type": "boolean",
            "description": "为 true 时只返回支持分面查询的字段；为 false 或不传时返回所有字段。"
          }
        }
      },
      "RumFacetListResponse": {
        "type": "object",
        "description": "RUM 字段定义列表。",
        "required": [
          "items"
        ],
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RumFieldItem"
            }
          }
        }
      },
      "RumFieldItem": {
        "type": "object",
        "description": "一条 RUM 字段定义。",
        "required": [
          "account_id",
          "field_key",
          "field_name",
          "group",
          "description",
          "value_type",
          "show_type",
          "unit_family",
          "unit_name",
          "edit_able",
          "is_facet",
          "enum_values",
          "scopes",
          "status",
          "queryable"
        ],
        "properties": {
          "account_id": {
            "type": "integer",
            "format": "int64",
            "description": "账户 ID。内置字段为 0。"
          },
          "field_key": {
            "type": "string",
            "description": "唯一字段键，如 `error.type`。"
          },
          "field_name": {
            "type": "string",
            "description": "人类可读的字段名称。"
          },
          "group": {
            "type": "string",
            "description": "字段的展示分组。"
          },
          "description": {
            "type": "string",
            "description": "该字段捕获内容的描述。"
          },
          "value_type": {
            "type": "string",
            "description": "字段值的数据类型。",
            "enum": [
              "string",
              "number",
              "boolean",
              "array<string>",
              "array<number>",
              "array<boolean>"
            ]
          },
          "show_type": {
            "type": "string",
            "description": "在分析 UI 中的展示类型。",
            "enum": [
              "list",
              "range"
            ]
          },
          "unit_family": {
            "type": "string",
            "description": "计量单位族，如 `time`、`bytes`。无量纲字段为空。"
          },
          "unit_name": {
            "type": "string",
            "description": "具体计量单位，如 `millisecond`、`byte`。"
          },
          "edit_able": {
            "type": "boolean",
            "description": "是否为用户可编辑的自定义字段。"
          },
          "is_facet": {
            "type": "boolean",
            "description": "是否支持值分布统计查询。"
          },
          "enum_values": {
            "type": "array",
            "description": "该字段的预定义枚举值。元素类型与 `value_type` 对应：字符串类型为 `string`，数字类型为 `number`，布尔类型为 `boolean`。无固定值集合时为空数组。",
            "items": {
              "oneOf": [
                {
                  "type": "string"
                },
                {
                  "type": "number"
                },
                {
                  "type": "boolean"
                }
              ]
            }
          },
          "scopes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "该字段所属的 RUM scope 列表。"
          },
          "status": {
            "type": "string",
            "description": "字段状态，如 `active`。"
          },
          "queryable": {
            "type": "boolean",
            "description": "是否可在 DQL/SQL 查询中使用。"
          }
        }
      },
      "RumFieldListRequest": {
        "type": "object",
        "description": "RUM 字段定义列表的过滤参数。",
        "properties": {
          "scopes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "按 RUM 数据 scope 过滤。合法值：`session`、`view`、`action`、`error`、`resource`、`long_task`、`vital`、`issue`、`sourcemap`。"
          },
          "is_facet": {
            "type": "boolean",
            "description": "为 true 时只返回支持分面查询的字段；为 false 或不传时返回所有字段。"
          }
        }
      },
      "RumFieldListResponse": {
        "type": "object",
        "description": "RUM 字段定义列表。",
        "required": [
          "items"
        ],
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RumFieldItem"
            }
          }
        }
      },
      "RumIssueIDRequest": {
        "type": "object",
        "required": [
          "issue_id"
        ],
        "properties": {
          "issue_id": {
            "type": "string",
            "description": "Issue ID。"
          }
        }
      },
      "RumIssueItem": {
        "type": "object",
        "description": "单个 RUM 异常追踪 Issue。",
        "properties": {
          "team_id": {
            "type": "integer",
            "format": "int64"
          },
          "issue_id": {
            "type": "string",
            "description": "唯一 Issue ID。"
          },
          "application_id": {
            "type": "string"
          },
          "application_name": {
            "type": "string"
          },
          "service": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "for_review",
              "reviewed",
              "ignored",
              "resolved"
            ]
          },
          "error_count": {
            "type": "integer",
            "format": "int64",
            "description": "错误总发生次数。"
          },
          "session_count": {
            "type": "integer",
            "format": "int64",
            "description": "受影响的用户会话数。"
          },
          "is_crash": {
            "type": "boolean",
            "description": "是否导致应用崩溃。"
          },
          "age": {
            "type": "integer",
            "format": "int64"
          },
          "resolved_at": {
            "type": "integer",
            "format": "int64"
          },
          "resolved_by": {
            "type": "integer",
            "format": "int64"
          },
          "created_at": {
            "type": "integer",
            "format": "int64"
          },
          "updated_at": {
            "type": "integer",
            "format": "int64"
          },
          "first_seen": {
            "type": "object",
            "properties": {
              "timestamp": {
                "type": "integer",
                "format": "int64"
              },
              "version": {
                "type": "string"
              }
            }
          },
          "last_seen": {
            "type": "object",
            "properties": {
              "timestamp": {
                "type": "integer",
                "format": "int64"
              },
              "version": {
                "type": "string"
              }
            }
          },
          "error": {
            "type": "object",
            "properties": {
              "message": {
                "type": "string"
              },
              "type": {
                "type": "string"
              }
            }
          },
          "suspected_cause": {
            "type": "object",
            "properties": {
              "source": {
                "type": "string",
                "enum": [
                  "auto",
                  "user"
                ]
              },
              "value": {
                "type": "string",
                "enum": [
                  "api.failed_request",
                  "network.error",
                  "code.exception",
                  "code.invalid_object_access",
                  "code.invalid_argument",
                  "unknown"
                ]
              },
              "reason": {
                "type": "string"
              },
              "person_id": {
                "type": "integer",
                "format": "int64"
              }
            }
          },
          "regression": {
            "type": "object",
            "description": "回溯元数据，仅在已解决的 Issue 再次出现时存在。",
            "properties": {
              "regressed_at": {
                "type": "integer",
                "format": "int64",
                "description": "检测到回溯的时间戳。"
              },
              "regressed_at_version": {
                "type": "string",
                "description": "出现回溯的应用版本。"
              },
              "resolved_at": {
                "type": "integer",
                "format": "int64",
                "description": "回溯前的上次解决时间。"
              }
            }
          },
          "versions": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "severity": {
            "type": "string",
            "description": "Issue 严重性级别。"
          }
        }
      },
      "RumIssueListRequest": {
        "type": "object",
        "required": [
          "start_time",
          "end_time"
        ],
        "description": "查询 Issue 列表的过滤参数。",
        "properties": {
          "start_time": {
            "type": "integer",
            "format": "int64",
            "description": "时间范围起始，毫秒时间戳。"
          },
          "end_time": {
            "type": "integer",
            "format": "int64",
            "description": "时间范围结束，毫秒时间戳，最大范围 183 天。"
          },
          "application_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "按应用 ID 过滤。"
          },
          "dql": {
            "type": "string",
            "description": "DQL 高级过滤查询，不能与 `sql` 同时使用。"
          },
          "sql": {
            "type": "string",
            "description": "SQL 式高级过滤查询，不能与 `dql` 同时使用。"
          },
          "statuses": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "for_review",
                "reviewed",
                "ignored",
                "resolved"
              ]
            },
            "description": "按状态过滤。"
          },
          "suspected_causes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "按疑似原因过滤。"
          },
          "team_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "按团队 ID 过滤。"
          },
          "p": {
            "type": "integer",
            "description": "页码，默认 1。"
          },
          "limit": {
            "type": "integer",
            "description": "每页条数，范围 1–100，默认 20。"
          },
          "orderby": {
            "type": "string",
            "enum": [
              "created_at",
              "updated_at",
              "session_count",
              "error_count"
            ]
          },
          "asc": {
            "type": "boolean"
          },
          "error_required": {
            "type": "boolean",
            "description": "为 `true` 时仅返回有关联错误事件的 Issue。"
          },
          "by_intersection": {
            "type": "boolean"
          }
        }
      },
      "RumIssueListResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RumIssueItem"
            }
          },
          "has_next_page": {
            "type": "boolean"
          },
          "total": {
            "type": "integer"
          }
        }
      },
      "RumIssueUpdateRequest": {
        "type": "object",
        "required": [
          "issue_id"
        ],
        "description": "更新 Issue 的参数。",
        "properties": {
          "issue_id": {
            "type": "string",
            "description": "要更新的 Issue ID。"
          },
          "status": {
            "type": "string",
            "enum": [
              "for_review",
              "reviewed",
              "ignored",
              "resolved"
            ],
            "description": "新状态。"
          },
          "suspected_cause": {
            "type": "string",
            "enum": [
              "api.failed_request",
              "network.error",
              "code.exception",
              "code.invalid_object_access",
              "code.invalid_argument",
              "unknown"
            ],
            "description": "疑似原因。"
          }
        }
      },
      "RumWebhookTestRequest": {
        "type": "object",
        "description": "发送 RUM 告警样例 Webhook 的参数。",
        "required": [
          "application_id",
          "webhook_url"
        ],
        "properties": {
          "application_id": {
            "type": "string",
            "description": "RUM 应用 ID。"
          },
          "webhook_url": {
            "type": "string",
            "format": "uri",
            "description": "接收样例告警事件的 Webhook URL。"
          }
        }
      },
      "RumWebhookTestResponse": {
        "type": "object",
        "description": "Webhook 测试投递结果。",
        "required": [
          "ok",
          "status_code",
          "message"
        ],
        "properties": {
          "ok": {
            "type": "boolean",
            "description": "Webhook 端点是否接受了样例事件。"
          },
          "status_code": {
            "type": "integer",
            "description": "Webhook 端点返回的 HTTP 状态码。未收到响应时为 0。"
          },
          "message": {
            "type": "string",
            "description": "成功时为 `ok`，失败时为投递错误信息。"
          }
        }
      },
      "SourcemapBinaryImage": {
        "type": "object",
        "description": "崩溃报告中的已加载 binary image。",
        "required": [
          "uuid",
          "name",
          "is_system"
        ],
        "properties": {
          "uuid": {
            "type": "string",
            "description": "标识 binary 或 dSYM 的 build UUID。"
          },
          "name": {
            "type": "string",
            "description": "Binary image 名称。"
          },
          "is_system": {
            "type": "boolean",
            "description": "是否为操作系统自带 binary。"
          },
          "load_address": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "integer",
                "format": "int64"
              }
            ],
            "description": "运行时地址。接受 `0x100000000` 这样的十六进制字符串，也接受十进制整数。"
          },
          "max_address": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "integer",
                "format": "int64"
              }
            ],
            "description": "运行时地址。接受 `0x100000000` 这样的十六进制字符串，也接受十进制整数。"
          },
          "arch": {
            "type": "string",
            "description": "该 binary image 的 CPU 架构。"
          }
        }
      },
      "SourcemapCodeSnippet": {
        "type": "object",
        "description": "enrich 后栈帧附近的一行源码。",
        "required": [
          "line",
          "code"
        ],
        "properties": {
          "line": {
            "type": "integer",
            "description": "源码行号。"
          },
          "code": {
            "type": "string",
            "description": "该行源码内容。"
          }
        }
      },
      "SourcemapEnrichedFrame": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SourcemapStackFrame"
          },
          {
            "type": "object",
            "required": [
              "converted"
            ],
            "properties": {
              "converted": {
                "type": "boolean",
                "description": "该栈帧是否成功符号化或反混淆。"
              },
              "code_snippets": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/SourcemapCodeSnippet"
                },
                "description": "该栈帧附近的源码片段。"
              },
              "original_frame": {
                "$ref": "#/components/schemas/SourcemapStackFrame"
              },
              "third_party": {
                "type": "boolean",
                "description": "该栈帧是否来自第三方或系统库。"
              }
            }
          }
        ]
      },
      "SourcemapItem": {
        "type": "object",
        "description": "单条已上传的 Sourcemap 记录。",
        "properties": {
          "key": {
            "type": "string",
            "description": "唯一标识该 Sourcemap 文件的存储键。"
          },
          "type": {
            "type": "string",
            "description": "平台类型：`browser`、`android` 或 `ios`。",
            "enum": [
              "browser",
              "android",
              "ios"
            ]
          },
          "service": {
            "type": "string",
            "description": "应用或服务名称。"
          },
          "version": {
            "type": "string",
            "description": "应用版本字符串。"
          },
          "size": {
            "type": "integer",
            "format": "int64",
            "description": "文件大小（字节）。"
          },
          "git_repository_url": {
            "type": "string",
            "description": "与此构建关联的 Git 仓库 URL。"
          },
          "git_commit_sha": {
            "type": "string",
            "description": "此构建的 Git commit SHA。"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "description": "上传时间，Unix 秒时间戳。"
          },
          "updated_at": {
            "type": "integer",
            "format": "int64",
            "description": "最后更新时间，Unix 秒时间戳。"
          },
          "metadata": {
            "type": "object",
            "description": "附加在 sourcemap 上的自由格式键值元数据。具体结构取决于上传客户端，常见键包括 `git_repository_url` 和 `git_commit_sha`（这两个字段同时也会提升为顶层字段）。",
            "additionalProperties": true
          }
        }
      },
      "SourcemapListRequest": {
        "type": "object",
        "description": "Sourcemap 列表的分页过滤条件。",
        "required": [
          "start_time",
          "end_time"
        ],
        "properties": {
          "start_time": {
            "type": "integer",
            "format": "int64",
            "description": "上传时间范围起始，Unix 毫秒时间戳。需大于 0 且小于 `end_time`。"
          },
          "end_time": {
            "type": "integer",
            "format": "int64",
            "description": "上传时间范围结束，Unix 毫秒时间戳。最大时间跨度 365 天。"
          },
          "type": {
            "type": "string",
            "description": "平台类型。省略时默认为 `browser`。",
            "enum": [
              "browser",
              "android",
              "ios"
            ]
          },
          "services": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "按服务名称过滤，最多 100 个值。"
          },
          "versions": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "按版本字符串过滤，最多 100 个值。"
          },
          "query": {
            "type": "string",
            "description": "对 minified URL（browser）或 build_id（android）做子串匹配。最多 200 个字符。"
          },
          "build_id": {
            "type": "string",
            "description": "仅 Android。按 Gradle 插件构建标识过滤。最多 200 个字符。"
          },
          "uuid": {
            "type": "string",
            "description": "仅 iOS。按 dSYM bundle UUID 过滤。最多 200 个字符。"
          },
          "p": {
            "type": "integer",
            "description": "页码，从 1 开始。",
            "minimum": 1,
            "default": 1,
            "example": 1
          },
          "limit": {
            "type": "integer",
            "description": "每页条数，最大 100，默认 20。",
            "maximum": 100,
            "default": 20,
            "example": 20
          },
          "orderby": {
            "type": "string",
            "description": "排序字段。",
            "enum": [
              "created_at",
              "updated_at"
            ]
          },
          "asc": {
            "type": "boolean",
            "description": "升序排序。默认 false（降序）。",
            "default": false
          }
        }
      },
      "SourcemapListResponse": {
        "type": "object",
        "description": "Sourcemap 记录的分页列表。",
        "required": [
          "total",
          "items"
        ],
        "properties": {
          "total": {
            "type": "integer",
            "format": "int64",
            "description": "匹配记录总数。",
            "example": 3
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SourcemapItem"
            }
          }
        }
      },
      "SourcemapStackEnrichRequest": {
        "type": "object",
        "description": "错误栈 enrich 请求。",
        "required": [
          "service",
          "version"
        ],
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "browser",
              "android",
              "ios",
              "miniprogram",
              "harmony"
            ],
            "description": "来源平台。省略时默认按 `browser` 处理。"
          },
          "service": {
            "type": "string",
            "description": "上传 Sourcemap 时使用的应用或服务名称。"
          },
          "version": {
            "type": "string",
            "description": "上传 Sourcemap 时使用的应用版本。"
          },
          "stack": {
            "type": "string",
            "description": "待解析和 enrich 的原始错误栈。"
          },
          "near": {
            "type": "integer",
            "minimum": 1,
            "maximum": 20,
            "description": "在转换后的栈帧附近返回的有效源码行数。"
          },
          "no_cache": {
            "type": "boolean",
            "description": "跳过缓存的 enrich 结果，主要用于调试。"
          },
          "build_id": {
            "type": "string",
            "description": "Gradle 插件 1.13.0 及以后版本使用的 Android build ID。"
          },
          "variant": {
            "type": "string",
            "description": "旧版 Gradle 插件使用的 Android build variant。"
          },
          "arch": {
            "type": "string",
            "description": "Android NDK 架构，例如 `arm`、`arm64`、`x86` 或 `x64`。"
          },
          "source_type": {
            "type": "string",
            "description": "Android 错误来源类型；native 符号化时配合 `arch` 传入 `ndk`。"
          },
          "binary_images": {
            "type": "array",
            "description": "iOS 崩溃报告中的已加载 binary image 列表。",
            "items": {
              "$ref": "#/components/schemas/SourcemapBinaryImage"
            }
          }
        }
      },
      "SourcemapStackEnrichResponse": {
        "type": "object",
        "description": "enrich 后的错误栈帧。",
        "required": [
          "frames"
        ],
        "properties": {
          "frames": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SourcemapEnrichedFrame"
            }
          }
        }
      },
      "SourcemapStackFrame": {
        "type": "object",
        "description": "跨平台通用的已解析栈帧字段。",
        "properties": {
          "function": {
            "type": "string",
            "description": "函数或方法名称。"
          },
          "file": {
            "type": "string",
            "description": "源文件、URL 或模块路径。"
          },
          "line": {
            "type": "integer",
            "description": "行号。"
          },
          "column": {
            "type": "integer",
            "description": "JavaScript 或 Flutter 栈帧中的列号。"
          },
          "class_name": {
            "type": "string",
            "description": "Android Java/Kotlin 类名。"
          },
          "method_name": {
            "type": "string",
            "description": "不带类名前缀的 Android Java/Kotlin 方法名。"
          },
          "module": {
            "type": "string",
            "description": "iOS Swift/Objective-C 模块名。"
          },
          "address": {
            "type": "string",
            "description": "iOS 或 native 内存地址。"
          },
          "offset": {
            "type": "integer",
            "description": "相对函数起始位置的符号偏移。"
          },
          "native_address": {
            "type": "string",
            "description": "Unity IL native 地址。"
          }
        }
      },
      "SuccessEnvelope": {
        "type": "object",
        "description": "成功响应结构。2xx 响应中 `request_id` 标识本次调用（同时出现在 `Flashcat-Request-Id` 响应头中），`data` 为接口业务 payload。失败响应使用不同结构，参见 `ErrorResponse`。",
        "properties": {
          "request_id": {
            "type": "string",
            "description": "本次请求的唯一 ID，也会在 Flashcat-Request-Id 响应头中返回。反馈问题时请一并附上。",
            "example": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4"
          },
          "data": {
            "description": "每个接口自己的业务 payload，详见各接口的 200 响应 schema。"
          }
        },
        "required": [
          "request_id",
          "data"
        ]
      }
    }
  }
}