{
  "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": "On-call/故障管理",
      "description": ""
    },
    {
      "name": "On-call/协作空间",
      "description": ""
    },
    {
      "name": "On-call/告警管理",
      "description": "查询、查看和处理告警，管理卡片视图与告警处理规则。"
    },
    {
      "name": "On-call/集成中心",
      "description": ""
    },
    {
      "name": "On-call/IM 集成",
      "description": "IM 集成相关查询，例如查看哪些集成开启了作战室。"
    },
    {
      "name": "On-call/值班排班",
      "description": ""
    },
    {
      "name": "On-call/许可管理",
      "description": ""
    },
    {
      "name": "On-call/日历管理",
      "description": ""
    },
    {
      "name": "On-call/通知模板",
      "description": ""
    },
    {
      "name": "On-call/标签增强",
      "description": "自定义字段、富化规则及数据映射（映射规则、映射数据、映射 API）管理。"
    },
    {
      "name": "On-call/分析看板",
      "description": ""
    },
    {
      "name": "On-call/状态页",
      "description": ""
    },
    {
      "name": "On-call/变更管理",
      "description": ""
    }
  ],
  "paths": {
    "/channel/inhibit/rule/delete": {
      "post": {
        "operationId": "channelInhibitRuleDelete",
        "summary": "删除抑制策略",
        "description": "删除抑制策略。仅 `disabled` 状态的策略可删除。",
        "tags": [
          "On-call/协作空间"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **协作空间管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/channels/channel-inhibit-rule-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/ChannelRuleIDRequest"
              },
              "example": {
                "channel_id": 3521074710131,
                "rule_id": "6621b23f4a2c5e0012ab34cd"
              }
            }
          }
        }
      }
    },
    "/integration/type/list": {
      "post": {
        "operationId": "integration-api-read-type-list",
        "summary": "查询集成类型列表",
        "description": "查询当前账户可配置的集成类型列表。",
        "tags": [
          "On-call/集成中心"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **集成中心查看**（`on-call`） |\n\n## 使用说明\n\n- 不传 `orderby` 时按控制台排序返回，此时 `p`/`limit` 依然生效。\n- `supports_api_create` 表示该类型能否通过 `POST /integration/create` 创建。",
          "href": "/zh/api-reference/on-call/integrations/integration-api-read-type-list",
          "metadata": {
            "sidebarTitle": "查询集成类型列表"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/ListIntegrationTypesResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "p": 1,
                    "limit": 20,
                    "total": 2,
                    "items": [
                      {
                        "plugin_type": "standard.alert",
                        "plugin_type_name": "Standard Alert",
                        "plugin_type_logo_url": "https://cdn.flashcat.cloud/plugin/standard-alert.svg",
                        "category": "event.alert",
                        "status": "enabled",
                        "supports_api_create": true
                      },
                      {
                        "plugin_type": "jira.change",
                        "plugin_type_name": "Jira",
                        "plugin_type_logo_url": "https://cdn.flashcat.cloud/plugin/jira.svg",
                        "category": "event.change",
                        "status": "enabled",
                        "supports_api_create": 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/IntegrationTypeListRequest"
              },
              "example": {
                "p": 1,
                "limit": 20,
                "category": "event.alert"
              }
            }
          }
        }
      }
    },
    "/integration/list": {
      "post": {
        "operationId": "integration-api-read-list",
        "summary": "查询集成列表",
        "description": "查询公共集成列表，返回存储配置、解密 Key 与当前调用者的编辑权限。",
        "tags": [
          "On-call/集成中心"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **集成中心查看**（`on-call`） |\n\n## 使用说明\n\n- `orderby` 默认 `created_at`；`plugin_type` 按底层插件排序。\n- `plugin_type`、`status`、`category` 支持逗号分隔多值；`ref_ids` 每个值必须以 `c_`、`a_` 或 `w_` 开头；`c_` 过滤值通过格式校验，但不会返回协作空间专属集成。\n- 传入 `is_my_team` 时仅返回你所在团队的集成，`team_ids` 会在该范围内进一步收窄。\n- 这些接口仅管理公共（账户级）集成，不管理协作空间专属集成。\n- 列表项包含 `settings`、`integration_key`、`plugin_id`、`account_id` 及旧 ID 别名 `data_source_id`。`settings` 中已保存的密钥类值返回 `******`，`integration_key` 按原值返回。",
          "href": "/zh/api-reference/on-call/integrations/integration-api-read-list",
          "metadata": {
            "sidebarTitle": "查询集成列表"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/ListIntegrationsResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "p": 1,
                    "limit": 20,
                    "total": 1,
                    "items": [
                      {
                        "integration_id": 6113996590131,
                        "team_id": 1467226103121,
                        "plugin_type": "standard.alert",
                        "plugin_type_name": "Standard Alert",
                        "category": "event.alert",
                        "name": "Prod metrics alerts",
                        "description": "Alerts pushed by the production Prometheus stack",
                        "status": "enabled",
                        "ref_id": "a_100",
                        "created_at": 1775116800,
                        "updated_at": 1775203200,
                        "last_time": 1775298600,
                        "editable": true,
                        "creator_id": 1467226103999,
                        "updated_by": 1467226103999,
                        "no_editable": false,
                        "plugin_id": 9,
                        "integration_key": "0123456789abcdef0123456789abcdef100",
                        "settings": {
                          "field_mapping": {},
                          "value_mapping": {}
                        },
                        "data_source_id": 6113996590131,
                        "account_id": 100,
                        "exclusive_data_source_id": 0
                      }
                    ]
                  }
                }
              }
            }
          },
          "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/ListIntegrationsRequest"
              },
              "example": {
                "p": 1,
                "limit": 20,
                "status": "enabled"
              }
            }
          }
        }
      }
    },
    "/integration/info": {
      "post": {
        "operationId": "integration-api-read-info",
        "summary": "查询集成详情",
        "description": "查询单个公共集成详情，返回存储配置及解密后的集成 Key。",
        "tags": [
          "On-call/集成中心"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **集成中心查看**（`on-call`） |\n\n## 使用说明\n\n- 这些接口仅管理公共（账户级）集成，不管理协作空间专属集成。\n- `settings` 中已保存的密钥类值返回 `******`，未设置的保持为空；集成 Key 按原值返回。",
          "href": "/zh/api-reference/on-call/integrations/integration-api-read-info",
          "metadata": {
            "sidebarTitle": "查询集成详情"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/IntegrationDetail"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "integration_id": 6113996590131,
                    "team_id": 1467226103121,
                    "plugin_type": "standard.alert",
                    "plugin_type_name": "Standard Alert",
                    "category": "event.alert",
                    "name": "Prod metrics alerts",
                    "description": "Alerts pushed by the production Prometheus stack",
                    "status": "enabled",
                    "ref_id": "a_100",
                    "created_at": 1775116800,
                    "updated_at": 1775203200,
                    "last_time": 1775298600,
                    "settings": {
                      "field_mapping": {},
                      "value_mapping": {}
                    },
                    "editable": true,
                    "creator_id": 1467226103999,
                    "updated_by": 1467226103999,
                    "no_editable": false,
                    "plugin_id": 9,
                    "integration_key": "0123456789abcdef0123456789abcdef100"
                  }
                }
              }
            }
          },
          "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/GetIntegrationRequest"
              },
              "example": {
                "integration_id": 6113996590131
              }
            }
          }
        }
      }
    },
    "/integration/create": {
      "post": {
        "operationId": "integration-api-write-create",
        "summary": "创建集成",
        "description": "创建支持的告警源、变更源、IM 或 Webhook 类型公共集成。",
        "tags": [
          "On-call/集成中心"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **300 次/分钟**；**20 次/秒** |\n| 权限要求 | **集成中心管理**（`on-call`） |\n\n## 使用说明\n\n- `plugin_type` 必须是 `POST /integration/type/list` 中 `supports_api_create: true` 的类型，否则返回 `InvalidParameter`。\n- 这些接口仅管理公共（账户级）集成，不管理协作空间专属集成。\n- 不传 `integration_key` 时自动生成；传入时须满足长度、账户后缀与唯一性校验。\n- 传 `is_test: true` 时请检查 `test.success`，不能只根据 HTTP 200 判断插件测试成功。\n- 每次调用都会记录到账户审计日志。",
          "href": "/zh/api-reference/on-call/integrations/integration-api-write-create",
          "metadata": {
            "sidebarTitle": "创建集成"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/CreateIntegrationResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "integration_id": 6113996590131,
                    "integration_key": "0123456789abcdef0123456789abcdef100",
                    "test": {
                      "success": true,
                      "message": ""
                    }
                  }
                }
              }
            }
          },
          "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/CreateIntegrationRequest"
              },
              "example": {
                "plugin_type": "standard.alert",
                "name": "Prod metrics alerts",
                "description": "Alerts pushed by the production Prometheus stack",
                "team_id": 1467226103121,
                "settings": {
                  "field_mapping": {},
                  "value_mapping": {}
                },
                "is_test": true
              }
            }
          }
        }
      }
    },
    "/integration/update": {
      "post": {
        "operationId": "integration-api-write-update",
        "summary": "更新集成",
        "description": "更新集成的名称、描述、所属团队或配置。",
        "tags": [
          "On-call/集成中心"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **300 次/分钟**；**20 次/秒** |\n| 权限要求 | **集成中心管理**（`on-call`） |\n\n## 使用说明\n\n- 仅发送的字段会被修改，未发送的字段保持原值。\n- 提交 `settings` 会替换配置；已识别的敏感字段不传或传 `******` 时保留原值。保留已存密钥的同时修改它的发送目标（如 `endpoint`、`url`、数据库主机或端口、IM 接口地址）会被拒绝，需要随新目标重新填写密钥；没有已存值的字段传 `******` 也会被拒绝。清空 Headers 请传 `headers: {}`；清空 Body 请使用该集成类型的显式空值。\n- 同时提交 `settings` 与 `is_test: true` 可获得插件测试结果，返回的 settings 中密钥同样返回 `******`。\n- 这些接口仅管理公共（账户级）集成，不管理协作空间专属集成。\n- 写操作还需对象权限：主体账户、管理员、创建者或所属团队成员可操作；未设置团队时，拥有集成中心管理权限的成员可操作，只读集成不可修改。\n- 每次调用都会记录到账户审计日志。",
          "href": "/zh/api-reference/on-call/integrations/integration-api-write-update",
          "metadata": {
            "sidebarTitle": "更新集成"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/IntegrationDetail"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "integration_id": 6113996590131,
                    "team_id": 1467226103121,
                    "plugin_type": "standard.alert",
                    "plugin_type_name": "Standard Alert",
                    "category": "event.alert",
                    "name": "Prod metrics alerts (primary)",
                    "description": "Alerts pushed by the production Prometheus stack",
                    "status": "enabled",
                    "ref_id": "a_100",
                    "created_at": 1775116800,
                    "updated_at": 1775298600,
                    "last_time": 1775298600,
                    "settings": {
                      "field_mapping": {},
                      "value_mapping": {}
                    },
                    "editable": true,
                    "creator_id": 1467226103999,
                    "updated_by": 1467226103999,
                    "no_editable": false,
                    "plugin_id": 9,
                    "integration_key": "0123456789abcdef0123456789abcdef100",
                    "test": {
                      "success": true,
                      "message": ""
                    }
                  }
                }
              }
            }
          },
          "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/UpdateIntegrationRequest"
              },
              "example": {
                "integration_id": 6113996590131,
                "name": "Prod metrics alerts (primary)",
                "team_id": 1467226103121,
                "settings": {
                  "field_mapping": {},
                  "value_mapping": {}
                },
                "is_test": true
              }
            }
          }
        }
      }
    },
    "/integration/delete": {
      "post": {
        "operationId": "integration-api-write-delete",
        "summary": "删除集成",
        "description": "删除指定的集成。",
        "tags": [
          "On-call/集成中心"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **300 次/分钟**；**20 次/秒** |\n| 权限要求 | **集成中心管理**（`on-call`） |\n\n## 使用说明\n\n- 若该集成仍被其他对象引用，删除会返回 HTTP 400，`error.code` 为 `ReferenceExist`，`data.refs` 列出引用方。\n- 每次调用都会记录到账户审计日志。\n- 这些接口仅管理公共（账户级）集成，不管理协作空间专属集成。\n- 写操作还需对象权限：主体账户、管理员、创建者或所属团队成员可操作；未设置团队时，拥有集成中心管理权限的成员可操作，只读集成不可修改。",
          "href": "/zh/api-reference/on-call/integrations/integration-api-write-delete",
          "metadata": {
            "sidebarTitle": "删除集成"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/EmptyObject"
                        }
                      }
                    }
                  ]
                },
                "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/IntegrationLifecycleRequest"
              },
              "example": {
                "integration_id": 6113996590131
              }
            }
          }
        }
      }
    },
    "/integration/enable": {
      "post": {
        "operationId": "integration-api-write-enable",
        "summary": "启用集成",
        "description": "重新启用已禁用的集成，恢复接收事件。",
        "tags": [
          "On-call/集成中心"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **300 次/分钟**；**20 次/秒** |\n| 权限要求 | **集成中心管理**（`on-call`） |\n\n## 使用说明\n\n- 启用会恢复该集成的拉取任务与心跳，并要求当前套餐包含该集成类型。\n- 每次调用都会记录到账户审计日志。\n- 这些接口仅管理公共（账户级）集成，不管理协作空间专属集成。\n- 写操作还需对象权限：主体账户、管理员、创建者或所属团队成员可操作；未设置团队时，拥有集成中心管理权限的成员可操作，只读集成不可修改。",
          "href": "/zh/api-reference/on-call/integrations/integration-api-write-enable",
          "metadata": {
            "sidebarTitle": "启用集成"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/EmptyObject"
                        }
                      }
                    }
                  ]
                },
                "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/IntegrationLifecycleRequest"
              },
              "example": {
                "integration_id": 6113996590131
              }
            }
          }
        }
      }
    },
    "/integration/disable": {
      "post": {
        "operationId": "integration-api-write-disable",
        "summary": "禁用集成",
        "description": "禁用集成，但保留其配置。",
        "tags": [
          "On-call/集成中心"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **300 次/分钟**；**20 次/秒** |\n| 权限要求 | **集成中心管理**（`on-call`） |\n\n## 使用说明\n\n- 禁用后停止接收事件并暂停定时拉取任务，配置保留，可再次启用。\n- 每次调用都会记录到账户审计日志。\n- 这些接口仅管理公共（账户级）集成，不管理协作空间专属集成。\n- 写操作还需对象权限：主体账户、管理员、创建者或所属团队成员可操作；未设置团队时，拥有集成中心管理权限的成员可操作，只读集成不可修改。",
          "href": "/zh/api-reference/on-call/integrations/integration-api-write-disable",
          "metadata": {
            "sidebarTitle": "禁用集成"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/EmptyObject"
                        }
                      }
                    }
                  ]
                },
                "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/IntegrationLifecycleRequest"
              },
              "example": {
                "integration_id": 6113996590131
              }
            }
          }
        }
      }
    },
    "/integration/key/rotate": {
      "post": {
        "operationId": "integration-api-write-rotate-key",
        "summary": "轮换集成 Key",
        "description": "生成新的集成 Key，并使旧 Key 立即失效。",
        "tags": [
          "On-call/集成中心"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **300 次/分钟**；**20 次/秒** |\n| 权限要求 | **集成中心管理**（`on-call`） |\n\n## 使用说明\n\n- 旧 Key 会立即失效；轮换后请将推送端配置更新为新 Key。\n- 新 Key 也可通过 `/integration/list` 和 `/integration/info` 查询。\n- 这些接口仅管理公共（账户级）集成，不管理协作空间专属集成。\n- 写操作还需对象权限：主体账户、管理员、创建者或所属团队成员可操作；未设置团队时，拥有集成中心管理权限的成员可操作，只读集成不可修改。\n- 每次调用都会记录到账户审计日志。",
          "href": "/zh/api-reference/on-call/integrations/integration-api-write-rotate-key",
          "metadata": {
            "sidebarTitle": "轮换集成 Key"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/RotateIntegrationKeyResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "integration_key": "0123456789abcdef0123456789abcdef100"
                  }
                }
              }
            }
          },
          "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/IntegrationLifecycleRequest"
              },
              "example": {
                "integration_id": 6113996590131
              }
            }
          }
        }
      }
    },
    "/enrichment/mapping/data/truncate": {
      "post": {
        "operationId": "mapping-data-write-truncate",
        "summary": "清空映射数据",
        "description": "删除指定映射规则的全部数据行。",
        "tags": [
          "On-call/标签增强"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **映射数据管理**（`on-call`） |\n\n## 使用说明\n\n- 此操作不可逆，将删除映射规则中的所有数据。\n- 本接口为高危操作。控制台 JWT 调用需二次验证码；`app_key` 调用跳过 MFA 但仍会被完整记录，请妥善保管 app_key。",
          "href": "/zh/api-reference/on-call/alert-enrichment/mapping-data-write-truncate",
          "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/MappingSchemaIDRequest"
              },
              "example": {
                "schema_id": "665f1a2b3c4d5e6f7a8b9c01"
              }
            }
          }
        }
      }
    },
    "/enrichment/mapping/api/info": {
      "post": {
        "operationId": "mapping-api-read-info",
        "summary": "查看映射 API 详情",
        "description": "根据映射 API ID 返回单个映射 API 的详细信息。",
        "tags": [
          "On-call/标签增强"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | 无 —— 持有有效的 `app_key` 即可调用 |\n\n## 使用说明\n\n- 映射 API 不存在时返回 `null`。",
          "href": "/zh/api-reference/on-call/alert-enrichment/mapping-api-read-info",
          "metadata": {
            "sidebarTitle": "查看映射 API 详情"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/MappingAPIItem"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "api_id": "665f1a2b3c4d5e6f7a8b9c02",
                    "api_name": "CMDB API",
                    "url": "https://cmdb.example.com/api/lookup",
                    "timeout": 2,
                    "retry_count": 1,
                    "insecure_skip_verify": false,
                    "status": "enabled",
                    "creator_id": 80011,
                    "created_at": 1710000000,
                    "updated_at": 1710000000
                  }
                }
              }
            }
          },
          "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/MappingAPIIDRequest"
              },
              "example": {
                "api_id": "665f1a2b3c4d5e6f7a8b9c02"
              }
            }
          }
        }
      }
    },
    "/status-page/migration/status": {
      "get": {
        "operationId": "statusPageMigrationStatus",
        "summary": "获取迁移状态",
        "description": "获取状态页迁移任务的当前状态和进度。",
        "tags": [
          "On-call/状态页"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | 无 —— 持有有效的 `app_key` 即可调用 |",
          "href": "/zh/api-reference/on-call/status-pages/status-page-migration-status",
          "metadata": {
            "sidebarTitle": "获取迁移状态"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/StatusPageMigrationJob"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "job_id": "01KP0311872NVYFRRQ82FW0001",
                    "account_id": 2451002751131,
                    "source_page_id": "abcdefghij",
                    "target_page_id": 5750613685214,
                    "phase": "history",
                    "status": "completed",
                    "progress": {
                      "total_steps": 5,
                      "completed_steps": 5,
                      "components_imported": 8,
                      "sections_imported": 3,
                      "incidents_imported": 12,
                      "maintenances_imported": 2,
                      "subscribers_imported": 0,
                      "templates_imported": 0,
                      "subscribers_skipped": 0
                    },
                    "created_at": 1766736878,
                    "updated_at": 1766740000
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "parameters": [
          {
            "name": "job_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "由 `migrate-structure` 或 `migrate-email-subscribers` 返回的迁移任务 ID。"
          }
        ]
      }
    },
    "/channel/escalate/rule/info": {
      "post": {
        "operationId": "channelEscalateRuleInfo",
        "summary": "获取分派策略详情",
        "description": "获取指定分派策略的详细信息。",
        "tags": [
          "On-call/协作空间"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **协作空间查看**（`on-call`） |",
          "href": "/zh/api-reference/on-call/channels/channel-escalate-rule-info",
          "metadata": {
            "sidebarTitle": "获取分派策略详情"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/EscalateRuleItem"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "account_id": 2451002751131,
                    "channel_id": 6193426913131,
                    "priority": 0,
                    "aggr_window": 0,
                    "rule_name": "Default",
                    "description": "",
                    "layers": [
                      {
                        "max_times": 1,
                        "notify_step": 10,
                        "target": {
                          "person_ids": [
                            3790925372131
                          ],
                          "by": {
                            "follow_preference": true
                          },
                          "webhooks": null
                        },
                        "escalate_window": 30,
                        "force_escalate": false
                      }
                    ],
                    "time_filters": [],
                    "filters": [],
                    "status": "enabled",
                    "template_id": "6321aad26c12104586a88916",
                    "rule_id": "69bd0ce95a238693176c1d66",
                    "updated_by": 3790925372131,
                    "created_at": 1773997289,
                    "updated_at": 1773997289
                  }
                }
              }
            }
          },
          "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/ChannelRuleIDRequest"
              },
              "example": {
                "channel_id": 1001,
                "rule_id": "6621b23f4a2c5e0012ab34d0"
              }
            }
          }
        }
      }
    },
    "/enrichment/mapping/data/list": {
      "post": {
        "operationId": "mapping-data-read-list",
        "summary": "查询映射数据列表",
        "description": "分页返回指定映射规则的数据行，可按来源标签值进行精确过滤。",
        "tags": [
          "On-call/标签增强"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **集成中心查看**（`on-call`） 或 **集成中心管理**（`on-call`） 或 **映射数据查看**（`on-call`） 或 **映射数据管理**（`on-call`） |\n\n## 使用说明\n\n- 若提供 `query`，须包含全部来源标签——不支持部分来源标签查询。\n- 支持游标分页（`search_after_ctx`）或页码分页（`p`、`limit`）。`limit` 默认 20，最大 100。\n- 响应中的 `search_after_ctx` 可用于获取下一页。",
          "href": "/zh/api-reference/on-call/alert-enrichment/mapping-data-read-list",
          "metadata": {
            "sidebarTitle": "查询映射数据列表"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/MappingDataListResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "items": [
                      {
                        "key": "server01",
                        "fields": {
                          "host": "server01",
                          "owner": "alice",
                          "team": "sre",
                          "service": "api"
                        },
                        "created_at": 1710000000,
                        "updated_at": 1710000000
                      }
                    ],
                    "total": 1,
                    "has_next_page": false
                  }
                }
              }
            }
          },
          "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/MappingDataListRequest"
              },
              "example": {
                "schema_id": "665f1a2b3c4d5e6f7a8b9c01",
                "orderby": "updated_at",
                "asc": false,
                "p": 1,
                "limit": 20
              }
            }
          }
        }
      }
    },
    "/incident/past/list": {
      "post": {
        "operationId": "incidentPastList",
        "summary": "查询历史相似故障",
        "description": "查询与当前故障相关的历史故障列表，用于参考排查。",
        "tags": [
          "On-call/故障管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **100 次/分钟**；**20 次/秒** |\n| 权限要求 | **故障查看**（`on-call`） |",
          "href": "/zh/api-reference/on-call/incidents/incident-past-list",
          "metadata": {
            "sidebarTitle": "查询历史相似故障"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/ListPastIncidentsResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "items": []
                  }
                }
              }
            }
          },
          "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/ListPastIncidentsRequest"
              },
              "example": {
                "incident_id": "69da451ef77b1b51f40e83ee",
                "limit": 5
              }
            }
          }
        }
      }
    },
    "/incident/snooze": {
      "post": {
        "operationId": "incidentSnooze",
        "summary": "暂停故障通知",
        "description": "暂时屏蔽故障通知直到指定时间。",
        "tags": [
          "On-call/故障管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **故障管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/incidents/incident-snooze",
          "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/SnoozeIncidentRequest"
              },
              "example": {
                "incident_ids": [
                  "69da451ef77b1b51f40e83ee"
                ],
                "minutes": 60
              }
            }
          }
        }
      }
    },
    "/status-page/subscriber/export": {
      "post": {
        "operationId": "statusPageSubscriberExport",
        "summary": "导出订阅者",
        "description": "以 CSV 附件形式导出状态页的订阅者列表。响应为 `text/csv` 文件，包含列：Method、Recipient、Components、Subscribe All、Locale。",
        "tags": [
          "On-call/状态页"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **100 次/天**；**20 次/分钟**；**10 次/秒** |\n| 权限要求 | **状态页面管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/status-pages/status-page-subscriber-export",
          "metadata": {
            "sidebarTitle": "导出订阅者"
          }
        },
        "responses": {
          "200": {
            "description": "成功。CSV 附件，非 JSON 信封。",
            "content": {
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/StatusPageSubscriberExportResponse"
                },
                "example": "Method,Recipient,Components,Subscribe All,Locale\nemail,alice@example.com,,Yes,zh-CN\nemail,bob@example.com,\"Core Services › API\",No,en-US"
              }
            }
          },
          "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/ExportStatusPageSubscribersRequest"
              },
              "example": {
                "page_id": 5750613685214
              }
            }
          }
        }
      }
    },
    "/insight/team": {
      "post": {
        "operationId": "insightByTeam",
        "summary": "查看团队洞察",
        "description": "返回按团队聚合的洞察指标。",
        "tags": [
          "On-call/分析看板"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **分析看板查看**（`on-call`） |",
          "href": "/zh/api-reference/on-call/analytics/insight-by-team",
          "metadata": {
            "sidebarTitle": "查看团队洞察"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/DimensionInsightResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "items": [
                      {
                        "ts": 1740844800,
                        "team_id": 4295771902131,
                        "team_name": "SRE Team",
                        "total_incident_cnt": 2,
                        "total_incidents_acknowledged": 2,
                        "total_incidents_closed": 2,
                        "total_incidents_auto_closed": 0,
                        "total_incidents_manually_closed": 2,
                        "total_incidents_timeout_closed": 0,
                        "total_incidents_escalated": 0,
                        "total_incidents_manually_escalated": 0,
                        "total_incidents_timeout_escalated": 0,
                        "total_incidents_reassigned": 2,
                        "total_interruptions": 3,
                        "total_notifications": 6,
                        "total_engaged_seconds": 3317709,
                        "total_seconds_to_ack": 3317709,
                        "total_seconds_to_close": 3749514,
                        "mean_seconds_to_ack": 1658854.5,
                        "mean_seconds_to_close": 1874757,
                        "noise_reduction_pct": 0,
                        "acknowledgement_pct": 100,
                        "total_alert_cnt": 0,
                        "total_alert_event_cnt": 0
                      }
                    ]
                  }
                }
              }
            }
          },
          "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/InsightQueryRequest"
              },
              "example": {
                "start_time": 1712000000,
                "end_time": 1712604800,
                "team_ids": [
                  4295771902131
                ],
                "aggregate_unit": "day"
              }
            }
          }
        }
      }
    },
    "/insight/channel/export": {
      "post": {
        "operationId": "insightChannelExport",
        "summary": "导出协作空间洞察",
        "description": "将协作空间维度洞察指标导出为 CSV 文件——每行一个协作空间（使用 `aggregate_unit`/`split_hours` 时按时间桶/小时桶拆分）。响应为 CSV 字节流（`Content-Disposition: attachment`），不是 JSON 响应包。`time_zone` 缺省为 UTC。无有效协作空间 ID 的行会被跳过。可用的 `export_fields` key：channel_id, channel_name, total_incident_cnt, total_incidents_acknowledged, total_incidents_closed, total_incidents_auto_closed, total_incidents_manually_closed, total_incidents_timeout_closed, total_incidents_escalated, total_incidents_manually_escalated, total_incidents_timeout_escalated, total_incidents_reassigned, total_interruptions, total_notifications, total_engaged_seconds, mean_seconds_to_ack, mean_seconds_to_close, noise_reduction_pct, acknowledgement_pct, total_alert_cnt, total_alert_event_cnt, hours。`hours` 列仅在 `split_hours` 为 true 时默认包含。为兼容起见，故障导出列的 key 也可传入，但导出为空列。",
        "tags": [
          "On-call/分析看板"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **100 次/天**；**20 次/分钟**；**10 次/秒** |\n| 权限要求 | **分析看板查看**（`on-call`） |",
          "href": "/zh/api-reference/on-call/analytics/insight-channel-export",
          "metadata": {
            "sidebarTitle": "导出协作空间洞察"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary",
                  "description": "CSV 字节流（`Content-Type: application/octet-stream`，`Content-Disposition: attachment; filename=channel_export_yyyyMMdd_HHmmss.csv`）。首行为本地化列名。列默认为完整字段集，或由 `export_fields` 指定。"
                },
                "example": "channel_id,channel_name,total_incident_cnt,total_incidents_closed\n4321322010131,Production Alerts,12,10\n"
              }
            }
          },
          "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/InsightQueryRequest"
              },
              "example": {
                "start_time": 1712000000,
                "end_time": 1712604800,
                "channel_ids": [
                  4321322010131
                ],
                "severities": [
                  "Critical",
                  "Warning"
                ]
              }
            }
          }
        }
      }
    },
    "/alert/pipeline/upsert": {
      "post": {
        "operationId": "alert-write-pipeline-upsert",
        "summary": "创建或更新告警处理规则",
        "description": "为集成设置告警处理规则，将完全替换已有配置。",
        "tags": [
          "On-call/告警管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **集成中心管理**（`on-call`） |\n\n## 使用说明\n\n- 每条处理规则最多 50 条规则。\n- 每条规则包含 `kind`（`title_reset`、`description_reset`、`severity_reset`、`alert_drop`、`alert_inhibit` 之一）、可选的 `if` 过滤器，以及与 kind 对应的 `settings`。\n- `alert_inhibit` 类型需要 Standard 及以上许可证。\n- 每次调用都会记录到账户审计日志，请不要把敏感信息放在请求字段中。",
          "href": "/zh/api-reference/on-call/alerts/alert-write-pipeline-upsert",
          "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": null
                }
              }
            }
          },
          "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/AlertPipelineUpsertRequest"
              },
              "example": {
                "integration_id": 10001,
                "rules": [
                  {
                    "kind": "title_reset",
                    "if": [
                      {
                        "key": "labels.env",
                        "oper": "IN",
                        "vals": [
                          "prod"
                        ]
                      }
                    ],
                    "settings": {
                      "title": "[TPL]{{.Labels.service}} / {{.Labels.check}}"
                    }
                  },
                  {
                    "kind": "severity_reset",
                    "if": null,
                    "settings": {
                      "severity": "Warning"
                    }
                  }
                ]
              }
            }
          }
        }
      }
    },
    "/status-page/change/info": {
      "get": {
        "operationId": "statusPageChangeInfo",
        "summary": "获取状态页事件详情",
        "description": "获取状态页指定事件（故障或维护）的详细信息。",
        "tags": [
          "On-call/状态页"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | 无 —— 持有有效的 `app_key` 即可调用 |",
          "href": "/zh/api-reference/on-call/status-pages/status-page-change-info",
          "metadata": {
            "sidebarTitle": "获取状态页事件详情"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/StatusPageChangeItem"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "change_id": 5821693893131,
                    "page_id": 5750613685214,
                    "type": "incident",
                    "title": "Web Console Degraded Performance",
                    "description": "The issue has been resolved, and all services are operating normally.\n\nThank you for your patience.",
                    "status": "resolved",
                    "affected_components": [
                      {
                        "component_id": "01KC3GAZ6ZJE40H55GM31RPWZE",
                        "section_id": "01KC3FKKX5TSVG6Z3X1QNGF6V2",
                        "name": "Web Console",
                        "available_since_seconds": 1765349358,
                        "order_id": 1,
                        "status": "operational"
                      }
                    ],
                    "start_at_seconds": 1766736878,
                    "close_at_seconds": 1775529742,
                    "updates": [
                      {
                        "update_id": "01KDCVJQ88SZPHWPTDV2Z2AZW8",
                        "at_seconds": 1766736876,
                        "status": "investigating",
                        "description": "We are currently investigating an issue affecting some services.",
                        "component_changes": [
                          {
                            "component_id": "01KC3GAZ6ZJE40H55GM31RPWZE",
                            "component_name": "Web Console",
                            "status": "degraded"
                          }
                        ]
                      },
                      {
                        "update_id": "01KNJX3KW873ZZSRZC14SGFYS3",
                        "at_seconds": 1775529742,
                        "status": "resolved",
                        "description": "The issue has been resolved, and all services are operating normally.",
                        "component_changes": [
                          {
                            "component_id": "01KC3GAZ6ZJE40H55GM31RPWZE",
                            "component_name": "Web Console",
                            "status": "operational"
                          }
                        ]
                      }
                    ],
                    "notify_subscribers": true
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "parameters": [
          {
            "name": "page_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "description": "状态页 ID。"
          },
          {
            "name": "change_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "description": "事件（变更）ID。"
          }
        ]
      }
    },
    "/incident/resolve": {
      "post": {
        "operationId": "incidentResolve",
        "summary": "恢复故障",
        "description": "将故障标记为已恢复。",
        "tags": [
          "On-call/故障管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **故障管理**（`on-call`） |\n\n## 使用说明\n\n- 解决表单生效时，`custom_fields`、`summary` 和 `images` 必须符合其中可见元素及必填规则。\n- 批量操作只有在全部选中的故障解析到同一张表单时才接受表单值；否则请逐条解决。\n- 旧字段 `values` 和 `custom_values` 会被拒绝，请使用 `custom_fields`。\n- 已审计 —— 变更会记录到审计日志。",
          "href": "/zh/api-reference/on-call/incidents/incident-resolve",
          "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/ResolveIncidentRequest"
              },
              "example": {
                "incident_ids": [
                  "69da451ef77b1b51f40e83ee"
                ],
                "root_cause": "Memory leak in the connection pool caused by a missing cleanup call.",
                "resolution": "Deployed hotfix v2.3.1 and restarted the affected service."
              }
            }
          }
        }
      }
    },
    "/incident/war-room/list": {
      "post": {
        "operationId": "incidentWarRoomList",
        "summary": "查询战情室列表",
        "description": "查询故障关联的所有战情室。",
        "tags": [
          "On-call/故障管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **故障查看**（`on-call`） |",
          "href": "/zh/api-reference/on-call/incidents/incident-war-room-list",
          "metadata": {
            "sidebarTitle": "查询战情室列表"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/ListWarRoomsResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "items": []
                  }
                }
              }
            }
          },
          "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/ListWarRoomsRequest"
              },
              "example": {
                "incident_id": "69da451ef77b1b51f40e83ee"
              }
            }
          }
        }
      }
    },
    "/alert/list": {
      "post": {
        "operationId": "alert-read-list",
        "summary": "查询告警列表",
        "description": "返回满足过滤条件的告警列表，支持游标分页。",
        "tags": [
          "On-call/告警管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **协作空间查看**（`on-call`） |\n\n## 使用说明\n\n- `start_time` 和 `end_time` 均为必填的 Unix 时间戳（秒），最大跨度 31 天。\n- 使用上次响应中的 `search_after_ctx` 获取下一页。\n- 结果会根据调用方的协作空间数据访问权限进行过滤。\n- 将 `is_active` 设为 `true` 可仅返回活跃（触发中）告警；设为 `false` 返回已恢复告警。",
          "href": "/zh/api-reference/on-call/alerts/alert-read-list",
          "metadata": {
            "sidebarTitle": "查询告警列表"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/AlertListResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "total": 1,
                    "has_next_page": false,
                    "items": [
                      {
                        "alert_id": "663a1b2c3d4e5f6789abcdef",
                        "integration_id": 10001,
                        "channel_id": 20001,
                        "account_id": 10023,
                        "title": "CPU usage > 90%",
                        "alert_severity": "Critical",
                        "alert_status": "Critical",
                        "start_time": 1712650000,
                        "last_time": 1712655000,
                        "end_time": 0,
                        "labels": {
                          "host": "web-01"
                        },
                        "ever_muted": false,
                        "created_at": 1712650000,
                        "updated_at": 1712655000,
                        "integration_name": "Prometheus",
                        "integration_type": "prometheus",
                        "channel_name": "Production",
                        "event_cnt": 3
                      }
                    ]
                  }
                }
              }
            }
          },
          "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/AlertListRequest"
              },
              "example": {
                "start_time": 1712620800,
                "end_time": 1712707200,
                "limit": 20,
                "is_active": true
              }
            }
          }
        }
      }
    },
    "/status-page/change/update": {
      "post": {
        "operationId": "statusPageChangeUpdate",
        "summary": "更新状态页事件",
        "description": "更新已有状态页事件。",
        "tags": [
          "On-call/状态页"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **状态页面事件管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/status-pages/status-page-change-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/UpdateStatusPageChangeRequest"
              },
              "example": {
                "page_id": 5750613685214,
                "change_id": 5821693893131,
                "title": "Web Console Degraded Performance (Updated)"
              }
            }
          }
        }
      }
    },
    "/incident/alert/list": {
      "post": {
        "operationId": "incidentAlertList",
        "summary": "查询故障关联告警",
        "description": "查询合并到指定故障中的所有告警列表。",
        "tags": [
          "On-call/故障管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **故障查看**（`on-call`） |\n\n## 使用说明\n\n- 仅在需要预览每条告警的原始事件时设置 `include_events=true`。\n- 事件预览最多返回每条告警最新的 20 条事件；完整事件历史请使用 `POST /alert/event/list` 分页查询。\n- `event_cnt` 仍表示合并到每条告警的原始事件总数。",
          "href": "/zh/api-reference/on-call/incidents/incident-alert-list",
          "metadata": {
            "sidebarTitle": "查询故障关联告警"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/ListIncidentAlertsResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "total": 1,
                    "items": [
                      {
                        "alert_id": "69da451df77b1b51f40e83de",
                        "integration_id": 2490562293131,
                        "data_source_id": 2490562293131,
                        "channel_id": 2551105804131,
                        "account_id": 2451002751131,
                        "description": "",
                        "title": "CPU usage high - web-server-01",
                        "title_rule": "",
                        "alert_key": "100128:prom-203.0.113.107:A:1579244238440766834:anydata",
                        "alert_severity": "Critical",
                        "alert_status": "Critical",
                        "start_time": 1775912219,
                        "last_time": 1775969819,
                        "end_time": 0,
                        "labels": {
                          "check": "cpu_usage_high",
                          "resource": "web-server-01"
                        },
                        "ever_muted": false,
                        "created_at": 1775912221,
                        "updated_at": 1775969821,
                        "integration_name": "FlashMonit",
                        "integration_type": "monit.alert",
                        "integration_ref_id": "a_2451002751131",
                        "channel_name": "Ops Channel",
                        "channel_status": "enabled",
                        "responder_name": "",
                        "responder_email": "",
                        "incident": {
                          "incident_id": "69da451ef77b1b51f40e83ee",
                          "title": "CPU usage high - web-server-01",
                          "progress": "Triggered"
                        },
                        "event_cnt": 17,
                        "images": null,
                        "data_source_name": "FlashMonit",
                        "data_source_type": "monit.alert",
                        "data_source_ref_id": "a_2451002751131",
                        "events": [
                          {
                            "event_id": "69da451df77b1b51f40e83df",
                            "alert_id": "69da451df77b1b51f40e83de",
                            "title": "CPU usage > 90%",
                            "event_severity": "Critical",
                            "event_status": "Critical",
                            "event_time": 1712650000,
                            "labels": {
                              "host": "web-01"
                            }
                          }
                        ]
                      }
                    ]
                  }
                }
              }
            }
          },
          "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/ListIncidentAlertsRequest"
              },
              "example": {
                "incident_id": "69da451ef77b1b51f40e83ee",
                "is_active": true,
                "limit": 100,
                "p": 1,
                "include_events": true
              }
            }
          }
        }
      }
    },
    "/channel/escalate/rule/update": {
      "post": {
        "operationId": "channelEscalateRuleUpdate",
        "summary": "更新分派策略",
        "description": "更新已有分派策略的配置。",
        "tags": [
          "On-call/协作空间"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **协作空间管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/channels/channel-escalate-rule-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/UpdateEscalationRuleRequest"
              },
              "example": {
                "channel_id": 1001,
                "rule_id": "6621b23f4a2c5e0012ab34d0",
                "template_id": "6621b23f4a2c5e0012ab34d1",
                "rule_name": "Default escalation",
                "layers": [
                  {
                    "target": {
                      "person_ids": [
                        42
                      ],
                      "by": {
                        "critical": [
                          "voice"
                        ],
                        "warning": [
                          "sms"
                        ]
                      }
                    }
                  }
                ]
              }
            }
          }
        }
      }
    },
    "/calendar/event/upsert": {
      "post": {
        "operationId": "calEventUpsert",
        "summary": "创建或更新日历事件",
        "description": "创建或更新日历自己的事件（休息日或工作日覆盖），作用于 [start_at, end_at) 这些日期。不传 event_id 时创建新事件；传入的 event_id 必须是该日历已有的事件。写入时会把该日历自己的其他事件从这些日期上移除：完全落在范围内的事件被删除，部分重叠的被截短，跨越整个范围的被拆成两段，因此这些日期以最后一次写入为准。end_at 必须晚于 start_at。",
        "tags": [
          "On-call/日历管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **服务日历管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/calendars/cal-event-upsert",
          "metadata": {
            "sidebarTitle": "创建或更新日历事件"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/CalEventUpsertResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "cal_id": "cal.QiNvtdKs4Wj52kZhT3LafM",
                    "event_id": "cale.KyG9XWTCU5CucbwukEVBQ4",
                    "summary": "Test Holiday"
                  }
                }
              }
            }
          },
          "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/CalEventUpsertRequest"
              },
              "example": {
                "cal_id": "cal.QiNvtdKs4Wj52kZhT3LafM",
                "summary": "Labour Day",
                "start_at": "2024-05-01",
                "end_at": "2024-05-06",
                "is_off": true,
                "description": "International Workers Day holiday"
              }
            }
          }
        }
      }
    },
    "/status-page/change/delete": {
      "post": {
        "operationId": "statusPageChangeDelete",
        "summary": "删除状态页事件",
        "description": "删除指定的状态页事件。",
        "tags": [
          "On-call/状态页"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **状态页面事件管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/status-pages/status-page-change-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/DeleteStatusPageChangeRequest"
              },
              "example": {
                "page_id": 5750613685214,
                "change_id": 5821693893131
              }
            }
          }
        }
      }
    },
    "/incident/war-room/detail": {
      "post": {
        "operationId": "incidentWarRoomDetail",
        "summary": "获取战情室详情",
        "description": "获取故障的战情室配置和成员信息。",
        "tags": [
          "On-call/故障管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **故障查看**（`on-call`） |",
          "href": "/zh/api-reference/on-call/incidents/incident-war-room-detail",
          "metadata": {
            "sidebarTitle": "获取战情室详情"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/WarRoom"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "chat_id": "oc_a0553eda9014c2de1b3a8f75b4e0c000",
                    "chat_name": "Incident #0E83EE war room",
                    "share_link": ""
                  }
                }
              }
            }
          },
          "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/GetWarRoomDetailRequest"
              },
              "example": {
                "integration_id": 2490562293131,
                "chat_id": "oc_a0553eda9014c2de1b3a8f75b4e0c000"
              }
            }
          }
        }
      }
    },
    "/calendar/delete": {
      "post": {
        "operationId": "calendarDelete",
        "summary": "删除服务日历",
        "description": "删除个人服务日历。当日历被分派或静默策略引用时删除会失败。",
        "tags": [
          "On-call/日历管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **服务日历管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/calendars/calendar-delete",
          "metadata": {
            "sidebarTitle": "删除服务日历"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/CalendarEmptyObject"
                        }
                      }
                    }
                  ]
                },
                "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/CalendarIDRequest"
              },
              "example": {
                "cal_id": "cal.QiNvtdKs4Wj52kZhT3LafM"
              }
            }
          }
        }
      }
    },
    "/alert/event/list": {
      "post": {
        "operationId": "alert-read-event-list",
        "summary": "查询告警事件列表",
        "description": "通过游标或页码分页返回指定告警的原始事件。",
        "tags": [
          "On-call/告警管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **协作空间查看**（`on-call`） |\n\n## 使用说明\n\n- 默认按最新事件优先返回；设置 `asc=true` 可按最早事件优先读取。\n- 使用上次响应中的 `search_after_ctx` 搭配 `limit` 获取下一页。\n- 也支持通过 `p` 使用页码分页，但 `p * limit` 必须在 10,000 条以内。\n- 单条告警可能累积大量原始事件，热点告警建议优先使用游标分页。",
          "href": "/zh/api-reference/on-call/alerts/alert-read-event-list",
          "metadata": {
            "sidebarTitle": "查询告警事件列表"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/AlertEventListResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "total": 57,
                    "has_next_page": true,
                    "search_after_ctx": "663a1b2c3d4e5f6789abc001",
                    "items": [
                      {
                        "event_id": "663a1b2c3d4e5f6789abc001",
                        "alert_id": "663a1b2c3d4e5f6789abcdef",
                        "title": "CPU usage > 90%",
                        "event_severity": "Critical",
                        "event_status": "Critical",
                        "event_time": 1712650000,
                        "labels": {
                          "host": "web-01"
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "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/AlertEventListRequest"
              },
              "example": {
                "alert_id": "663a1b2c3d4e5f6789abcdef",
                "limit": 20
              }
            }
          }
        }
      }
    },
    "/incident/merge": {
      "post": {
        "operationId": "incidentMerge",
        "summary": "合并故障",
        "description": "将一个或多个故障合并到目标故障中。",
        "tags": [
          "On-call/故障管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **故障管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/incidents/incident-merge",
          "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/MergeIncidentsRequest"
              },
              "example": {
                "source_incident_ids": [
                  "69da451ef77b1b51f40e83ef",
                  "69da451ef77b1b51f40e83f0"
                ],
                "target_incident_id": "69da451ef77b1b51f40e83ee",
                "comment": "Merging related database connectivity incidents into one."
              }
            }
          }
        }
      }
    },
    "/enrichment/mapping/data/delete": {
      "post": {
        "operationId": "mapping-data-write-delete",
        "summary": "删除映射数据",
        "description": "按键名批量删除最多 100 条映射数据行。",
        "tags": [
          "On-call/标签增强"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **映射数据管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/alert-enrichment/mapping-data-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/MappingDataDeleteRequest"
              },
              "example": {
                "schema_id": "665f1a2b3c4d5e6f7a8b9c01",
                "keys": [
                  "server01",
                  "server02"
                ]
              }
            }
          }
        }
      }
    },
    "/incident/post-mortem/delete": {
      "post": {
        "operationId": "incidentPostMortemDelete",
        "summary": "删除复盘报告",
        "description": "删除指定的复盘报告。",
        "tags": [
          "On-call/故障管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **故障管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/incidents/incident-post-mortem-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/DeletePostMortemRequest"
              },
              "example": {
                "post_mortem_id": "8104935102bf89dc01ac638a5261fe7e"
              }
            }
          }
        }
      }
    },
    "/calendar/update": {
      "post": {
        "operationId": "calendarUpdate",
        "summary": "更新服务日历",
        "description": "更新个人服务日历，仅更新传入的非空字段。",
        "tags": [
          "On-call/日历管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **服务日历管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/calendars/calendar-update",
          "metadata": {
            "sidebarTitle": "更新服务日历"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/CalendarEmptyObject"
                        }
                      }
                    }
                  ]
                },
                "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/CalendarUpdateRequest"
              },
              "example": {
                "cal_id": "cal.QiNvtdKs4Wj52kZhT3LafM",
                "cal_name": "Production On-Call Calendar (Updated)",
                "timezone": "America/New_York",
                "workdays": [
                  1,
                  2,
                  3,
                  4,
                  5
                ]
              }
            }
          }
        }
      }
    },
    "/incident/war-room/delete": {
      "post": {
        "operationId": "incidentWarRoomDelete",
        "summary": "删除战情室",
        "description": "删除指定的故障战情室。",
        "tags": [
          "On-call/故障管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **故障管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/incidents/incident-war-room-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/DeleteWarRoomRequest"
              },
              "example": {
                "incident_id": "69da451ef77b1b51f40e83ee",
                "integration_id": 2490562293131
              }
            }
          }
        }
      }
    },
    "/incident/remove": {
      "post": {
        "operationId": "incidentRemove",
        "summary": "删除故障",
        "description": "永久删除一个故障及其关联数据。",
        "tags": [
          "On-call/故障管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **故障管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/incidents/incident-remove",
          "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/RemoveIncidentRequest"
              },
              "example": {
                "incident_ids": [
                  "69da451ef77b1b51f40e83ee"
                ]
              }
            }
          }
        }
      }
    },
    "/channel/unsubscribe/rule/enable": {
      "post": {
        "operationId": "channelUnsubscribeRuleEnable",
        "summary": "启用排除规则",
        "description": "启用已禁用的排除规则。仅 `disabled` 状态的规则可启用。",
        "tags": [
          "On-call/协作空间"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | 无 —— 持有有效的 `app_key` 即可调用 |",
          "href": "/zh/api-reference/on-call/channels/channel-unsubscribe-rule-enable",
          "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/ChannelRuleIDRequest"
              },
              "example": {
                "channel_id": 3521074710131,
                "rule_id": "6621b23f4a2c5e0012ab34cd"
              }
            }
          }
        }
      }
    },
    "/insight/incident/list": {
      "post": {
        "operationId": "insightIncidentList",
        "summary": "查询洞察故障列表",
        "description": "返回用于分析看板的故障分页列表，包含每条故障的处理效能指标。",
        "tags": [
          "On-call/分析看板"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **分析看板查看**（`on-call`） |",
          "href": "/zh/api-reference/on-call/analytics/insight-incident-list",
          "metadata": {
            "sidebarTitle": "查询洞察故障列表"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/InsightIncidentListResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "total": 2363,
                    "has_next_page": true,
                    "search_after_ctx": "6a86b5d6f72de50ae1ce2ffb",
                    "items": [
                      {
                        "incident_id": "6a86b5d6f72de50ae1ce2ffb",
                        "title": "CPU usage above 90% on prod-web-01",
                        "description": "CPU usage stayed above the threshold for 5 minutes",
                        "team_id": 2477033058131,
                        "team_name": "SRE Team",
                        "channel_id": 3047621227131,
                        "channel_name": "Production Alerts",
                        "progress": "Closed",
                        "severity": "Critical",
                        "created_at": 1787213270,
                        "alert_cnt": 3,
                        "active_alert_cnt": 0,
                        "alert_event_cnt": 5,
                        "closed_by": "manually",
                        "creator_id": 2477273692131,
                        "creator_name": "alice",
                        "closer_id": 2477273692131,
                        "closer_name": "alice",
                        "seconds_to_ack": 14,
                        "seconds_to_close": 1830,
                        "engaged_seconds": 1816,
                        "hours": "work",
                        "responders": [
                          {
                            "person_id": 2477273692131,
                            "assigned_at": 1787213270,
                            "acknowledged_at": 1787213284,
                            "person_name": "alice",
                            "email": "alice@example.com"
                          }
                        ],
                        "assigned_to": {
                          "escalate_rule_id": "66138789904a9027583dbc4e",
                          "layer_idx": 0,
                          "type": "assign",
                          "assigned_at": 1787213270,
                          "id": "b8tyUoRvCv4wsPndFRpmNL",
                          "escalate_rule_name": "On-call Policy"
                        },
                        "notifications": 2,
                        "interruptions": 1,
                        "assignments": 1,
                        "reassignments": 0,
                        "acknowledgements": 1,
                        "escalations": 0,
                        "timeout_escalations": 0,
                        "manual_escalations": 0
                      }
                    ]
                  }
                }
              }
            }
          },
          "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/InsightIncidentListRequest"
              },
              "example": {
                "start_time": 1712000000,
                "end_time": 1712604800,
                "p": 1,
                "limit": 20,
                "severities": [
                  "Critical"
                ]
              }
            }
          }
        }
      }
    },
    "/status-page/change/create": {
      "post": {
        "operationId": "statusPageChangeCreate",
        "summary": "创建状态页事件",
        "description": "在状态页上创建新的故障或维护事件。",
        "tags": [
          "On-call/状态页"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **状态页面事件管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/status-pages/status-page-change-create",
          "metadata": {
            "sidebarTitle": "创建状态页事件"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/StatusPageChangeCreateResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "change_id": 6294539747131,
                    "change_name": "API Test Incident"
                  }
                }
              }
            }
          },
          "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/CreateStatusPageChangeRequest"
              },
              "example": {
                "page_id": 5750613685214,
                "type": "incident",
                "title": "Web Console Degraded Performance",
                "description": "We are investigating degraded performance affecting the web console.",
                "status": "investigating",
                "start_at_seconds": 1712000000,
                "notify_subscribers": true,
                "updates": [
                  {
                    "status": "investigating",
                    "description": "We are currently investigating an issue affecting some users.",
                    "component_changes": [
                      {
                        "component_id": "01KC3GAZ6ZJE40H55GM31RPWZE",
                        "status": "degraded"
                      }
                    ]
                  }
                ]
              }
            }
          }
        }
      }
    },
    "/schedule/preview": {
      "post": {
        "operationId": "schedulePreview",
        "summary": "预览值班表",
        "description": "预览值班表配置生成的排班结果，不会持久化。请求体与创建/更新相同，并需要指定 start 和 end 时间窗口（最多 45 天）。",
        "tags": [
          "On-call/值班排班"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **60 次/分钟**；**10 次/秒** |\n| 权限要求 | **值班查看**（`on-call`） 或 **值班管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/schedules/schedule-preview",
          "metadata": {
            "sidebarTitle": "预览值班表"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/ScheduleItem"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "id": null,
                    "name": null,
                    "account_id": 0,
                    "group_id": null,
                    "disabled": null,
                    "create_at": 0,
                    "create_by": 0,
                    "update_at": 0,
                    "update_by": 0,
                    "layers": [
                      {
                        "account_id": 0,
                        "name": "Layer 1",
                        "schedule_id": 0,
                        "hidden": 0,
                        "mode": 0,
                        "weight": 0,
                        "groups": [
                          {
                            "group_name": "A",
                            "name": "A",
                            "members": [
                              {
                                "role_id": 0,
                                "person_ids": [
                                  2451002751131
                                ]
                              }
                            ],
                            "start": 0,
                            "end": 0
                          },
                          {
                            "group_name": "B",
                            "name": "B",
                            "members": [
                              {
                                "role_id": 0,
                                "person_ids": [
                                  2476123212131
                                ]
                              }
                            ],
                            "start": 0,
                            "end": 0
                          }
                        ],
                        "rotation_duration": 86400,
                        "handoff_time": 0,
                        "enable_time": 1775980800,
                        "expire_time": 0,
                        "restrict_mode": 0,
                        "restrict_start": 0,
                        "restrict_end": 0,
                        "restrict_periods": [],
                        "day_mask": {
                          "repeat": [
                            1,
                            2,
                            3,
                            4,
                            5
                          ]
                        },
                        "create_at": 0,
                        "create_by": 0,
                        "update_at": 0,
                        "update_by": 0,
                        "layer_name": "Layer 1",
                        "fair_rotation": false,
                        "layer_start": 1775980800,
                        "layer_end": null,
                        "rotation_unit": "day",
                        "rotation_value": 1,
                        "mask_continuous_enabled": false
                      }
                    ],
                    "schedule_layers": [
                      {
                        "layer_name": "Layer 1",
                        "name": "Layer 1",
                        "mode": 0,
                        "schedules": [
                          {
                            "start": 1776009600,
                            "end": 1776096000,
                            "group": {
                              "group_name": "A",
                              "name": "A",
                              "members": [
                                {
                                  "role_id": 0,
                                  "person_ids": [
                                    2451002751131
                                  ]
                                }
                              ],
                              "start": 1776009600,
                              "end": 1776096000
                            },
                            "index": 0
                          },
                          {
                            "start": 1776096000,
                            "end": 1776182400,
                            "group": {
                              "group_name": "B",
                              "name": "B",
                              "members": [
                                {
                                  "role_id": 0,
                                  "person_ids": [
                                    2476123212131
                                  ]
                                }
                              ],
                              "start": 1776096000,
                              "end": 1776182400
                            },
                            "index": 0
                          }
                        ]
                      }
                    ],
                    "final_schedule": {
                      "layer_name": "",
                      "name": "",
                      "mode": 0,
                      "schedules": [
                        {
                          "start": 1776009600,
                          "end": 1776096000,
                          "group": {
                            "group_name": "A",
                            "name": "A",
                            "members": [
                              {
                                "role_id": 0,
                                "person_ids": [
                                  2451002751131
                                ]
                              }
                            ],
                            "start": 1776009600,
                            "end": 1776096000
                          },
                          "index": 0
                        }
                      ]
                    },
                    "start": 1775980800,
                    "end": 1776240000,
                    "notify": null,
                    "schedule_id": 0,
                    "schedule_name": null,
                    "team_id": null,
                    "description": null,
                    "layer_schedules": null,
                    "status": null,
                    "cur_oncall": null,
                    "next_oncall": null
                  }
                }
              }
            }
          },
          "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/ScheduleUpsertRequest"
              },
              "example": {
                "schedule_name": "Preview Schedule",
                "start": 1712000000,
                "end": 1712086400,
                "layers": [
                  {
                    "layer_name": "Layer 1",
                    "name": "Layer 1",
                    "mode": 0,
                    "weight": 0,
                    "hidden": 0,
                    "groups": [
                      {
                        "group_name": "A",
                        "name": "A",
                        "members": [
                          {
                            "role_id": 0,
                            "person_ids": [
                              2451002751131
                            ]
                          }
                        ],
                        "start": 0,
                        "end": 0
                      }
                    ],
                    "rotation_unit": "day",
                    "rotation_value": 1,
                    "rotation_duration": 86400,
                    "handoff_time": 0,
                    "enable_time": 1712000000,
                    "expire_time": 0,
                    "restrict_mode": 0,
                    "restrict_start": 0,
                    "restrict_end": 0,
                    "restrict_periods": [],
                    "day_mask": {
                      "repeat": [
                        1,
                        2,
                        3,
                        4,
                        5
                      ]
                    },
                    "fair_rotation": false,
                    "mask_continuous_enabled": false
                  }
                ]
              }
            }
          }
        }
      }
    },
    "/webhook/history/list": {
      "post": {
        "operationId": "webhookHistoryList",
        "summary": "查询 Webhook 推送历史",
        "description": "查询出站 Webhook 通知的推送历史记录。",
        "tags": [
          "On-call/集成中心"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **集成中心查看**（`on-call`） |",
          "href": "/zh/api-reference/on-call/integrations/webhook-history-list",
          "metadata": {
            "sidebarTitle": "查询 Webhook 推送历史"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/ListWebhookHistoryResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "items": [
                      {
                        "integration_id": 5321026051131,
                        "event_id": "20260412Xatt9hrXsgmFkBR78WF655",
                        "webhook_type": "alert",
                        "event_type": "a_update",
                        "channel_id": 2551105804131,
                        "ref_id": "69da3f0ef77b1b51f40e83cc",
                        "endpoint": "https://example.com/webhook",
                        "attempt": 1,
                        "duration": 132,
                        "status": "success",
                        "status_code": 200,
                        "event_time": "2026-04-12 13:31:11.357472"
                      }
                    ],
                    "search_after_ctx": "eyJldmVudF90aW1lIjoiMjAyNi0wNC0xMlQxMzoxNToyNi4zODI1NDcrMDg6MDAiLCJldmVudF9pZCI6IjIwMjYwNDEybUdzeFAzZHJwRmZzNFpDUWQycFNEcCJ9",
                    "total": 346
                  }
                }
              }
            }
          },
          "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/ListWebhookHistoryRequest"
              },
              "example": {
                "limit": 20,
                "start_time": 1775116800000,
                "end_time": 1775203200000,
                "integration_id": 6113996590131,
                "status": "success"
              }
            }
          }
        }
      }
    },
    "/incident/wake": {
      "post": {
        "operationId": "incidentWake",
        "summary": "恢复故障通知",
        "description": "取消故障的暂停状态，恢复通知。",
        "tags": [
          "On-call/故障管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **故障管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/incidents/incident-wake",
          "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/WakeIncidentRequest"
              },
              "example": {
                "incident_ids": [
                  "69da451ef77b1b51f40e83ee"
                ]
              }
            }
          }
        }
      }
    },
    "/channel/silence/rule/enable": {
      "post": {
        "operationId": "channelSilenceRuleEnable",
        "summary": "启用静默策略",
        "description": "启用已禁用的静默策略。仅 `disabled` 状态的策略可启用。",
        "tags": [
          "On-call/协作空间"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **协作空间管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/channels/channel-silence-rule-enable",
          "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/ChannelRuleIDRequest"
              },
              "example": {
                "channel_id": 3521074710131,
                "rule_id": "6621b23f4a2c5e0012ab34cd"
              }
            }
          }
        }
      }
    },
    "/channel/silence/rule/update": {
      "post": {
        "operationId": "channelSilenceRuleUpdate",
        "summary": "更新静默策略",
        "description": "更新已有静默策略的配置。",
        "tags": [
          "On-call/协作空间"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **协作空间管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/channels/channel-silence-rule-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/UpdateSilenceRuleRequest"
              },
              "example": {
                "channel_id": 1001,
                "rule_id": "6621b23f4a2c5e0012ab34cd",
                "rule_name": "Mute during maintenance",
                "time_filter": {
                  "start_time": 1710000000,
                  "end_time": 1710086400
                },
                "filters": [
                  [
                    {
                      "key": "labels.service",
                      "oper": "IN",
                      "vals": [
                        "billing"
                      ]
                    }
                  ]
                ]
              }
            }
          }
        }
      }
    },
    "/incident/feed": {
      "post": {
        "operationId": "incidentFeed",
        "summary": "获取故障时间线",
        "description": "获取指定故障的时间线动态，包括状态变更、评论和系统事件。",
        "tags": [
          "On-call/故障管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **故障查看**（`on-call`） |\n\n## 使用说明\n\n- 对于 `i_comm` 条目，`detail.comment_type` 在读取时根据当前账户级评论类型定义解析，因此始终反映类型的最新名称和颜色。",
          "href": "/zh/api-reference/on-call/incidents/incident-feed",
          "metadata": {
            "sidebarTitle": "获取故障时间线"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/ListIncidentFeedResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "has_next_page": true,
                    "items": [
                      {
                        "ref_id": "6a5f1e28807515413b384bce",
                        "type": "i_wi_created",
                        "detail": {
                          "work_item_id": "wi_68MHnkWBiyjrh6uhkxUyiZ",
                          "item_type": "follow_up",
                          "title": "Follow-up: schedule database failover drill",
                          "status": "open",
                          "assignee_ids": [
                            3790925372131,
                            4756301322131
                          ],
                          "post_mortem_id": "51d65cd9525c369379ba471b5512df63"
                        },
                        "account_id": 2451002751131,
                        "creator_id": 5329873302131,
                        "created_at": 1785495329402,
                        "updated_at": 1785495329402
                      },
                      {
                        "ref_id": "6a5f1e28807515413b384bce",
                        "type": "i_comm",
                        "detail": {
                          "comment": "Root cause identified: connection pool exhaustion on the primary database.",
                          "comment_type_id": "6a5895d672a064bc2d3ddfc2",
                          "comment_type": {
                            "id": "6a5895d672a064bc2d3ddfc2",
                            "name": "Key finding",
                            "color": "#30A46C"
                          }
                        },
                        "account_id": 2451002751131,
                        "creator_id": 3790925372131,
                        "created_at": 1785496333926,
                        "updated_at": 1785496333926
                      },
                      {
                        "ref_id": "6a5f1e28807515413b384bce",
                        "type": "i_wi_completed",
                        "detail": {
                          "work_item_id": "wi_68MHnkWBiyjrh6uhkxUyiZ",
                          "item_type": "follow_up",
                          "title": "Follow-up: schedule database failover drill",
                          "from_status": "open",
                          "to_status": "done",
                          "post_mortem_id": "51d65cd9525c369379ba471b5512df63"
                        },
                        "account_id": 2451002751131,
                        "creator_id": 3790925372131,
                        "created_at": 1785496384806,
                        "updated_at": 1785496384806
                      }
                    ]
                  }
                }
              }
            }
          },
          "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/ListIncidentFeedRequest"
              },
              "example": {
                "incident_id": "69da451ef77b1b51f40e83ee",
                "p": 1,
                "limit": 20
              }
            }
          }
        }
      }
    },
    "/channel/inhibit/rule/create": {
      "post": {
        "operationId": "channelInhibitRuleCreate",
        "summary": "创建抑制策略",
        "description": "创建一条抑制策略，当高优先级告警触发时抑制低优先级告警。",
        "tags": [
          "On-call/协作空间"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **协作空间管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/channels/channel-inhibit-rule-create",
          "metadata": {
            "sidebarTitle": "创建抑制策略"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/RuleCreateResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "rule_id": "69db2f69a0fe7db6448b1504",
                    "rule_name": "Test inhibit rule"
                  }
                }
              }
            }
          },
          "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/CreateInhibitRuleRequest"
              },
              "example": {
                "channel_id": 3521074710131,
                "rule_name": "Suppress Info when Critical fires",
                "description": "When a Critical alert fires, suppress matching Info alerts",
                "equals": [
                  "labels.cluster",
                  "labels.service"
                ],
                "source_filters": [
                  [
                    {
                      "key": "severity",
                      "oper": "IN",
                      "vals": [
                        "Critical"
                      ]
                    }
                  ]
                ],
                "target_filters": [
                  [
                    {
                      "key": "severity",
                      "oper": "IN",
                      "vals": [
                        "Info"
                      ]
                    }
                  ]
                ],
                "is_directly_discard": false
              }
            }
          }
        }
      }
    },
    "/channel/inhibit/rule/enable": {
      "post": {
        "operationId": "channelInhibitRuleEnable",
        "summary": "启用抑制策略",
        "description": "启用已禁用的抑制策略。仅 `disabled` 状态的策略可启用。",
        "tags": [
          "On-call/协作空间"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **协作空间管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/channels/channel-inhibit-rule-enable",
          "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/ChannelRuleIDRequest"
              },
              "example": {
                "channel_id": 3521074710131,
                "rule_id": "6621b23f4a2c5e0012ab34cd"
              }
            }
          }
        }
      }
    },
    "/enrichment/mapping/schema/list": {
      "post": {
        "operationId": "mapping-schema-read-list",
        "summary": "查询映射规则列表",
        "description": "返回账户下所有映射规则，按创建时间升序排列。",
        "tags": [
          "On-call/标签增强"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **协作空间查看**（`on-call`） 或 **协作空间管理**（`on-call`） 或 **集成中心查看**（`on-call`） 或 **集成中心管理**（`on-call`） 或 **映射数据查看**（`on-call`） 或 **映射数据管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/alert-enrichment/mapping-schema-read-list",
          "metadata": {
            "sidebarTitle": "查询映射规则列表"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/MappingSchemaListResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "total": 1,
                    "items": [
                      {
                        "schema_id": "665f1a2b3c4d5e6f7a8b9c01",
                        "schema_name": "CMDB Lookup",
                        "description": "Enrich alerts with CMDB data",
                        "source_labels": [
                          "host"
                        ],
                        "result_labels": [
                          "owner",
                          "team",
                          "service"
                        ],
                        "status": "enabled",
                        "team_id": 0,
                        "creator_id": 80011,
                        "created_at": 1710000000,
                        "updated_at": 1710000000
                      }
                    ]
                  }
                }
              }
            }
          },
          "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/EmptyRequest"
              },
              "example": {}
            }
          }
        }
      }
    },
    "/channel/unsubscribe/rule/delete": {
      "post": {
        "operationId": "channelUnsubscribeRuleDelete",
        "summary": "删除排除规则",
        "description": "删除排除规则。仅 `disabled` 状态的规则可删除。",
        "tags": [
          "On-call/协作空间"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | 无 —— 持有有效的 `app_key` 即可调用 |",
          "href": "/zh/api-reference/on-call/channels/channel-unsubscribe-rule-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/ChannelRuleIDRequest"
              },
              "example": {
                "channel_id": 3521074710131,
                "rule_id": "6621b23f4a2c5e0012ab34cd"
              }
            }
          }
        }
      }
    },
    "/alert/pipeline/info": {
      "post": {
        "operationId": "alert-read-pipeline-info",
        "summary": "查看告警处理规则",
        "description": "返回指定集成的告警处理规则配置。",
        "tags": [
          "On-call/告警管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **集成中心查看**（`on-call`） |\n\n## 使用说明\n\n- 若该集成尚未配置告警处理规则，则 data 为 `null`。\n- 调用方需有该集成的访问权限。",
          "href": "/zh/api-reference/on-call/alerts/alert-read-pipeline-info",
          "metadata": {
            "sidebarTitle": "查看告警处理规则"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/AlertPipelineItem"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "integration_id": 10001,
                    "rules": [
                      {
                        "kind": "title_reset",
                        "if": [
                          {
                            "key": "labels.env",
                            "oper": "IN",
                            "vals": [
                              "prod"
                            ]
                          }
                        ],
                        "settings": {
                          "title": "[TPL]{{.Labels.service}} / {{.Labels.check}}"
                        }
                      },
                      {
                        "kind": "severity_reset",
                        "if": null,
                        "settings": {
                          "severity": "Warning"
                        }
                      }
                    ],
                    "status": "enabled",
                    "creator_id": 80011,
                    "updated_by": 80011,
                    "created_at": 1710000000,
                    "updated_at": 1712000000
                  }
                }
              }
            }
          },
          "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/AlertPipelineInfoRequest"
              },
              "example": {
                "integration_id": 10001
              }
            }
          }
        }
      }
    },
    "/enrichment/mapping/schema/delete": {
      "post": {
        "operationId": "mapping-schema-write-delete",
        "summary": "删除映射规则",
        "description": "删除映射规则及其所有关联数据。若该规则被富化规则或 Webhook 引用，则拒绝删除。",
        "tags": [
          "On-call/标签增强"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **映射数据管理**（`on-call`） |\n\n## 使用说明\n\n- 若映射规则仍被引用，响应返回 HTTP 400，`refs` 字段列出所有阻止删除的引用。\n- 仅映射规则创建者、账户管理员或所属团队成员可删除。\n- 每次调用都会记录到账户审计日志，请不要把敏感信息放在请求字段中。\n- 本接口为高危操作。控制台 JWT 调用需二次验证码；`app_key` 调用跳过 MFA 但仍会被完整记录，请妥善保管 app_key。",
          "href": "/zh/api-reference/on-call/alert-enrichment/mapping-schema-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/MappingSchemaIDRequest"
              },
              "example": {
                "schema_id": "665f1a2b3c4d5e6f7a8b9c01"
              }
            }
          }
        }
      }
    },
    "/insight/account": {
      "post": {
        "operationId": "insightByAccount",
        "summary": "查看账户级别洞察",
        "description": "返回整个账户的聚合故障洞察指标。",
        "tags": [
          "On-call/分析看板"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **分析看板查看**（`on-call`） |",
          "href": "/zh/api-reference/on-call/analytics/insight-by-account",
          "metadata": {
            "sidebarTitle": "查看账户级别洞察"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/DimensionInsightResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "items": [
                      {
                        "ts": 1740844800,
                        "total_incident_cnt": 2,
                        "total_incidents_acknowledged": 2,
                        "total_incidents_closed": 2,
                        "total_incidents_auto_closed": 0,
                        "total_incidents_manually_closed": 2,
                        "total_incidents_timeout_closed": 0,
                        "total_incidents_escalated": 0,
                        "total_incidents_manually_escalated": 0,
                        "total_incidents_timeout_escalated": 0,
                        "total_incidents_reassigned": 2,
                        "total_interruptions": 3,
                        "total_notifications": 6,
                        "total_engaged_seconds": 3317709,
                        "total_seconds_to_ack": 3317709,
                        "total_seconds_to_close": 3749514,
                        "mean_seconds_to_ack": 1658854.5,
                        "mean_seconds_to_close": 1874757,
                        "noise_reduction_pct": 0,
                        "acknowledgement_pct": 100,
                        "total_alert_cnt": 0,
                        "total_alert_event_cnt": 0
                      }
                    ]
                  }
                }
              }
            }
          },
          "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/InsightQueryRequest"
              },
              "example": {
                "start_time": 1712000000,
                "end_time": 1712604800,
                "aggregate_unit": "day",
                "severities": [
                  "Critical",
                  "Warning"
                ]
              }
            }
          }
        }
      }
    },
    "/insight/incident/export": {
      "post": {
        "operationId": "insightIncidentExport",
        "summary": "导出洞察故障",
        "description": "将过滤后的故障分析明细导出为 CSV 文件。响应为 CSV 字节流（`Content-Disposition: attachment`），不是 JSON 响应包。CSV 列名和格式化值优先使用请求语言，其次成员语言、账户语言。`time_zone` 缺省时依次回退到账户时区、`Asia/Shanghai`。最多导出 100,000 行。可用的 `export_fields` key：incident_id, title, severity, progress, channel_id, channel_name, team_id, team_name, created_at, alert_cnt, active_alert_cnt, alert_event_cnt, seconds_to_ack, seconds_to_close, closed_by, owner_id, owner_name, creator_id, creator_name, closer_id, closer_name, engaged_seconds, hours, notifications, interruptions, acknowledgements, ackers, assignments, reassignments, escalations, manual_escalations, timeout_escalations, assigned_to, raw_assigned_to, escalate_rule_name, responders, raw_responders, snooze_status, snoozed_before, ever_muted, frequency, is_rare, description, labels, fields。不传 `export_fields` 时导出全部列。",
        "tags": [
          "On-call/分析看板"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **100 次/天**；**20 次/分钟**；**10 次/秒** |\n| 权限要求 | **分析看板查看**（`on-call`） |",
          "href": "/zh/api-reference/on-call/analytics/insight-incident-export",
          "metadata": {
            "sidebarTitle": "导出洞察故障"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary",
                  "description": "CSV 字节流（`Content-Type: application/octet-stream`，`Content-Disposition: attachment; filename=incident_export_yyyyMMdd_HHmmss.csv`）。首行为本地化列名。列默认为完整故障字段集，或由 `export_fields` 指定。"
                },
                "example": "incident_id,title,severity,created_at\n6a86b5d6f72de50ae1ce2ffb,CPU usage above 90%,Critical,2026-01-01 10:00:00 +0800 CST\n"
              }
            }
          },
          "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/InsightIncidentExportRequest"
              },
              "example": {
                "start_time": 1712000000,
                "end_time": 1712604800,
                "severities": [
                  "Critical",
                  "Warning"
                ],
                "export_fields": [
                  "incident_id",
                  "title",
                  "severity",
                  "created_at",
                  "seconds_to_close"
                ],
                "description_html_to_text": true
              }
            }
          }
        }
      }
    },
    "/schedule/info": {
      "post": {
        "operationId": "scheduleInfo",
        "summary": "获取值班表详情",
        "description": "返回值班表的详细信息，并按照指定时间窗口（最多 45 天）返回计算出的值班分层。",
        "tags": [
          "On-call/值班排班"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **值班查看**（`on-call`） 或 **值班管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/schedules/schedule-info",
          "metadata": {
            "sidebarTitle": "获取值班表详情"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/ScheduleItem"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "id": 5789640530410,
                    "name": "test-000001",
                    "account_id": 2451002751131,
                    "group_id": 4291079133131,
                    "disabled": 0,
                    "create_at": 1766110836,
                    "create_by": 2476123212131,
                    "update_at": 1775205795,
                    "update_by": 2476123212131,
                    "layers": [
                      {
                        "account_id": 2451002751131,
                        "name": "Layer 1",
                        "schedule_id": 5789640530410,
                        "hidden": 0,
                        "mode": 0,
                        "weight": 0,
                        "groups": [
                          {
                            "group_name": "A",
                            "name": "A",
                            "members": [
                              {
                                "role_id": 0,
                                "person_ids": [
                                  3122470302131
                                ]
                              }
                            ],
                            "start": 0,
                            "end": 0
                          },
                          {
                            "group_name": "B",
                            "name": "B",
                            "members": [
                              {
                                "role_id": 0,
                                "person_ids": [
                                  2659460982131
                                ]
                              }
                            ],
                            "start": 0,
                            "end": 0
                          }
                        ],
                        "rotation_duration": 86400,
                        "handoff_time": 0,
                        "enable_time": 1767542400,
                        "expire_time": 0,
                        "restrict_mode": 0,
                        "restrict_start": 0,
                        "restrict_end": 0,
                        "restrict_periods": [],
                        "day_mask": {
                          "repeat": [
                            1,
                            2,
                            3,
                            4,
                            5
                          ]
                        },
                        "create_at": 1775205795,
                        "create_by": 2476123212131,
                        "update_at": 1775205795,
                        "update_by": 2476123212131,
                        "layer_name": "Layer 1",
                        "fair_rotation": false,
                        "layer_start": 1767542400,
                        "layer_end": null,
                        "rotation_unit": "day",
                        "rotation_value": 1,
                        "mask_continuous_enabled": false
                      }
                    ],
                    "schedule_layers": [
                      {
                        "layer_name": "Layer 1",
                        "name": "Layer 1",
                        "mode": 0,
                        "schedules": [
                          {
                            "start": 1776009600,
                            "end": 1776096000,
                            "group": {
                              "group_name": "A",
                              "name": "A",
                              "members": [
                                {
                                  "role_id": 0,
                                  "person_ids": [
                                    3122470302131
                                  ]
                                }
                              ],
                              "start": 1776009600,
                              "end": 1776096000
                            },
                            "index": 0
                          },
                          {
                            "start": 1776096000,
                            "end": 1776182400,
                            "group": {
                              "group_name": "B",
                              "name": "B",
                              "members": [
                                {
                                  "role_id": 0,
                                  "person_ids": [
                                    2659460982131
                                  ]
                                }
                              ],
                              "start": 1776096000,
                              "end": 1776182400
                            },
                            "index": 0
                          }
                        ]
                      }
                    ],
                    "final_schedule": {
                      "layer_name": "",
                      "name": "",
                      "mode": 0,
                      "schedules": [
                        {
                          "start": 1776009600,
                          "end": 1776096000,
                          "group": {
                            "group_name": "A",
                            "name": "A",
                            "members": [
                              {
                                "role_id": 0,
                                "person_ids": [
                                  3122470302131
                                ]
                              }
                            ],
                            "start": 1776009600,
                            "end": 1776096000
                          },
                          "index": 0
                        }
                      ]
                    },
                    "notify": {
                      "advance_in_time": 300,
                      "fixed_time": null,
                      "by": {
                        "follow_preference": false,
                        "personal_channels": [
                          "email"
                        ]
                      },
                      "webhooks": [
                        {
                          "type": "feishu_app",
                          "settings": {
                            "token": "",
                            "alias": "",
                            "data_source_id": 5427276014131,
                            "chat_ids": [
                              "oc_60a6dc4c6e4e5cbc4934ef08aa7ff76d"
                            ],
                            "verify_token": "",
                            "sign_secret": ""
                          }
                        }
                      ]
                    },
                    "schedule_id": 5789640530410,
                    "schedule_name": "test-000001",
                    "team_id": 4291079133131,
                    "description": "abc",
                    "layer_schedules": [
                      {
                        "layer_name": "Layer 1",
                        "name": "Layer 1",
                        "mode": 0,
                        "schedules": [
                          {
                            "start": 1776009600,
                            "end": 1776096000,
                            "group": {
                              "group_name": "A",
                              "name": "A",
                              "members": [
                                {
                                  "role_id": 0,
                                  "person_ids": [
                                    3122470302131
                                  ]
                                }
                              ],
                              "start": 1776009600,
                              "end": 1776096000
                            },
                            "index": 0
                          }
                        ]
                      }
                    ],
                    "status": 0,
                    "cur_oncall": {
                      "start": 1775972040,
                      "end": 1776009600,
                      "group": {
                        "group_name": "A",
                        "name": "A",
                        "members": [
                          {
                            "role_id": 0,
                            "person_ids": [
                              2451002751131
                            ]
                          }
                        ],
                        "start": 1775972040,
                        "end": 1776009600
                      },
                      "update_at": 0,
                      "weight": 0,
                      "index": 0
                    },
                    "next_oncall": {
                      "start": 1776009600,
                      "end": 1776096000,
                      "group": {
                        "group_name": "A",
                        "name": "A",
                        "members": [
                          {
                            "role_id": 0,
                            "person_ids": [
                              3122470302131
                            ]
                          }
                        ],
                        "start": 1776009600,
                        "end": 1776096000
                      },
                      "update_at": 0,
                      "weight": 0,
                      "index": 0
                    }
                  }
                }
              }
            }
          },
          "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/ScheduleInfoRequest"
              },
              "example": {
                "schedule_id": 2001,
                "start": 1712000000,
                "end": 1712086400
              }
            }
          }
        }
      }
    },
    "/template/update": {
      "post": {
        "operationId": "template-write-update",
        "summary": "更新模板",
        "description": "更新指定模板。仅写入请求中出现的字段：省略的通道保持当前内容，显式传空字符串表示清空该通道。",
        "tags": [
          "On-call/通知模板"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **模板管理**（`on-call`） |\n\n## 使用说明\n\n- 仅写入请求中出现的字段：省略的通道保持当前内容；想清空某通道，把该字段显式设置为空字符串。\n- 调用者必须对目标模板所属团队拥有数据权限，否则返回 `AccessDenied`。\n- 每次调用都会记录到账户审计日志，请不要把敏感信息放在请求字段中。",
          "href": "/zh/api-reference/on-call/notification-templates/template-write-update",
          "metadata": {
            "sidebarTitle": "更新模板"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/EmptyObject"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {}
                }
              }
            }
          },
          "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/TemplateUpdateRequest"
              },
              "example": {
                "template_id": "6605a1b2c3d4e5f6a7b8c9d0",
                "template_name": "Prod incident default",
                "description": "Updated description.",
                "email": "Incident {{ .IncidentName }} on {{ .Severity }}",
                "sms": "[Flashduty] {{ .IncidentName }} — {{ .Severity }}"
              }
            }
          }
        }
      }
    },
    "/channel/infos": {
      "post": {
        "operationId": "channelInfos",
        "summary": "批量获取协作空间",
        "description": "通过 ID 列表批量获取协作空间信息。",
        "tags": [
          "On-call/协作空间"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | 无 —— 持有有效的 `app_key` 即可调用 |",
          "href": "/zh/api-reference/on-call/channels/channel-infos",
          "metadata": {
            "sidebarTitle": "批量获取协作空间"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/ChannelInfosResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "items": [
                      {
                        "channel_id": 1001,
                        "channel_name": "Production Alerts",
                        "status": "enabled"
                      }
                    ]
                  }
                }
              }
            }
          },
          "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/ChannelInfosRequest"
              },
              "example": {
                "channel_ids": [
                  1001,
                  1002
                ]
              }
            }
          }
        }
      }
    },
    "/schedule/infos": {
      "post": {
        "operationId": "scheduleInfos",
        "summary": "批量获取值班表",
        "description": "根据 ID 列表批量返回值班表信息。",
        "tags": [
          "On-call/值班排班"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **值班查看**（`on-call`） 或 **值班管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/schedules/schedule-infos",
          "metadata": {
            "sidebarTitle": "批量获取值班表"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/ScheduleSelfResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "items": [
                      {
                        "id": 5789640530410,
                        "name": "test-000001",
                        "account_id": 2451002751131,
                        "group_id": 4291079133131,
                        "disabled": 0,
                        "create_at": 1766110836,
                        "create_by": 2476123212131,
                        "update_at": 1775205795,
                        "update_by": 2476123212131,
                        "layers": null,
                        "schedule_layers": null,
                        "final_schedule": {
                          "layer_name": "",
                          "name": "",
                          "mode": 0,
                          "schedules": null
                        },
                        "notify": {
                          "advance_in_time": 300,
                          "fixed_time": null,
                          "by": {
                            "follow_preference": false,
                            "personal_channels": [
                              "email"
                            ]
                          },
                          "webhooks": [
                            {
                              "type": "feishu_app",
                              "settings": {
                                "token": "",
                                "alias": "",
                                "data_source_id": 5427276014131,
                                "chat_ids": [
                                  "oc_60a6dc4c6e4e5cbc4934ef08aa7ff76d"
                                ],
                                "verify_token": "",
                                "sign_secret": ""
                              }
                            }
                          ]
                        },
                        "schedule_id": 5789640530410,
                        "schedule_name": "test-000001",
                        "team_id": 4291079133131,
                        "description": "abc",
                        "layer_schedules": null,
                        "status": 0,
                        "cur_oncall": null,
                        "next_oncall": null
                      }
                    ]
                  }
                }
              }
            }
          },
          "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/ScheduleIDsRequest"
              },
              "example": {
                "schedule_ids": [
                  2001,
                  2002,
                  2003
                ]
              }
            }
          }
        }
      }
    },
    "/template/info": {
      "post": {
        "operationId": "template-read-info",
        "summary": "查看模板详情",
        "description": "按 ID 返回单个通知模板。",
        "tags": [
          "On-call/通知模板"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **模板查看**（`on-call`） |\n\n## 使用说明\n\n- 传入 `000000000000000000000001` 作为 `template_id` 可以获取当前账户语种下的系统预置模板。",
          "href": "/zh/api-reference/on-call/notification-templates/template-read-info",
          "metadata": {
            "sidebarTitle": "查看模板详情"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/TemplateItem"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "account_id": 10023,
                    "team_id": 0,
                    "template_id": "6605a1b2c3d4e5f6a7b8c9d0",
                    "template_name": "Prod incident default",
                    "description": "Default template for production incidents.",
                    "email": "Incident {{ .IncidentName }} on {{ .Severity }}",
                    "sms": "[Flashduty] {{ .IncidentName }} — {{ .Severity }}",
                    "voice": "",
                    "dingtalk": "",
                    "wecom": "",
                    "feishu": "",
                    "feishu_app": "",
                    "dingtalk_app": "",
                    "wecom_app": "",
                    "slack_app": "",
                    "teams_app": "",
                    "telegram": "",
                    "slack": "",
                    "zoom": "",
                    "status": "enabled",
                    "creator_id": 80011,
                    "updated_by": 80011,
                    "created_at": 1712700000,
                    "updated_at": 1712702400
                  }
                }
              }
            }
          },
          "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/TemplateIDRequest"
              },
              "example": {
                "template_id": "6605a1b2c3d4e5f6a7b8c9d0"
              }
            }
          }
        }
      }
    },
    "/channel/escalate/rule/disable": {
      "post": {
        "operationId": "channelEscalateRuleDisable",
        "summary": "禁用分派策略",
        "description": "禁用分派策略而不删除。仅 `enabled` 状态的策略可禁用。",
        "tags": [
          "On-call/协作空间"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **协作空间管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/channels/channel-escalate-rule-disable",
          "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/ChannelRuleIDRequest"
              },
              "example": {
                "channel_id": 3521074710131,
                "rule_id": "6621b23f4a2c5e0012ab34cd"
              }
            }
          }
        }
      }
    },
    "/incident/reset": {
      "post": {
        "operationId": "incidentReset",
        "summary": "更新故障信息",
        "description": "一次调用更新故障的多个可编辑字段，包括标题、描述、影响范围、根因、恢复方案和严重程度。至少需要提供一个字段。",
        "tags": [
          "On-call/故障管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **故障管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/incidents/incident-reset",
          "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/UpdateIncidentFieldsRequest"
              },
              "example": {
                "incident_id": "69da451ef77b1b51f40e83ee",
                "title": "Database connection timeout - prod-db-01 primary",
                "incident_severity": "Critical"
              }
            }
          }
        }
      }
    },
    "/channel/disable": {
      "post": {
        "operationId": "channelDisable",
        "summary": "禁用协作空间",
        "description": "禁用协作空间以停止故障路由（不删除）；禁用后新事件会被直接丢弃。仅 `enabled` 状态的协作空间可禁用。",
        "tags": [
          "On-call/协作空间"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **协作空间管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/channels/channel-disable",
          "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/ChannelIDRequest"
              },
              "example": {
                "channel_id": 3521074710131
              }
            }
          }
        }
      }
    },
    "/webhook/history/detail": {
      "post": {
        "operationId": "webhookHistoryDetail",
        "summary": "获取 Webhook 推送详情",
        "description": "获取指定 Webhook 推送尝试的详细请求体和响应信息。",
        "tags": [
          "On-call/集成中心"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **集成中心查看**（`on-call`） |",
          "href": "/zh/api-reference/on-call/integrations/webhook-history-detail",
          "metadata": {
            "sidebarTitle": "获取 Webhook 推送详情"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/WebhookHistoryDetail"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "integration_id": 5321026051131,
                    "event_id": "20260412Xatt9hrXsgmFkBR78WF655",
                    "webhook_type": "alert",
                    "event_type": "a_update",
                    "channel_id": 2551105804131,
                    "ref_id": "69da3f0ef77b1b51f40e83cc",
                    "request_headers": "{\"Content-Type\":\"application/json\"}",
                    "request_body": "{\"event_type\":\"a_update\",\"event_id\":\"d789d65951c0532ea9b6a1d99b707054\"}",
                    "endpoint": "https://example.com/webhook",
                    "attempt": 1,
                    "duration": 132,
                    "status": "success",
                    "status_code": 200,
                    "response_headers": "{\"Content-Type\":\"application/json\"}",
                    "response_body": "{\"ok\":true}",
                    "event_time": "2026-04-12 13:31:11.357472",
                    "ref_title": "High CPU Usage on host-01",
                    "channel_name": "Production Alerts"
                  }
                }
              }
            }
          },
          "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/GetWebhookHistoryDetailRequest"
              },
              "example": {
                "event_id": "20260412Xatt9hrXsgmFkBR78WF655",
                "integration_id": 6113996590131
              }
            }
          }
        }
      }
    },
    "/schedule/list": {
      "post": {
        "operationId": "scheduleList",
        "summary": "查询值班表列表",
        "description": "返回值班表的分页列表。若同时传入 start 与 end（间隔不超过 45 天），响应会包含计算后的排班分层。",
        "tags": [
          "On-call/值班排班"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | 无 —— 持有有效的 `app_key` 即可调用 |",
          "href": "/zh/api-reference/on-call/schedules/schedule-list",
          "metadata": {
            "sidebarTitle": "查询值班表列表"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/ScheduleListResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "items": [
                      {
                        "id": 5789640530410,
                        "name": "test-000001",
                        "account_id": 2451002751131,
                        "group_id": 4291079133131,
                        "disabled": 0,
                        "create_at": 1766110836,
                        "create_by": 2476123212131,
                        "update_at": 1775205795,
                        "update_by": 2476123212131,
                        "layers": null,
                        "schedule_layers": null,
                        "final_schedule": {
                          "layer_name": "",
                          "name": "",
                          "mode": 0,
                          "schedules": null
                        },
                        "notify": {
                          "advance_in_time": 300,
                          "fixed_time": null,
                          "by": {
                            "follow_preference": false,
                            "personal_channels": [
                              "email"
                            ]
                          },
                          "webhooks": [
                            {
                              "type": "feishu_app",
                              "settings": {
                                "token": "",
                                "alias": "",
                                "data_source_id": 5427276014131,
                                "chat_ids": [
                                  "oc_60a6dc4c6e4e5cbc4934ef08aa7ff76d"
                                ],
                                "verify_token": "",
                                "sign_secret": ""
                              }
                            }
                          ]
                        },
                        "schedule_id": 5789640530410,
                        "schedule_name": "test-000001",
                        "team_id": 4291079133131,
                        "description": "abc",
                        "layer_schedules": null,
                        "status": 0,
                        "cur_oncall": null,
                        "next_oncall": null
                      },
                      {
                        "id": 5432326025106,
                        "name": "test-2509300001",
                        "account_id": 2451002751131,
                        "group_id": 2477033058131,
                        "disabled": 0,
                        "create_at": 1759132037,
                        "create_by": 2476123212131,
                        "update_at": 1775207501,
                        "update_by": 2476123212131,
                        "layers": null,
                        "schedule_layers": null,
                        "final_schedule": {
                          "layer_name": "",
                          "name": "",
                          "mode": 0,
                          "schedules": null
                        },
                        "notify": {
                          "advance_in_time": 300,
                          "fixed_time": null,
                          "by": {
                            "follow_preference": true,
                            "personal_channels": null
                          },
                          "webhooks": null
                        },
                        "schedule_id": 5432326025106,
                        "schedule_name": "test-2509300001",
                        "team_id": 2477033058131,
                        "description": "",
                        "layer_schedules": null,
                        "status": 0,
                        "cur_oncall": null,
                        "next_oncall": null
                      }
                    ],
                    "total": 41
                  }
                }
              }
            }
          },
          "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/ScheduleListRequest"
              },
              "example": {
                "p": 1,
                "limit": 20,
                "query": "production",
                "is_my_team": true
              }
            }
          }
        }
      }
    },
    "/enrichment/mapping/schema/create": {
      "post": {
        "operationId": "mapping-schema-write-create",
        "summary": "创建映射规则",
        "description": "创建新的映射规则，定义查找来源标签和待填充的结果标签。需要 Pro 计划。",
        "tags": [
          "On-call/标签增强"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **映射数据管理**（`on-call`） |\n\n## 使用说明\n\n- 映射规则名称在账户内唯一。\n- `source_labels`（1–3 个）为查找键，`result_labels`（1–10 个）为匹配后写入的标签。\n- 标签名须匹配 `^[a-zA-Z_][a-zA-Z0-9_]*$`，且各列表内不得重复。\n- `source_labels` 与 `result_labels` 不得重叠。\n- 账户最多可创建 20 个映射规则。\n- 每次调用都会记录到账户审计日志，请不要把敏感信息放在请求字段中。",
          "href": "/zh/api-reference/on-call/alert-enrichment/mapping-schema-write-create",
          "metadata": {
            "sidebarTitle": "创建映射规则"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/MappingSchemaCreateResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "schema_id": "665f1a2b3c4d5e6f7a8b9c01",
                    "schema_name": "CMDB Lookup"
                  }
                }
              }
            }
          },
          "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/MappingSchemaCreateRequest"
              },
              "example": {
                "schema_name": "CMDB Lookup",
                "description": "Enrich alerts with CMDB data",
                "source_labels": [
                  "host"
                ],
                "result_labels": [
                  "owner",
                  "team",
                  "service"
                ]
              }
            }
          }
        }
      }
    },
    "/enrichment/mapping/api/update": {
      "post": {
        "operationId": "mapping-api-write-update",
        "summary": "更新映射 API",
        "description": "更新现有映射 API 的配置。",
        "tags": [
          "On-call/标签增强"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **映射数据管理**（`on-call`） |\n\n## 使用说明\n\n- 仅 API 创建者、账户管理员或所属团队成员可更新。\n- 所有可更新字段均为可选，仅更新提供的字段。\n- 每次调用都会记录到账户审计日志，请不要把敏感信息放在请求字段中。",
          "href": "/zh/api-reference/on-call/alert-enrichment/mapping-api-write-update",
          "metadata": {
            "sidebarTitle": "更新映射 API"
          }
        },
        "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/MappingAPIUpdateRequest"
              },
              "example": {
                "api_id": "665f1a2b3c4d5e6f7a8b9c02",
                "timeout": 3,
                "retry_count": 1
              }
            }
          }
        }
      }
    },
    "/calendar/list": {
      "post": {
        "operationId": "calendarList",
        "summary": "查询服务日历列表",
        "description": "返回当前账户可见的服务日历列表。",
        "tags": [
          "On-call/日历管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | 无 —— 持有有效的 `app_key` 即可调用 |",
          "href": "/zh/api-reference/on-call/calendars/calendar-list",
          "metadata": {
            "sidebarTitle": "查询服务日历列表"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/CalendarListResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "items": [
                      {
                        "account_id": 2451002751131,
                        "team_id": 2477033058131,
                        "cal_id": "cal.eh9gvPtWeH3xXgKeVSRxRg",
                        "cal_name": "Stock Exchange Calendar",
                        "description": "A stock market trading calendar example",
                        "timezone": "Asia/Shanghai",
                        "kind": "personal",
                        "workdays": [
                          0,
                          1,
                          2,
                          3,
                          4,
                          5,
                          6
                        ],
                        "created_at": 1702455630,
                        "updated_at": 1775529526,
                        "creator_id": 2476444212131,
                        "updated_by": 3790925372131,
                        "status": "enabled"
                      },
                      {
                        "account_id": 2451002751131,
                        "team_id": 0,
                        "cal_id": "cal.VZYkchxJhGELSF4jzkUAud",
                        "cal_name": "HK Stock Exchange Calendar",
                        "description": "Hong Kong Stock Exchange trading days calendar",
                        "timezone": "Asia/Shanghai",
                        "kind": "personal",
                        "extra_cal_ids": [
                          "zh-cn.china.official"
                        ],
                        "created_at": 1702968470,
                        "updated_at": 1775188967,
                        "creator_id": 2451002751131,
                        "updated_by": 3790925372131,
                        "status": "enabled"
                      }
                    ],
                    "total": 8
                  }
                }
              }
            }
          },
          "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/CalendarListRequest"
              },
              "example": {
                "kind": "personal"
              }
            }
          }
        }
      }
    },
    "/incident/responder/add": {
      "post": {
        "operationId": "incidentResponderAdd",
        "summary": "添加故障处理人员",
        "description": "向已有故障添加处理人员。",
        "tags": [
          "On-call/故障管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **故障管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/incidents/incident-responder-add",
          "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/AddIncidentResponderRequest"
              },
              "example": {
                "incident_id": "69da451ef77b1b51f40e83ee",
                "person_ids": [
                  2476444212131,
                  2476444212132
                ]
              }
            }
          }
        }
      }
    },
    "/insight/team/export": {
      "post": {
        "operationId": "insightTeamExport",
        "summary": "导出团队洞察",
        "description": "将团队维度洞察指标导出为 CSV 文件——每行一个团队（使用 `aggregate_unit`/`split_hours` 时按时间桶/小时桶拆分）。响应为 CSV 字节流（`Content-Disposition: attachment`），不是 JSON 响应包。`time_zone` 缺省为 UTC。无有效团队 ID 的行会被跳过。可用的 `export_fields` key：team_id, team_name, total_incident_cnt, total_incidents_acknowledged, total_incidents_closed, total_incidents_auto_closed, total_incidents_manually_closed, total_incidents_timeout_closed, total_incidents_escalated, total_incidents_manually_escalated, total_incidents_timeout_escalated, total_incidents_reassigned, total_interruptions, total_notifications, total_engaged_seconds, mean_seconds_to_ack, mean_seconds_to_close, noise_reduction_pct, acknowledgement_pct, total_alert_cnt, total_alert_event_cnt, hours。`hours` 列仅在 `split_hours` 为 true 时默认包含。为兼容起见，故障导出列的 key 也可传入，但导出为空列。",
        "tags": [
          "On-call/分析看板"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **100 次/天**；**20 次/分钟**；**10 次/秒** |\n| 权限要求 | **分析看板查看**（`on-call`） |",
          "href": "/zh/api-reference/on-call/analytics/insight-team-export",
          "metadata": {
            "sidebarTitle": "导出团队洞察"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary",
                  "description": "CSV 字节流（`Content-Type: application/octet-stream`，`Content-Disposition: attachment; filename=team_export_yyyyMMdd_HHmmss.csv`）。首行为本地化列名。列默认为完整字段集，或由 `export_fields` 指定。"
                },
                "example": "team_id,team_name,total_incident_cnt,total_incidents_closed\n4295771902131,SRE Team,12,10\n"
              }
            }
          },
          "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/InsightQueryRequest"
              },
              "example": {
                "start_time": 1712000000,
                "end_time": 1712604800,
                "team_ids": [
                  4295771902131
                ],
                "severities": [
                  "Critical",
                  "Warning"
                ]
              }
            }
          }
        }
      }
    },
    "/schedule/delete": {
      "post": {
        "operationId": "scheduleDelete",
        "summary": "删除值班表",
        "description": "根据 ID 删除一个或多个值班表。",
        "tags": [
          "On-call/值班排班"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **值班管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/schedules/schedule-delete",
          "metadata": {
            "sidebarTitle": "删除值班表"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/ScheduleEmptyObject"
                        }
                      }
                    }
                  ]
                },
                "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/ScheduleIDsBodyRequest"
              },
              "example": {
                "schedule_ids": [
                  2001
                ]
              }
            }
          }
        }
      }
    },
    "/status-page/change/timeline/delete": {
      "post": {
        "operationId": "statusPageChangeTimelineDelete",
        "summary": "删除事件时间线",
        "description": "从状态页事件中删除时间线条目。",
        "tags": [
          "On-call/状态页"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **状态页面事件管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/status-pages/status-page-change-timeline-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/DeleteStatusPageChangeTimelineRequest"
              },
              "example": {
                "page_id": 5750613685214,
                "change_id": 5821693893131,
                "update_id": "01KP0311872NVYFRRQ82FWXAP4"
              }
            }
          }
        }
      }
    },
    "/incident/war-room/create": {
      "post": {
        "operationId": "incidentWarRoomCreate",
        "summary": "创建战情室",
        "description": "为故障协同响应创建战情室频道。",
        "tags": [
          "On-call/故障管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **故障管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/incidents/incident-war-room-create",
          "metadata": {
            "sidebarTitle": "创建战情室"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/WarRoom"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "chat_id": "oc_a0553eda9014c2de1b3a8f75b4e0c000",
                    "chat_name": "Incident #0E83EE war room",
                    "share_link": ""
                  }
                }
              }
            }
          },
          "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/CreateWarRoomRequest"
              },
              "example": {
                "incident_id": "69da451ef77b1b51f40e83ee",
                "integration_id": 2490562293131,
                "add_observers": true
              }
            }
          }
        }
      }
    },
    "/channel/unsubscribe/rule/update": {
      "post": {
        "operationId": "channelUnsubscribeRuleUpdate",
        "summary": "更新排除规则",
        "description": "更新已有排除规则的配置。",
        "tags": [
          "On-call/协作空间"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | 无 —— 持有有效的 `app_key` 即可调用 |",
          "href": "/zh/api-reference/on-call/channels/channel-unsubscribe-rule-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/UpdateDropRuleRequest"
              },
              "example": {
                "channel_id": 1001,
                "rule_id": "6621b23f4a2c5e0012ab34cf",
                "rule_name": "Drop test alerts",
                "filters": [
                  [
                    {
                      "key": "labels.env",
                      "oper": "IN",
                      "vals": [
                        "test"
                      ]
                    }
                  ]
                ]
              }
            }
          }
        }
      }
    },
    "/route/upsert": {
      "post": {
        "operationId": "routeUpsert",
        "summary": "创建或更新路由规则",
        "description": "创建或更新集成的路由规则，将告警导向特定协作空间。`cases` 与 `default` 至少需要提供其一。",
        "tags": [
          "On-call/协作空间"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **集成中心管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/channels/route-upsert",
          "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/UpsertRouteRequest"
              },
              "example": {
                "integration_id": 6113996590131,
                "cases": [
                  {
                    "if": [
                      {
                        "key": "severity",
                        "oper": "IN",
                        "vals": [
                          "Critical"
                        ]
                      }
                    ],
                    "channel_ids": [
                      3521074710131
                    ],
                    "fallthrough": false,
                    "routing_mode": "standard"
                  }
                ],
                "default": {
                  "channel_ids": [
                    3521074710131
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/calendar/create": {
      "post": {
        "operationId": "calendarCreate",
        "summary": "创建服务日历",
        "description": "创建个人服务日历。每个账户默认最多 5 个日历，可通过 Flashcat-Break-Cal-Limit 请求头突破限制。",
        "tags": [
          "On-call/日历管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **服务日历管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/calendars/calendar-create",
          "metadata": {
            "sidebarTitle": "创建服务日历"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/CalendarCreateResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "cal_id": "cal.QiNvtdKs4Wj52kZhT3LafM",
                    "cal_name": "API Test Calendar"
                  }
                }
              }
            }
          },
          "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/CalendarCreateRequest"
              },
              "example": {
                "cal_name": "Production On-Call Calendar",
                "description": "Calendar for production on-call team",
                "timezone": "Asia/Shanghai",
                "workdays": [
                  1,
                  2,
                  3,
                  4,
                  5
                ]
              }
            }
          }
        }
      }
    },
    "/incident/ack": {
      "post": {
        "operationId": "incidentAck",
        "summary": "认领故障",
        "description": "认领一个故障以表明正在积极处理。",
        "tags": [
          "On-call/故障管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **故障管理**（`on-call`） |\n\n## 使用说明\n\n- 认领表单生效时，`custom_fields`、`summary` 和 `images` 必须符合其中可见元素及必填规则。\n- 批量操作只有在全部选中的故障解析到同一张表单时才接受表单值；否则请逐条认领。\n- 旧字段 `values` 和 `custom_values` 会被拒绝，请使用 `custom_fields`。\n- 已审计 —— 变更会记录到审计日志。",
          "href": "/zh/api-reference/on-call/incidents/incident-ack",
          "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/AckIncidentRequest"
              },
              "example": {
                "incident_ids": [
                  "69da451ef77b1b51f40e83ee"
                ]
              }
            }
          }
        }
      }
    },
    "/channel/escalate/rule/list": {
      "post": {
        "operationId": "channelEscalateRuleList",
        "summary": "查询分派策略列表",
        "description": "查询协作空间下的所有分派策略。",
        "tags": [
          "On-call/协作空间"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **协作空间查看**（`on-call`） |",
          "href": "/zh/api-reference/on-call/channels/channel-escalate-rule-list",
          "metadata": {
            "sidebarTitle": "查询分派策略列表"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/ListEscalationRulesResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "items": [
                      {
                        "account_id": 2451002751131,
                        "channel_id": 6193426913131,
                        "priority": 0,
                        "aggr_window": 0,
                        "rule_name": "Default",
                        "description": "",
                        "layers": [
                          {
                            "max_times": 1,
                            "notify_step": 10,
                            "target": {
                              "person_ids": [
                                3790925372131
                              ],
                              "by": {
                                "follow_preference": true
                              },
                              "webhooks": null
                            },
                            "escalate_window": 30,
                            "force_escalate": false
                          }
                        ],
                        "time_filters": [],
                        "filters": [],
                        "status": "enabled",
                        "template_id": "6321aad26c12104586a88916",
                        "rule_id": "69bd0ce95a238693176c1d66",
                        "updated_by": 3790925372131,
                        "created_at": 1773997289,
                        "updated_at": 1773997289
                      }
                    ]
                  }
                }
              }
            }
          },
          "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/ChannelScopedListRequest"
              },
              "example": {
                "channel_id": 1001
              }
            }
          }
        }
      }
    },
    "/channel/create": {
      "post": {
        "operationId": "channelCreate",
        "summary": "创建协作空间",
        "description": "创建一个新的协作空间用于故障管理。",
        "tags": [
          "On-call/协作空间"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **协作空间管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/channels/channel-create",
          "metadata": {
            "sidebarTitle": "创建协作空间"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/ChannelCreateResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "channel_id": 6294542005131,
                    "channel_name": "API Test Channel"
                  }
                }
              }
            }
          },
          "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/CreateChannelRequest"
              },
              "example": {
                "team_id": 3521074710131,
                "channel_name": "Production Alerts",
                "description": "Handles all production environment alerts",
                "group": {
                  "method": "p",
                  "time_window": 10,
                  "window_type": "tumbling"
                },
                "auto_resolve_timeout": 86400,
                "auto_resolve_mode": "trigger"
              }
            }
          }
        }
      }
    },
    "/status-page/subscriber/list": {
      "get": {
        "operationId": "statusPageSubscriberList",
        "summary": "查询状态页订阅者列表",
        "description": "查询已订阅状态页通知的用户列表。",
        "tags": [
          "On-call/状态页"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | 无 —— 持有有效的 `app_key` 即可调用 |",
          "href": "/zh/api-reference/on-call/status-pages/status-page-subscriber-list",
          "metadata": {
            "sidebarTitle": "查询状态页订阅者列表"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/StatusPageSubscriberListResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "total": 2,
                    "has_next_page": false,
                    "items": [
                      {
                        "recipient": "alice@example.com",
                        "method": "email",
                        "components": [],
                        "all": true,
                        "locale": "zh-CN"
                      },
                      {
                        "recipient": "bob@example.com",
                        "method": "email",
                        "components": [],
                        "all": true,
                        "locale": "en-US"
                      }
                    ]
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "parameters": [
          {
            "name": "page_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "description": "状态页 ID。"
          },
          {
            "name": "component_ids",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "用于筛选订阅者的组件 ID，多个以英文逗号分隔。"
          },
          {
            "name": "p",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "minimum": 1,
              "default": 1
            },
            "description": "页码（从 1 开始）。"
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "minimum": 1,
              "maximum": 100,
              "default": 10
            },
            "description": "每页条数（1-100）。"
          }
        ]
      }
    },
    "/incident/info": {
      "post": {
        "operationId": "incidentInfo",
        "summary": "获取故障详情",
        "description": "获取单个故障的详细信息，包括时间线、关联告警、处理人员和自定义字段。",
        "tags": [
          "On-call/故障管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **故障查看**（`on-call`） |",
          "href": "/zh/api-reference/on-call/incidents/incident-info",
          "metadata": {
            "sidebarTitle": "获取故障详情"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/IncidentInfo"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "incident_id": "69da451ef77b1b51f40e83ee",
                    "account_id": 2451002751131,
                    "channel_id": 2551105804131,
                    "team_id": 2477033058131,
                    "integration_id": 2490562293131,
                    "integration_ids": [
                      2490562293131
                    ],
                    "integration_types": [
                      "monit.alert"
                    ],
                    "dedup_key": "100128:prom-203.0.113.107:A:1579244238440766834:anydata",
                    "equals_md5": "",
                    "start_time": 1775912219,
                    "end_time": 0,
                    "last_time": 1775969819,
                    "ack_time": 0,
                    "close_time": 0,
                    "creator_id": 0,
                    "closer_id": 0,
                    "owner_id": 0,
                    "incident_status": "Critical",
                    "incident_severity": "Critical",
                    "progress": "Triggered",
                    "title": "CPU usage high - web-server-01",
                    "description": "",
                    "ai_summary": "",
                    "impact": "",
                    "root_cause": "",
                    "resolution": "",
                    "num": "0E83EE",
                    "frequency": "frequent",
                    "created_at": 1775912222,
                    "updated_at": 1775972145,
                    "snoozed_before": 0,
                    "group_method": "n",
                    "ever_muted": false,
                    "labels": {
                      "check": "cpu_usage_high",
                      "resource": "web-server-01",
                      "env": "production"
                    },
                    "fields": {},
                    "assigned_to": {
                      "person_ids": [
                        2476444212131
                      ],
                      "escalate_rule_id": "000000000000000000000000",
                      "layer_idx": 0,
                      "type": "assign",
                      "assigned_at": 1775972128,
                      "id": "MvQfH9Dc8eNS8k79jmrWn6",
                      "escalate_rule_name": ""
                    },
                    "alert_cnt": 1,
                    "active_alert_cnt": 1,
                    "alert_event_cnt": 17,
                    "responders": [
                      {
                        "person_id": 2476444212131,
                        "assigned_at": 1775972128,
                        "acknowledged_at": 0
                      }
                    ],
                    "account_name": "",
                    "account_locale": "",
                    "account_time_zone": "",
                    "channel_name": "Ops Channel",
                    "channel_status": "enabled",
                    "detail_url": "https://app.flashcat.cloud/incident/detail/69da451ef77b1b51f40e83ee",
                    "silence_url": "https://app.flashcat.cloud/channel/detail/2551105804131?tab=alertSuppression&fromIncidentId=69da451ef77b1b51f40e83ee",
                    "integration_type": "monit.alert",
                    "post_mortem_id": "",
                    "images": null,
                    "manual_overrides": [
                      "title"
                    ]
                  }
                }
              }
            }
          },
          "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/IncidentInfoRequest"
              },
              "example": {
                "incident_id": "69da451ef77b1b51f40e83ee"
              }
            }
          }
        }
      }
    },
    "/enrichment/mapping/schema/info": {
      "post": {
        "operationId": "mapping-schema-read-info",
        "summary": "查看映射规则详情",
        "description": "根据映射规则 ID 返回单个映射规则的详细信息。",
        "tags": [
          "On-call/标签增强"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **集成中心查看**（`on-call`） 或 **集成中心管理**（`on-call`） 或 **映射数据查看**（`on-call`） 或 **映射数据管理**（`on-call`） |\n\n## 使用说明\n\n- 映射规则不存在时返回 `null`。",
          "href": "/zh/api-reference/on-call/alert-enrichment/mapping-schema-read-info",
          "metadata": {
            "sidebarTitle": "查看映射规则详情"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/MappingSchemaItem"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "schema_id": "665f1a2b3c4d5e6f7a8b9c01",
                    "schema_name": "CMDB Lookup",
                    "description": "Enrich alerts with CMDB data",
                    "source_labels": [
                      "host"
                    ],
                    "result_labels": [
                      "owner",
                      "team",
                      "service"
                    ],
                    "status": "enabled",
                    "team_id": 0,
                    "creator_id": 80011,
                    "created_at": 1710000000,
                    "updated_at": 1710000000
                  }
                }
              }
            }
          },
          "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/MappingSchemaIDRequest"
              },
              "example": {
                "schema_id": "665f1a2b3c4d5e6f7a8b9c01"
              }
            }
          }
        }
      }
    },
    "/status-page/subscriber/import": {
      "post": {
        "operationId": "statusPageSubscriberImport",
        "summary": "批量导入订阅者",
        "description": "批量导入状态页订阅者。账户需开通订阅者导入白名单，否则将被拒绝（返回权限不足错误）。",
        "tags": [
          "On-call/状态页"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **20 次/分钟**；**2 次/秒** |\n| 权限要求 | **状态页面管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/status-pages/status-page-subscriber-import",
          "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/ImportStatusPageSubscribersRequest"
              },
              "example": {
                "page_id": 5750613685214,
                "method": "email",
                "subscribers": [
                  {
                    "recipient": "alice@example.com",
                    "all": true,
                    "locale": "en-US"
                  },
                  {
                    "recipient": "bob@example.com",
                    "component_ids": [
                      "01KC3GAZ6ZJE40H55GM31RPWZE"
                    ],
                    "all": false,
                    "locale": "zh-CN"
                  }
                ]
              }
            }
          }
        }
      }
    },
    "/alert-event/list": {
      "post": {
        "operationId": "alert-event-read-list",
        "summary": "查询原始告警事件列表",
        "description": "返回跨所有告警的原始告警事件分页列表，支持按集成、协作空间、时间范围和严重程度过滤。",
        "tags": [
          "On-call/告警管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **协作空间查看**（`on-call`） |\n\n## 使用说明\n\n- `start_time` 和 `end_time` 均为必填的 Unix 时间戳（秒）。`start_time` 必须小于 `end_time`，跨度不超过 31 天。\n- 结果会根据调用方的协作空间数据访问权限进行过滤。\n- `severities` 为逗号分隔的字符串，如 `\"Critical,Warning\"`。",
          "href": "/zh/api-reference/on-call/alerts/alert-event-read-list",
          "metadata": {
            "sidebarTitle": "查询原始告警事件列表"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/AlertEventGlobalListResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "total": 1,
                    "has_next_page": false,
                    "items": [
                      {
                        "event_id": "663a1b2c3d4e5f6789abc001",
                        "alert_id": "663a1b2c3d4e5f6789abcdef",
                        "title": "CPU usage > 90%",
                        "event_severity": "Critical",
                        "event_time": 1712650000
                      }
                    ]
                  }
                }
              }
            }
          },
          "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/AlertEventGlobalListRequest"
              },
              "example": {
                "start_time": 1712620800,
                "end_time": 1712707200,
                "limit": 20,
                "severities": "Critical"
              }
            }
          }
        }
      }
    },
    "/calendar/event/delete": {
      "post": {
        "operationId": "calEventDelete",
        "summary": "删除日历事件",
        "description": "按 event_id 删除个人日历的一个事件，或清除该日历自己在 [start_at, end_at) 这些日期上的事件。event_id 与 start_at/end_at 二选一，start_at 和 end_at 须同时传入。清除后这些日期回到关联节假日日历和每周工作日设置的判定。",
        "tags": [
          "On-call/日历管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **服务日历管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/calendars/cal-event-delete",
          "metadata": {
            "sidebarTitle": "删除日历事件"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/CalendarEmptyObject"
                        }
                      }
                    }
                  ]
                },
                "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/CalEventIDRequest"
              },
              "example": {
                "cal_id": "cal.QiNvtdKs4Wj52kZhT3LafM",
                "event_id": "cale.KyG9XWTCU5CucbwukEVBQ4"
              }
            }
          }
        }
      }
    },
    "/alert/pipeline/list": {
      "post": {
        "operationId": "alert-read-pipeline-list",
        "summary": "批量查询告警处理规则",
        "description": "返回多个集成的告警处理规则配置。",
        "tags": [
          "On-call/告警管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **集成中心查看**（`on-call`） |\n\n## 使用说明\n\n- 所有 `integration_ids` 必须对调用方可访问。",
          "href": "/zh/api-reference/on-call/alerts/alert-read-pipeline-list",
          "metadata": {
            "sidebarTitle": "批量查询告警处理规则"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/AlertPipelineListResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "items": [
                      {
                        "integration_id": 10001,
                        "rules": [
                          {
                            "kind": "alert_inhibit",
                            "if": [
                              {
                                "key": "labels.cluster",
                                "oper": "IN",
                                "vals": [
                                  "prod-cn"
                                ]
                              }
                            ],
                            "settings": {
                              "equals": [
                                "service"
                              ],
                              "source_filters": [
                                {
                                  "key": "alert_severity",
                                  "oper": "IN",
                                  "vals": [
                                    "Critical"
                                  ]
                                }
                              ]
                            }
                          }
                        ],
                        "status": "enabled",
                        "creator_id": 80011,
                        "updated_by": 80011,
                        "created_at": 1710000000,
                        "updated_at": 1712000000
                      }
                    ]
                  }
                }
              }
            }
          },
          "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/AlertPipelineListRequest"
              },
              "example": {
                "integration_ids": [
                  10001,
                  10002
                ]
              }
            }
          }
        }
      }
    },
    "/incident/post-mortem/info": {
      "get": {
        "operationId": "incidentPostMortemInfo",
        "summary": "获取复盘报告",
        "description": "通过 `post_mortem_id` 获取复盘报告。先用 `/incident/post-mortem/list` 列出报告（每行标明所属故障），再用其 id 在此获取完整报告。",
        "tags": [
          "On-call/故障管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **故障查看**（`on-call`） |",
          "href": "/zh/api-reference/on-call/incidents/incident-post-mortem-info",
          "metadata": {
            "sidebarTitle": "获取复盘报告"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/PostMortemItem"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "meta": {
                      "account_id": 2451002751131,
                      "title": "Postmortem1",
                      "status": "published",
                      "post_mortem_id": "8104935102bf89dc01ac638a5261fe7e",
                      "template_id": "post_mortem_default_tmpl_en-us",
                      "incident_ids": [
                        "69bb9233331067560c718ecd"
                      ],
                      "media_count": 0,
                      "author_ids": [
                        2477273692131
                      ],
                      "team_id": 2477033058131,
                      "channel_id": 3047621227131,
                      "is_private": false,
                      "channel_name": "Ops Channel",
                      "created_at_seconds": 1773900354,
                      "updated_at_seconds": 1773909012
                    },
                    "basics": {
                      "incidents_highest_severity": "Warning",
                      "incidents_earliest_start_seconds": 1761133512,
                      "incidents_latest_close_seconds": 1761133632,
                      "incidents_total_duration_seconds": 120,
                      "responders": [
                        {
                          "person_id": 3790925372131,
                          "assigned_at": 1761133515,
                          "acknowledged_at": 0
                        }
                      ]
                    },
                    "content": {
                      "content": "{\"type\":\"doc\",\"content\":[]}"
                    },
                    "follow_ups": ""
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "parameters": [
          {
            "name": "post_mortem_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "故障复盘 ID。由账户 ID 与关联故障 ID 集合推导出的确定性哈希值。"
          }
        ]
      }
    },
    "/calendar/event/list": {
      "post": {
        "operationId": "calEventList",
        "summary": "查询日历事件列表",
        "description": "返回个人日历在指定年/月/日范围内的事件列表。未同时传入 month 和 day 时返回整年数据。响应中的 days 给出范围内每一天的判定结果。",
        "tags": [
          "On-call/日历管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | 无 —— 持有有效的 `app_key` 即可调用 |",
          "href": "/zh/api-reference/on-call/calendars/cal-event-list",
          "metadata": {
            "sidebarTitle": "查询日历事件列表"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/CalEventListResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "items": [
                      {
                        "account_id": 2451002751131,
                        "creator_id": 2476444212131,
                        "cal_id": "cal.QiNvtdKs4Wj52kZhT3LafM",
                        "event_id": "cale.KyG9XWTCU5CucbwukEVBQ4",
                        "summary": "Test Holiday",
                        "description": "A test holiday event",
                        "start_at": "2026-05-01",
                        "end_at": "2026-05-02",
                        "is_off": true,
                        "created_at": 1775972034,
                        "updated_at": 1775972034
                      },
                      {
                        "account_id": 2451002751131,
                        "creator_id": 2451002751131,
                        "cal_id": "cal.QiNvtdKs4Wj52kZhT3LafM",
                        "event_id": "non_work.20260502",
                        "summary": "non-working day (Saturday)",
                        "description": "",
                        "start_at": "2026-05-02",
                        "end_at": "2026-05-03",
                        "is_off": true,
                        "created_at": 0,
                        "updated_at": 0
                      }
                    ],
                    "total": 11,
                    "days": {
                      "2026-05-01": {
                        "is_off": true,
                        "event_id": "cale.KyG9XWTCU5CucbwukEVBQ4",
                        "layer": "custom"
                      },
                      "2026-05-02": {
                        "is_off": true,
                        "event_id": "non_work.20260502",
                        "layer": "weekly"
                      },
                      "2026-05-09": {
                        "is_off": false,
                        "event_id": "zh-cn.china.official.c234057c-fd90-380e-889c-3e3254dd5b01",
                        "layer": "holiday"
                      },
                      "2026-05-11": {
                        "is_off": false
                      }
                    }
                  }
                }
              }
            }
          },
          "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/CalEventListRequest"
              },
              "example": {
                "cal_id": "cal.QiNvtdKs4Wj52kZhT3LafM",
                "year": 2024,
                "month": 5
              }
            }
          }
        }
      }
    },
    "/status-page/change/timeline/create": {
      "post": {
        "operationId": "statusPageChangeTimelineCreate",
        "summary": "创建事件时间线",
        "description": "在状态页事件上添加时间线更新。",
        "tags": [
          "On-call/状态页"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **状态页面事件管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/status-pages/status-page-change-timeline-create",
          "metadata": {
            "sidebarTitle": "创建事件时间线"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/StatusPageChangeTimelineCreateResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "update_id": "01KP0311872NVYFRRQ82FWXAP4"
                  }
                }
              }
            }
          },
          "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/CreateStatusPageChangeTimelineRequest"
              },
              "example": {
                "page_id": 5750613685214,
                "change_id": 5821693893131,
                "status": "identified",
                "description": "We have identified the root cause and are working on a fix.",
                "at_seconds": 1712003600,
                "component_changes": [
                  {
                    "component_id": "01KC3GAZ6ZJE40H55GM31RPWZE",
                    "status": "partial_outage"
                  }
                ]
              }
            }
          }
        }
      }
    },
    "/incident/disable-merge": {
      "post": {
        "operationId": "incidentDisableMerge",
        "summary": "禁止故障合并",
        "description": "禁用指定故障的自动合并功能。",
        "tags": [
          "On-call/故障管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **故障管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/incidents/incident-disable-merge",
          "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/DisableIncidentMergeRequest"
              },
              "example": {
                "incident_ids": [
                  "69da451ef77b1b51f40e83ee"
                ]
              }
            }
          }
        }
      }
    },
    "/status-page/migration/cancel": {
      "post": {
        "operationId": "statusPageMigrationCancel",
        "summary": "取消状态页迁移",
        "description": "取消正在进行的状态页迁移任务。只能取消处于 `running` 状态的任务。",
        "tags": [
          "On-call/状态页"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **状态页面管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/status-pages/status-page-migration-cancel",
          "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/CancelStatusPageMigrationRequest"
              },
              "example": {
                "job_id": "01KP0311872NVYFRRQ82FW0001"
              }
            }
          }
        }
      }
    },
    "/enrichment/upsert": {
      "post": {
        "operationId": "enrichment-write-upsert",
        "summary": "创建或替换富化规则",
        "description": "创建或全量替换指定集成的告警富化规则集，`rules` 数组将被原子替换。",
        "tags": [
          "On-call/标签增强"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **协作空间管理**（`on-call`） 或 **集成中心管理**（`on-call`） |\n\n## 使用说明\n\n- 富化规则按顺序依次执行。\n- 每条规则有一个 `kind`：`extraction`（正则/gjson 提取）、`composition`（模板组合标签）、`mapping`（通过映射规则或 API 查找）、`drop`（删除标签）。\n- 可选的 `if` 字段为 `AndFilters` 条件，不匹配时跳过该规则。\n- `kind: extraction`：`source_field` 须为 `title`、`description` 或 `labels.*` 前缀的键；`pattern`（RE2 正则，捕获组用空格连接后写入 `result_label`）和 `g_json`（GJson 路径）二选一。\n- `kind: composition`：`template` 为基于事件结构体渲染的 Go text/template，如 `{{.Title}}`、`{{.Description}}`、`{{.Labels.key}}`。\n- `kind: mapping`：`mapping_type` 为 `schema`（默认）或 `api`；分别提供 `schema_id` 或 `api_id`。\n- `kind: drop`：`drop_labels` 列出要删除的标签键名。\n- 每次调用都会记录到账户审计日志，请不要把敏感信息放在请求字段中。",
          "href": "/zh/api-reference/on-call/alert-enrichment/enrichment-write-upsert",
          "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/EnrichmentUpsertRequest"
              },
              "example": {
                "integration_id": 5001,
                "rules": [
                  {
                    "kind": "extraction",
                    "settings": {
                      "source_field": "labels.env",
                      "result_label": "environment",
                      "pattern": "(?P<result>prod|staging|dev)",
                      "override": true
                    }
                  },
                  {
                    "kind": "composition",
                    "settings": {
                      "result_label": "full_env",
                      "template": "{{.Labels.region}}-{{.Labels.environment}}",
                      "override": false
                    }
                  }
                ]
              }
            }
          }
        }
      }
    },
    "/alert/list-by-ids": {
      "post": {
        "operationId": "alert-read-list-by-ids",
        "summary": "批量查询告警",
        "description": "通过多个告警 ID 一次性返回多条告警详情。 注意：本接口不分页——`total`、`has_next_page` 恒为 `0`/`false`，`search_after_ctx` 不会返回。",
        "tags": [
          "On-call/告警管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **协作空间查看**（`on-call`） |\n\n## 使用说明\n\n- 所有 `alert_ids` 必须属于调用方账户，任何无效 ID 都会导致整个请求失败。",
          "href": "/zh/api-reference/on-call/alerts/alert-read-list-by-ids",
          "metadata": {
            "sidebarTitle": "批量查询告警"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/AlertListResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "total": 0,
                    "has_next_page": false,
                    "items": [
                      {
                        "alert_id": "663a1b2c3d4e5f6789abcdef",
                        "title": "CPU usage > 90%"
                      }
                    ]
                  }
                }
              }
            }
          },
          "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/AlertListByIDsRequest"
              },
              "example": {
                "alert_ids": [
                  "663a1b2c3d4e5f6789abcdef"
                ]
              }
            }
          }
        }
      }
    },
    "/channel/escalate/rule/enable": {
      "post": {
        "operationId": "channelEscalateRuleEnable",
        "summary": "启用分派策略",
        "description": "启用已禁用的分派策略。仅 `disabled` 状态的策略可启用。",
        "tags": [
          "On-call/协作空间"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **协作空间管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/channels/channel-escalate-rule-enable",
          "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/ChannelRuleIDRequest"
              },
              "example": {
                "channel_id": 3521074710131,
                "rule_id": "6621b23f4a2c5e0012ab34cd"
              }
            }
          }
        }
      }
    },
    "/incident/list": {
      "post": {
        "operationId": "incidentList",
        "summary": "查询故障列表",
        "description": "分页查询故障列表，支持按协作空间、严重程度、状态、处理人员和时间范围过滤。",
        "tags": [
          "On-call/故障管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **故障查看**（`on-call`） |",
          "href": "/zh/api-reference/on-call/incidents/incident-list",
          "metadata": {
            "sidebarTitle": "查询故障列表"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/IncidentListResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "total": 88,
                    "has_next_page": true,
                    "search_after_ctx": "69da451ef77b1b51f40e83eb",
                    "items": [
                      {
                        "incident_id": "69da451ef77b1b51f40e83ee",
                        "account_id": 2451002751131,
                        "channel_id": 2551105804131,
                        "team_id": 2477033058131,
                        "integration_id": 2490562293131,
                        "integration_ids": [
                          2490562293131
                        ],
                        "integration_types": [
                          "monit.alert"
                        ],
                        "dedup_key": "100128:prom-203.0.113.107:A:1579244238440766834:anydata",
                        "equals_md5": "",
                        "start_time": 1775912219,
                        "end_time": 0,
                        "last_time": 1775969819,
                        "ack_time": 0,
                        "close_time": 0,
                        "creator_id": 0,
                        "closer_id": 0,
                        "owner_id": 0,
                        "incident_status": "Critical",
                        "incident_severity": "Critical",
                        "progress": "Triggered",
                        "title": "CPU usage high - web-server-01",
                        "description": "",
                        "ai_summary": "",
                        "impact": "",
                        "root_cause": "",
                        "resolution": "",
                        "num": "0E83EE",
                        "frequency": "frequent",
                        "created_at": 1775912222,
                        "updated_at": 1775972145,
                        "snoozed_before": 0,
                        "group_method": "n",
                        "ever_muted": false,
                        "labels": {
                          "check": "cpu_usage_high",
                          "resource": "web-server-01",
                          "env": "production"
                        },
                        "fields": {},
                        "assigned_to": {
                          "person_ids": [
                            2476444212131
                          ],
                          "escalate_rule_id": "000000000000000000000000",
                          "layer_idx": 0,
                          "type": "assign",
                          "assigned_at": 1775972128,
                          "id": "MvQfH9Dc8eNS8k79jmrWn6",
                          "escalate_rule_name": ""
                        },
                        "alert_cnt": 1,
                        "active_alert_cnt": 1,
                        "alert_event_cnt": 17,
                        "responders": [
                          {
                            "person_id": 2476444212131,
                            "assigned_at": 1775972128,
                            "acknowledged_at": 0
                          }
                        ],
                        "account_name": "",
                        "account_locale": "",
                        "account_time_zone": "",
                        "channel_name": "Ops Channel",
                        "channel_status": "enabled",
                        "detail_url": "https://app.flashcat.cloud/incident/detail/69da451ef77b1b51f40e83ee",
                        "silence_url": "https://app.flashcat.cloud/channel/detail/2551105804131?tab=alertSuppression&fromIncidentId=69da451ef77b1b51f40e83ee",
                        "integration_type": "monit.alert",
                        "post_mortem_id": "",
                        "images": null,
                        "manual_overrides": [
                          "title"
                        ]
                      }
                    ]
                  }
                }
              }
            }
          },
          "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/ListIncidentsRequest"
              },
              "example": {
                "start_time": 1711900800,
                "end_time": 1712000000,
                "progress": "Triggered,Processing",
                "incident_severity": "Critical,Warning",
                "channel_ids": [
                  2551105804131
                ],
                "limit": 20,
                "p": 1
              }
            }
          }
        }
      }
    },
    "/incident/sdp/request/list": {
      "post": {
        "operationId": "incident-service-desk-plus-request-read-list",
        "summary": "获取 ServiceDeskPlus 关联故障",
        "description": "分页查询 ServiceDeskPlus 请求与 Flashduty 故障的同步映射记录。",
        "tags": [
          "On-call/故障管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **故障查看**（`on-call`） |\n\n## 使用说明\n\n- 查询 ServiceDeskPlus 请求与 Flashduty 故障之间的同步映射记录，用于排查 ITSM 同步状态或定位外部请求链接。\n- 不按 `incident_id` 查询时，`start_time` 和 `end_time` 必填，均为 Unix 秒时间戳；时间范围不能超过 30 天。\n- `status` 仅支持 `success` 和 `failed`，分别表示同步成功和同步失败。\n- 响应按内部记录 ID 排序；`asc` 为 `true` 时升序，否则降序。继续翻页时传入上次响应的 `search_after_ctx`。",
          "href": "/zh/api-reference/on-call/incidents/incident-service-desk-plus-request-read-list",
          "metadata": {
            "sidebarTitle": "获取 ServiceDeskPlus 关联故障"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/ServiceDeskPlusRequestListResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "items": [
                      {
                        "created_at": 1779514631,
                        "status": "success",
                        "request_id": "100000000001",
                        "request_link": "https://servicedesk.example.com/app/itdesk/ui/requests/100000000001/details",
                        "integration_id": 98765,
                        "incident_id": "685d7f4e51b9a9a6d4d0c123",
                        "incident_title": "Checkout API 5xx rate increased",
                        "channel_id": 12345,
                        "channel_name": "Payments"
                      }
                    ],
                    "total": 1,
                    "has_next_page": false,
                    "search_after_ctx": ""
                  }
                }
              }
            }
          },
          "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/ServiceDeskPlusRequestListRequest"
              },
              "example": {
                "start_time": 1779513600,
                "end_time": 1779600000,
                "status": "success",
                "channel_ids": [
                  12345
                ],
                "limit": 20
              }
            }
          }
        }
      }
    },
    "/insight/alert/topk-by-label": {
      "post": {
        "operationId": "insightTopkAlertsByLabel",
        "summary": "查看按 check/resource 聚合的 Top-K 告警",
        "description": "返回指定时间范围内按 `check` 或 `resource` 聚合的 Top-K 告警组。",
        "tags": [
          "On-call/分析看板"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **分析看板查看**（`on-call`） |",
          "href": "/zh/api-reference/on-call/analytics/insight-topk-alerts-by-label",
          "metadata": {
            "sidebarTitle": "查看按 check/resource 聚合的 Top-K 告警"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/InsightAlertByLabelResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "items": [
                      {
                        "label": "cpu-high",
                        "total_alert_cnt": 312,
                        "total_alert_event_cnt": 987
                      },
                      {
                        "label": "disk-full",
                        "total_alert_cnt": 178,
                        "total_alert_event_cnt": 452
                      },
                      {
                        "label": "memory-oom",
                        "total_alert_cnt": 94,
                        "total_alert_event_cnt": 231
                      }
                    ]
                  }
                }
              }
            }
          },
          "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/InsightTopkAlertByLabelRequest"
              },
              "example": {
                "start_time": 1712000000,
                "end_time": 1712604800,
                "label": "check",
                "k": 10,
                "orderby": "total_alert_cnt"
              }
            }
          }
        }
      }
    },
    "/enrichment/list": {
      "post": {
        "operationId": "enrichment-read-list",
        "summary": "批量查询富化规则",
        "description": "批量返回指定集成 ID 列表的告警富化规则集。",
        "tags": [
          "On-call/标签增强"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **集成中心查看**（`on-call`） 或 **集成中心管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/alert-enrichment/enrichment-read-list",
          "metadata": {
            "sidebarTitle": "批量查询富化规则"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/EnrichmentListResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "items": [
                      {
                        "integration_id": 5001,
                        "rules": [],
                        "status": "enabled",
                        "updated_by": 80011,
                        "creator_id": 80011,
                        "created_at": 1710000000,
                        "updated_at": 1710000000
                      }
                    ]
                  }
                }
              }
            }
          },
          "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/EnrichmentListRequest"
              },
              "example": {
                "integration_ids": [
                  5001,
                  5002
                ]
              }
            }
          }
        }
      }
    },
    "/channel/silence/rule/disable": {
      "post": {
        "operationId": "channelSilenceRuleDisable",
        "summary": "禁用静默策略",
        "description": "禁用静默策略而不删除。仅 `enabled` 状态的策略可禁用。",
        "tags": [
          "On-call/协作空间"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **协作空间管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/channels/channel-silence-rule-disable",
          "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/ChannelRuleIDRequest"
              },
              "example": {
                "channel_id": 3521074710131,
                "rule_id": "6621b23f4a2c5e0012ab34cd"
              }
            }
          }
        }
      }
    },
    "/incident/custom-action/do": {
      "post": {
        "operationId": "incidentCustomActionDo",
        "summary": "执行自定义操作",
        "description": "执行为故障配置的自定义操作。",
        "tags": [
          "On-call/故障管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **故障管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/incidents/incident-custom-action-do",
          "metadata": {
            "sidebarTitle": "执行自定义操作"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/DoIncidentCustomActionResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "message": ""
                  }
                }
              }
            }
          },
          "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/DoIncidentCustomActionRequest"
              },
              "example": {
                "incident_id": "69da451ef77b1b51f40e83ee",
                "integration_id": 2490562293131
              }
            }
          }
        }
      }
    },
    "/alert/feed": {
      "post": {
        "operationId": "alert-read-feed",
        "summary": "查询告警动态",
        "description": "返回单条告警的动态记录（评论、状态变更、合并、静默事件），支持分页查询。",
        "tags": [
          "On-call/告警管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **协作空间查看**（`on-call`） |\n\n## 使用说明\n\n- 使用 `p`（页码，从 1 开始）和 `limit`（最大 100，默认 20）进行分页。\n- 将 `asc` 设为 `true` 可按时间正序返回。\n- 使用 `types` 过滤特定动态类型（如 `a_comm`、`a_merge`）。",
          "href": "/zh/api-reference/on-call/alerts/alert-read-feed",
          "metadata": {
            "sidebarTitle": "查询告警动态"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/AlertFeedResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "has_next_page": false,
                    "items": [
                      {
                        "ref_id": "663a1b2c3d4e5f6789abcdef",
                        "type": "a_comm",
                        "detail": {
                          "comment": "Investigating now."
                        },
                        "creator_id": 80011,
                        "created_at": 1712651000
                      }
                    ]
                  }
                }
              }
            }
          },
          "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/AlertFeedRequest"
              },
              "example": {
                "alert_id": "663a1b2c3d4e5f6789abcdef",
                "limit": 20,
                "asc": false
              }
            }
          }
        }
      }
    },
    "/insight/responder/export": {
      "post": {
        "operationId": "insightResponderExport",
        "summary": "导出处理人员洞察",
        "description": "将响应人维度洞察指标导出为 CSV 文件——每行一个响应人（使用 `aggregate_unit`/`split_hours` 时按时间桶/小时桶拆分）。响应为 CSV 字节流（`Content-Disposition: attachment`），不是 JSON 响应包。`time_zone` 缺省为 UTC。无有效响应人 ID 的行会被跳过。可用的 `export_fields` key：responder_id, responder_name, total_incident_cnt, total_incidents_acknowledged, total_incidents_reassigned, total_incidents_escalated, total_incidents_manually_escalated, total_incidents_timeout_escalated, total_interruptions, total_notifications, total_engaged_seconds, mean_seconds_to_ack, acknowledgement_pct, hours。`hours` 列仅在 `split_hours` 为 true 时默认包含。为兼容起见，故障导出列的 key 也可传入，但导出为空列。",
        "tags": [
          "On-call/分析看板"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **100 次/天**；**20 次/分钟**；**10 次/秒** |\n| 权限要求 | **分析看板查看**（`on-call`） |",
          "href": "/zh/api-reference/on-call/analytics/insight-responder-export",
          "metadata": {
            "sidebarTitle": "导出处理人员洞察"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary",
                  "description": "CSV 字节流（`Content-Type: application/octet-stream`，`Content-Disposition: attachment; filename=responder_export_yyyyMMdd_HHmmss.csv`）。首行为本地化列名。列默认为完整字段集，或由 `export_fields` 指定。"
                },
                "example": "responder_id,responder_name,total_incident_cnt,total_incidents_acknowledged\n3790925372131,alice,5,4\n"
              }
            }
          },
          "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/InsightQueryRequest"
              },
              "example": {
                "start_time": 1712000000,
                "end_time": 1712604800,
                "responder_ids": [
                  3790925372131
                ],
                "severities": [
                  "Critical",
                  "Warning"
                ]
              }
            }
          }
        }
      }
    },
    "/incident/list-by-ids": {
      "post": {
        "operationId": "incidentListByIds",
        "summary": "批量查询故障",
        "description": "通过故障 ID 列表批量获取故障信息。",
        "tags": [
          "On-call/故障管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **故障查看**（`on-call`） |",
          "href": "/zh/api-reference/on-call/incidents/incident-list-by-ids",
          "metadata": {
            "sidebarTitle": "批量查询故障"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/IncidentListResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "total": 2,
                    "has_next_page": false,
                    "items": [
                      {
                        "incident_id": "69da451ef77b1b51f40e83ee",
                        "account_id": 2451002751131,
                        "channel_id": 2551105804131,
                        "team_id": 2477033058131,
                        "integration_id": 2490562293131,
                        "integration_ids": [
                          2490562293131
                        ],
                        "integration_types": [
                          "monit.alert"
                        ],
                        "dedup_key": "100128:prom-203.0.113.107:A:1579244238440766834:anydata",
                        "equals_md5": "",
                        "start_time": 1775912219,
                        "end_time": 0,
                        "last_time": 1775969819,
                        "ack_time": 0,
                        "close_time": 0,
                        "creator_id": 0,
                        "closer_id": 0,
                        "owner_id": 0,
                        "incident_status": "Critical",
                        "incident_severity": "Critical",
                        "progress": "Triggered",
                        "title": "CPU usage high - web-server-01",
                        "description": "",
                        "ai_summary": "",
                        "impact": "",
                        "root_cause": "",
                        "resolution": "",
                        "num": "0E83EE",
                        "frequency": "frequent",
                        "created_at": 1775912222,
                        "updated_at": 1775972145,
                        "snoozed_before": 0,
                        "group_method": "n",
                        "ever_muted": false,
                        "labels": {},
                        "fields": {},
                        "assigned_to": {
                          "escalate_rule_id": "000000000000000000000000",
                          "layer_idx": 0,
                          "type": "",
                          "assigned_at": 0,
                          "id": "",
                          "escalate_rule_name": ""
                        },
                        "alert_cnt": 1,
                        "active_alert_cnt": 1,
                        "alert_event_cnt": 17,
                        "responders": [],
                        "account_name": "",
                        "account_locale": "",
                        "account_time_zone": "",
                        "channel_name": "Ops Channel",
                        "channel_status": "enabled",
                        "detail_url": "https://app.flashcat.cloud/incident/detail/69da451ef77b1b51f40e83ee",
                        "silence_url": "https://app.flashcat.cloud/channel/detail/2551105804131?tab=alertSuppression&fromIncidentId=69da451ef77b1b51f40e83ee",
                        "integration_type": "monit.alert",
                        "post_mortem_id": "",
                        "images": null,
                        "manual_overrides": null
                      }
                    ]
                  }
                }
              }
            }
          },
          "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/ListIncidentsByIdsRequest"
              },
              "example": {
                "incident_ids": [
                  "69da451ef77b1b51f40e83ee",
                  "69da451ef77b1b51f40e83ef"
                ]
              }
            }
          }
        }
      }
    },
    "/incident/post-mortem/list": {
      "post": {
        "operationId": "incidentPostMortemList",
        "summary": "查询复盘报告列表",
        "description": "分页查询复盘报告列表，支持过滤条件。",
        "tags": [
          "On-call/故障管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **故障查看**（`on-call`） |",
          "href": "/zh/api-reference/on-call/incidents/incident-post-mortem-list",
          "metadata": {
            "sidebarTitle": "查询复盘报告列表"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/ListPostMortemsResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "total": 3,
                    "has_next_page": false,
                    "items": [
                      {
                        "account_id": 2451002751131,
                        "title": "Postmortem1",
                        "status": "published",
                        "post_mortem_id": "8104935102bf89dc01ac638a5261fe7e",
                        "template_id": "post_mortem_default_tmpl_en-us",
                        "incident_ids": [
                          "69bb9233331067560c718ecd"
                        ],
                        "media_count": 0,
                        "author_ids": [
                          2477273692131
                        ],
                        "team_id": 2477033058131,
                        "channel_id": 3047621227131,
                        "is_private": false,
                        "channel_name": "Ops Channel",
                        "created_at_seconds": 1773900354,
                        "updated_at_seconds": 1773909012
                      }
                    ]
                  }
                }
              }
            }
          },
          "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/ListPostMortemsRequest"
              },
              "example": {
                "status": "published",
                "p": 1,
                "limit": 20
              }
            }
          }
        }
      }
    },
    "/enrichment/mapping/api/list": {
      "post": {
        "operationId": "mapping-api-read-list",
        "summary": "查询映射 API 列表",
        "description": "返回账户下所有配置的映射 API。",
        "tags": [
          "On-call/标签增强"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **映射数据查看**（`on-call`） 或 **映射数据管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/alert-enrichment/mapping-api-read-list",
          "metadata": {
            "sidebarTitle": "查询映射 API 列表"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/MappingAPIListResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "total": 1,
                    "items": [
                      {
                        "api_id": "665f1a2b3c4d5e6f7a8b9c02",
                        "api_name": "CMDB API",
                        "description": "Query CMDB for host metadata",
                        "url": "https://cmdb.example.com/api/lookup",
                        "headers": {
                          "Authorization": "Bearer eyJhbGciOiJIUzI1NiJ9.example-token"
                        },
                        "timeout": 2,
                        "retry_count": 1,
                        "insecure_skip_verify": false,
                        "status": "enabled",
                        "team_id": 0,
                        "creator_id": 80011,
                        "created_at": 1710000000,
                        "updated_at": 1710000000
                      }
                    ]
                  }
                }
              }
            }
          },
          "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/EmptyRequest"
              },
              "example": {}
            }
          }
        }
      }
    },
    "/incident/unack": {
      "post": {
        "operationId": "incidentUnack",
        "summary": "取消认领故障",
        "description": "取消故障的认领状态。",
        "tags": [
          "On-call/故障管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **故障管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/incidents/incident-unack",
          "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/UnackIncidentRequest"
              },
              "example": {
                "incident_ids": [
                  "69da451ef77b1b51f40e83ee"
                ]
              }
            }
          }
        }
      }
    },
    "/enrichment/mapping/schema/update": {
      "post": {
        "operationId": "mapping-schema-write-update",
        "summary": "更新映射规则",
        "description": "更新映射规则的名称、描述或所属团队。来源标签和结果标签创建后不可更改。",
        "tags": [
          "On-call/标签增强"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **映射数据管理**（`on-call`） |\n\n## 使用说明\n\n- 仅映射规则创建者、账户管理员或所属团队成员可更新。\n- 每次调用都会记录到账户审计日志，请不要把敏感信息放在请求字段中。",
          "href": "/zh/api-reference/on-call/alert-enrichment/mapping-schema-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/MappingSchemaUpdateRequest"
              },
              "example": {
                "schema_id": "665f1a2b3c4d5e6f7a8b9c01",
                "schema_name": "CMDB Lookup v2",
                "description": "Updated description"
              }
            }
          }
        }
      }
    },
    "/schedule/create": {
      "post": {
        "operationId": "scheduleCreate",
        "summary": "创建值班表",
        "description": "创建新的值班表（分派策略值班表）。",
        "tags": [
          "On-call/值班排班"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **值班管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/schedules/schedule-create",
          "metadata": {
            "sidebarTitle": "创建值班表"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/ScheduleIDResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "schedule_id": 6294534917601
                  }
                }
              }
            }
          },
          "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/ScheduleUpsertRequest"
              },
              "example": {
                "schedule_name": "Production On-Call",
                "description": "Primary on-call rotation for the production team",
                "team_id": 4291079133131,
                "layers": [
                  {
                    "layer_name": "Layer 1",
                    "name": "Layer 1",
                    "mode": 0,
                    "weight": 0,
                    "hidden": 0,
                    "groups": [
                      {
                        "group_name": "A",
                        "name": "A",
                        "members": [
                          {
                            "role_id": 0,
                            "person_ids": [
                              2451002751131
                            ]
                          }
                        ],
                        "start": 0,
                        "end": 0
                      },
                      {
                        "group_name": "B",
                        "name": "B",
                        "members": [
                          {
                            "role_id": 0,
                            "person_ids": [
                              2476123212131
                            ]
                          }
                        ],
                        "start": 0,
                        "end": 0
                      }
                    ],
                    "rotation_unit": "day",
                    "rotation_value": 1,
                    "rotation_duration": 86400,
                    "handoff_time": 0,
                    "enable_time": 1712000000,
                    "expire_time": 0,
                    "restrict_mode": 0,
                    "restrict_start": 0,
                    "restrict_end": 0,
                    "restrict_periods": [],
                    "day_mask": {
                      "repeat": [
                        1,
                        2,
                        3,
                        4,
                        5
                      ]
                    },
                    "fair_rotation": false,
                    "mask_continuous_enabled": false
                  }
                ],
                "notify": {
                  "advance_in_time": 300,
                  "fixed_time": null,
                  "by": {
                    "follow_preference": true,
                    "personal_channels": null
                  },
                  "webhooks": null
                }
              }
            }
          }
        }
      }
    },
    "/insight/channel": {
      "post": {
        "operationId": "insightByChannel",
        "summary": "查看协作空间洞察",
        "description": "返回按协作空间聚合的洞察指标。",
        "tags": [
          "On-call/分析看板"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **分析看板查看**（`on-call`） |",
          "href": "/zh/api-reference/on-call/analytics/insight-by-channel",
          "metadata": {
            "sidebarTitle": "查看协作空间洞察"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/DimensionInsightResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "items": [
                      {
                        "ts": 1740844800,
                        "channel_id": 4321322010131,
                        "channel_name": "Production Alerts",
                        "total_incident_cnt": 2,
                        "total_incidents_acknowledged": 2,
                        "total_incidents_closed": 2,
                        "total_incidents_auto_closed": 0,
                        "total_incidents_manually_closed": 2,
                        "total_incidents_timeout_closed": 0,
                        "total_incidents_escalated": 0,
                        "total_incidents_manually_escalated": 0,
                        "total_incidents_timeout_escalated": 0,
                        "total_incidents_reassigned": 2,
                        "total_interruptions": 3,
                        "total_notifications": 6,
                        "total_engaged_seconds": 3317709,
                        "total_seconds_to_ack": 3317709,
                        "total_seconds_to_close": 3749514,
                        "mean_seconds_to_ack": 1658854.5,
                        "mean_seconds_to_close": 1874757,
                        "noise_reduction_pct": 0,
                        "acknowledgement_pct": 100,
                        "total_alert_cnt": 0,
                        "total_alert_event_cnt": 0
                      }
                    ]
                  }
                }
              }
            }
          },
          "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/InsightQueryRequest"
              },
              "example": {
                "start_time": 1712000000,
                "end_time": 1712604800,
                "channel_ids": [
                  4321322010131
                ],
                "aggregate_unit": "day"
              }
            }
          }
        }
      }
    },
    "/channel/delete": {
      "post": {
        "operationId": "channelDelete",
        "summary": "删除协作空间",
        "description": "删除协作空间。仅 `disabled` 状态的协作空间可删除，其下的分派、静默、排除和抑制策略会一并删除。当仍有集成路由引用该空间时调用失败。",
        "tags": [
          "On-call/协作空间"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **协作空间管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/channels/channel-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/ChannelIDRequest"
              },
              "example": {
                "channel_id": 3521074710131
              }
            }
          }
        }
      }
    },
    "/channel/unsubscribe/rule/create": {
      "post": {
        "operationId": "channelUnsubscribeRuleCreate",
        "summary": "创建排除规则",
        "description": "创建排除规则，在告警成为故障之前过滤不需要的告警。",
        "tags": [
          "On-call/协作空间"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | 无 —— 持有有效的 `app_key` 即可调用 |",
          "href": "/zh/api-reference/on-call/channels/channel-unsubscribe-rule-create",
          "metadata": {
            "sidebarTitle": "创建排除规则"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/RuleCreateResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "rule_id": "69db2f6ba0fe7db6448b1505",
                    "rule_name": "Test drop rule"
                  }
                }
              }
            }
          },
          "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/CreateDropRuleRequest"
              },
              "example": {
                "channel_id": 3521074710131,
                "rule_name": "Drop test environment alerts",
                "description": "Discard all alerts from the test environment before they create incidents",
                "filters": [
                  [
                    {
                      "key": "labels.env",
                      "oper": "IN",
                      "vals": [
                        "test",
                        "dev"
                      ]
                    }
                  ]
                ]
              }
            }
          }
        }
      }
    },
    "/channel/inhibit/rule/update": {
      "post": {
        "operationId": "channelInhibitRuleUpdate",
        "summary": "更新抑制策略",
        "description": "更新已有抑制策略的配置。",
        "tags": [
          "On-call/协作空间"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **协作空间管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/channels/channel-inhibit-rule-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/UpdateInhibitRuleRequest"
              },
              "example": {
                "channel_id": 1001,
                "rule_id": "6621b23f4a2c5e0012ab34ce",
                "rule_name": "Suppress downstream",
                "equals": [
                  "labels.cluster"
                ]
              }
            }
          }
        }
      }
    },
    "/alert/merge": {
      "post": {
        "operationId": "alert-write-merge",
        "summary": "将告警合并到故障",
        "description": "将一条或多条告警关联到已有故障。若来源告警之前属于其他故障，且合并后该故障中没有其他告警，则该故障将自动关闭。",
        "tags": [
          "On-call/告警管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **协作空间查看**（`on-call`） |\n\n## 使用说明\n\n- 所有 `alert_ids` 和 `incident_id` 必须属于调用方账户。\n- 可选填 `title` 和 `owner_id` 以同时更新目标故障。",
          "href": "/zh/api-reference/on-call/alerts/alert-write-merge",
          "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/AlertMergeRequest"
              },
              "example": {
                "alert_ids": [
                  "663a1b2c3d4e5f6789abcdef"
                ],
                "incident_id": "663a000000000000deadbeef"
              }
            }
          }
        }
      }
    },
    "/status-page/change/timeline/update": {
      "post": {
        "operationId": "statusPageChangeTimelineUpdate",
        "summary": "更新事件时间线",
        "description": "更新状态页事件的时间线条目。",
        "tags": [
          "On-call/状态页"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **状态页面事件管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/status-pages/status-page-change-timeline-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/UpdateStatusPageChangeTimelineRequest"
              },
              "example": {
                "page_id": 5750613685214,
                "change_id": 5821693893131,
                "update_id": "01KP0311872NVYFRRQ82FWXAP4",
                "description": "Corrected description: root cause identified in database layer.",
                "at_seconds": 1712003600
              }
            }
          }
        }
      }
    },
    "/incident/reopen": {
      "post": {
        "operationId": "incidentReopen",
        "summary": "重开故障",
        "description": "重新打开一个已恢复的故障。",
        "tags": [
          "On-call/故障管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **故障管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/incidents/incident-reopen",
          "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/ReopenIncidentRequest"
              },
              "example": {
                "incident_ids": [
                  "69da451ef77b1b51f40e83ee"
                ],
                "reason": "Monitoring detected the issue recurred after the initial fix."
              }
            }
          }
        }
      }
    },
    "/incident/comment": {
      "post": {
        "operationId": "incidentComment",
        "summary": "评论故障",
        "description": "在故障时间线上添加文字评论。",
        "tags": [
          "On-call/故障管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **故障管理**（`on-call`） |\n\n## 使用说明\n\n- 要提及成员，在 `comment` 中嵌入形如 `[@显示名](flashduty://ref/member/<member_id>)` 的 markdown 链接。被提及的成员会收到专门的个人通知，不受 `mute_reply` 影响。\n- 不带链接语法的纯 `@名字` 文本不会形成提及。\n- 服务端会将每个提及的显示名改写为成员的规范名称。",
          "href": "/zh/api-reference/on-call/incidents/incident-comment",
          "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/CommentIncidentRequest"
              },
              "example": {
                "incident_ids": [
                  "69da451ef77b1b51f40e83ee"
                ],
                "comment": "Root cause identified. [@Jane Doe](flashduty://ref/member/2476444212131) please verify the fix.",
                "comment_type_id": "6a5895d672a064bc2d3ddfc2"
              }
            }
          }
        }
      }
    },
    "/enrichment/mapping/data/download": {
      "post": {
        "operationId": "mapping-data-read-download",
        "summary": "下载映射数据 CSV",
        "description": "将映射规则的所有数据行导出为 CSV 文件。",
        "tags": [
          "On-call/标签增强"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **集成中心查看**（`on-call`） 或 **集成中心管理**（`on-call`） 或 **映射数据查看**（`on-call`） 或 **映射数据管理**（`on-call`） |\n\n## 使用说明\n\n- 响应为 CSV 文件，包含 `Content-Disposition: attachment` 响应头。\n- CSV 标题行按顺序对应映射规则的来源标签和结果标签。",
          "href": "/zh/api-reference/on-call/alert-enrichment/mapping-data-read-download",
          "metadata": {
            "sidebarTitle": "下载映射数据 CSV"
          }
        },
        "responses": {
          "200": {
            "description": "成功。返回 CSV 附件流，不是 JSON envelope。",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary",
                  "description": "CSV 文件流（`Content-Type: application/octet-stream`，`Content-Disposition: attachment; filename=<schema_name>.csv`）。首行为表头，按 schema 的 source_labels + result_labels 顺序排列；之后每行一条映射数据。"
                },
                "example": "host,owner,team\nserver01,alice,sre\nserver02,bob,backend\n"
              }
            }
          },
          "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/MappingSchemaIDRequest"
              },
              "example": {
                "schema_id": "665f1a2b3c4d5e6f7a8b9c01"
              }
            }
          }
        }
      }
    },
    "/channel/unsubscribe/rule/list": {
      "post": {
        "operationId": "channelUnsubscribeRuleList",
        "summary": "查询排除规则列表",
        "description": "查询协作空间的排除规则列表。",
        "tags": [
          "On-call/协作空间"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | 无 —— 持有有效的 `app_key` 即可调用 |",
          "href": "/zh/api-reference/on-call/channels/channel-unsubscribe-rule-list",
          "metadata": {
            "sidebarTitle": "查询排除规则列表"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/ListDropRulesResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "items": [
                      {
                        "account_id": 2451002751131,
                        "channel_id": 5967964835131,
                        "rule_name": "Drop test alerts",
                        "description": "",
                        "filters": [
                          [
                            {
                              "key": "data_source_id",
                              "oper": "IN",
                              "vals": [
                                "6113996590131"
                              ]
                            }
                          ]
                        ],
                        "status": "enabled",
                        "rule_id": "69bcc530b9e63df36603e421",
                        "updated_by": 3790925372131,
                        "created_at": 1773978928,
                        "updated_at": 1773978928
                      }
                    ]
                  }
                }
              }
            }
          },
          "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/ChannelScopedListRequest"
              },
              "example": {
                "channel_id": 1001
              }
            }
          }
        }
      }
    },
    "/route/list": {
      "post": {
        "operationId": "routeList",
        "summary": "查询路由规则列表",
        "description": "返回指定集成的路由规则列表。未配置路由规则的集成将不出现在响应中。",
        "tags": [
          "On-call/协作空间"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **集成中心查看**（`on-call`） 或 **集成中心管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/channels/route-list",
          "metadata": {
            "sidebarTitle": "查询路由规则列表"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/ListRoutesResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "items": [
                      {
                        "integration_id": 6113996590131,
                        "cases": [
                          {
                            "if": [
                              {
                                "key": "labels.check",
                                "oper": "IN",
                                "vals": [
                                  "cpu.idle<20%"
                                ]
                              }
                            ],
                            "channel_ids": [
                              2533748993131
                            ],
                            "fallthrough": false,
                            "routing_mode": "standard"
                          }
                        ],
                        "default": {
                          "channel_ids": [
                            3521074710131
                          ]
                        },
                        "status": "enabled",
                        "version": 6,
                        "updated_by": 3790925372131,
                        "creator_id": 3790925372131,
                        "created_at": 1774606136,
                        "updated_at": 1774606136
                      }
                    ]
                  }
                }
              }
            }
          },
          "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/ListRoutesRequest"
              },
              "example": {
                "integration_ids": [
                  6113996590131,
                  6113996590132
                ]
              }
            }
          }
        }
      }
    },
    "/channel/list": {
      "post": {
        "operationId": "channelList",
        "summary": "查询协作空间列表",
        "description": "查询当前用户可访问的协作空间列表，支持过滤条件。",
        "tags": [
          "On-call/协作空间"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | 无 —— 持有有效的 `app_key` 即可调用 |",
          "href": "/zh/api-reference/on-call/channels/channel-list",
          "metadata": {
            "sidebarTitle": "查询协作空间列表"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/ListChannelsResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "total": 42,
                    "has_next_page": true,
                    "items": [
                      {
                        "channel_id": 1001,
                        "channel_name": "Production Alerts",
                        "status": "enabled"
                      }
                    ]
                  }
                }
              }
            }
          },
          "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/ListChannelsRequest"
              },
              "example": {
                "p": 1,
                "limit": 20,
                "orderby": "created_at",
                "asc": false
              }
            }
          }
        }
      }
    },
    "/channel/escalate/rule/create": {
      "post": {
        "operationId": "channelEscalateRuleCreate",
        "summary": "创建分派策略",
        "description": "创建分派策略，定义故障发生时通知谁以及何时通知。",
        "tags": [
          "On-call/协作空间"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **协作空间管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/channels/channel-escalate-rule-create",
          "metadata": {
            "sidebarTitle": "创建分派策略"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/RuleCreateResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "rule_id": "69db2f72a0fe7db6448b1506",
                    "rule_name": "Test escalation rule"
                  }
                }
              }
            }
          },
          "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/CreateEscalationRuleRequest"
              },
              "example": {
                "channel_id": 3521074710131,
                "rule_name": "On-call escalation",
                "template_id": "6321aad26c12104586a88916",
                "description": "Notify primary on-call, then escalate to secondary after 30 minutes",
                "layers": [
                  {
                    "target": {
                      "person_ids": [
                        3790925372131
                      ],
                      "by": {
                        "follow_preference": true
                      }
                    },
                    "max_times": 3,
                    "notify_step": 10,
                    "escalate_window": 30,
                    "force_escalate": false
                  }
                ]
              }
            }
          }
        }
      }
    },
    "/channel/update": {
      "post": {
        "operationId": "channelUpdate",
        "summary": "更新协作空间",
        "description": "更新已有协作空间的配置和设置。",
        "tags": [
          "On-call/协作空间"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **协作空间管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/channels/channel-update",
          "metadata": {
            "sidebarTitle": "更新协作空间"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/UpdateChannelResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "external_report_token": ""
                  }
                }
              }
            }
          },
          "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/UpdateChannelRequest"
              },
              "example": {
                "channel_id": 1001,
                "channel_name": "Production Alerts (v2)",
                "description": "Updated description"
              }
            }
          }
        }
      }
    },
    "/channel/enable": {
      "post": {
        "operationId": "channelEnable",
        "summary": "启用协作空间",
        "description": "启用协作空间以恢复故障路由。仅 `disabled` 状态的协作空间可启用。",
        "tags": [
          "On-call/协作空间"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **协作空间管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/channels/channel-enable",
          "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/ChannelIDRequest"
              },
              "example": {
                "channel_id": 3521074710131
              }
            }
          }
        }
      }
    },
    "/channel/escalate/rule/delete": {
      "post": {
        "operationId": "channelEscalateRuleDelete",
        "summary": "删除分派策略",
        "description": "删除分派策略。仅 `disabled` 状态的策略可删除。",
        "tags": [
          "On-call/协作空间"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **协作空间管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/channels/channel-escalate-rule-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/ChannelRuleIDRequest"
              },
              "example": {
                "channel_id": 3521074710131,
                "rule_id": "6621b23f4a2c5e0012ab34cd"
              }
            }
          }
        }
      }
    },
    "/enrichment/mapping/api/delete": {
      "post": {
        "operationId": "mapping-api-write-delete",
        "summary": "删除映射 API",
        "description": "删除映射 API。若该 API 被富化规则引用，则拒绝删除。",
        "tags": [
          "On-call/标签增强"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **映射数据管理**（`on-call`） |\n\n## 使用说明\n\n- 若 API 仍被引用，响应返回 HTTP 400，`refs` 字段列出所有阻止删除的引用。\n- 仅 API 创建者、账户管理员或所属团队成员可删除。\n- 每次调用都会记录到账户审计日志，请不要把敏感信息放在请求字段中。",
          "href": "/zh/api-reference/on-call/alert-enrichment/mapping-api-write-delete",
          "metadata": {
            "sidebarTitle": "删除映射 API"
          }
        },
        "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/MappingAPIIDRequest"
              },
              "example": {
                "api_id": "665f1a2b3c4d5e6f7a8b9c02"
              }
            }
          }
        }
      }
    },
    "/channel/inhibit/rule/list": {
      "post": {
        "operationId": "channelInhibitRuleList",
        "summary": "查询抑制策略列表",
        "description": "查询为指定协作空间配置的所有抑制策略。",
        "tags": [
          "On-call/协作空间"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **协作空间查看**（`on-call`） |",
          "href": "/zh/api-reference/on-call/channels/channel-inhibit-rule-list",
          "metadata": {
            "sidebarTitle": "查询抑制策略列表"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/ListInhibitRulesResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "items": [
                      {
                        "account_id": 2451002751131,
                        "channel_id": 5967964835131,
                        "rule_name": "Suppress downstream alerts",
                        "description": "",
                        "source_filters": [
                          [
                            {
                              "key": "severity",
                              "oper": "IN",
                              "vals": [
                                "Info"
                              ]
                            }
                          ]
                        ],
                        "target_filters": [
                          [
                            {
                              "key": "severity",
                              "oper": "IN",
                              "vals": [
                                "Info"
                              ]
                            }
                          ]
                        ],
                        "equals": [
                          "data_source_id",
                          "labels._account_id"
                        ],
                        "is_directly_discard": false,
                        "status": "enabled",
                        "rule_id": "69bcc630b9e63df36603e425",
                        "updated_by": 3790925372131,
                        "created_at": 1773979184,
                        "updated_at": 1773979184
                      }
                    ]
                  }
                }
              }
            }
          },
          "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/ChannelScopedListRequest"
              },
              "example": {
                "channel_id": 1001
              }
            }
          }
        }
      }
    },
    "/enrichment/mapping/data/upload": {
      "post": {
        "operationId": "mapping-data-write-upload",
        "summary": "通过 CSV 上传映射数据",
        "description": "上传 CSV 文件批量导入映射数据。默认情况下，导入前先清空现有数据。",
        "tags": [
          "On-call/标签增强"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **20 次/分钟**；**2 次/秒** |\n| 权限要求 | **映射数据管理**（`on-call`） |\n\n## 使用说明\n\n- 请求须使用 `Content-Type: multipart/form-data`，文件字段名为 `file`，`schema_id` 通过查询参数传入。\n- CSV 标题行须包含所有来源标签和结果标签名称。\n- 文件大小上限：100 MB。\n- 默认情况下，导入前先清空现有数据；传入查询参数 `do_not_truncate_first=TRUE` 可改为追加模式。\n- CSV 中存在重复来源标签组合时返回 400 错误。",
          "href": "/zh/api-reference/on-call/alert-enrichment/mapping-data-write-upload",
          "metadata": {
            "sidebarTitle": "通过 CSV 上传映射数据"
          }
        },
        "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": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary",
                    "description": "CSV 文件，最大 100 MB。表头必须包含 schema 的全部 source/result label 名称。"
                  }
                },
                "required": [
                  "file"
                ]
              }
            }
          }
        },
        "parameters": [
          {
            "name": "schema_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "description": "目标映射 schema 的 ID（ObjectID hex）。",
            "example": "665f1a2b3c4d5e6f7a8b9c01"
          },
          {
            "name": "do_not_truncate_first",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "TRUE"
              ]
            },
            "description": "传 `TRUE`（大小写不敏感）时追加导入；不传且 schema 已有数据时，服务端先清空再导入。"
          }
        ]
      }
    },
    "/alert/info": {
      "post": {
        "operationId": "alert-read-info",
        "summary": "查看告警详情",
        "description": "通过告警 ID 返回单条告警的完整详情，包括关联故障和事件数量。",
        "tags": [
          "On-call/告警管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **协作空间查看**（`on-call`） |\n\n## 使用说明\n\n- `alert_id` 为 ObjectID 十六进制字符串，可从 `POST /alert/list` 或 `POST /alert-event/list` 获取。",
          "href": "/zh/api-reference/on-call/alerts/alert-read-info",
          "metadata": {
            "sidebarTitle": "查看告警详情"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/AlertItem"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "alert_id": "663a1b2c3d4e5f6789abcdef",
                    "title": "CPU usage > 90%",
                    "alert_severity": "Critical",
                    "alert_status": "Critical",
                    "start_time": 1712650000,
                    "event_cnt": 3
                  }
                }
              }
            }
          },
          "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/AlertInfoRequest"
              },
              "example": {
                "alert_id": "663a1b2c3d4e5f6789abcdef"
              }
            }
          }
        }
      }
    },
    "/incident/assign": {
      "post": {
        "operationId": "incidentAssign",
        "summary": "分派故障",
        "description": "将故障分派到指定的升级环节或处理人员。",
        "tags": [
          "On-call/故障管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **故障管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/incidents/incident-assign",
          "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/AssignIncidentRequest"
              },
              "example": {
                "incident_id": "69da451ef77b1b51f40e83ee",
                "assigned_to": {
                  "person_ids": [
                    2476444212131
                  ],
                  "type": "assign"
                }
              }
            }
          }
        }
      }
    },
    "/channel/inhibit/rule/disable": {
      "post": {
        "operationId": "channelInhibitRuleDisable",
        "summary": "禁用抑制策略",
        "description": "禁用抑制策略而不删除。仅 `enabled` 状态的策略可禁用。",
        "tags": [
          "On-call/协作空间"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **协作空间管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/channels/channel-inhibit-rule-disable",
          "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/ChannelRuleIDRequest"
              },
              "example": {
                "channel_id": 3521074710131,
                "rule_id": "6621b23f4a2c5e0012ab34cd"
              }
            }
          }
        }
      }
    },
    "/calendar/info": {
      "post": {
        "operationId": "calendarInfo",
        "summary": "获取服务日历详情",
        "description": "返回服务日历的详细信息。",
        "tags": [
          "On-call/日历管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | 无 —— 持有有效的 `app_key` 即可调用 |",
          "href": "/zh/api-reference/on-call/calendars/calendar-info",
          "metadata": {
            "sidebarTitle": "获取服务日历详情"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/CalendarItem"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "account_id": 2451002751131,
                    "team_id": 2477033058131,
                    "cal_id": "cal.eh9gvPtWeH3xXgKeVSRxRg",
                    "cal_name": "Stock Exchange Calendar",
                    "description": "A stock market trading calendar example",
                    "timezone": "Asia/Shanghai",
                    "kind": "personal",
                    "workdays": [
                      0,
                      1,
                      2,
                      3,
                      4,
                      5,
                      6
                    ],
                    "created_at": 1702455630,
                    "updated_at": 1775529526,
                    "creator_id": 2476444212131,
                    "updated_by": 3790925372131,
                    "status": "enabled"
                  }
                }
              }
            }
          },
          "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/CalendarIDRequest"
              },
              "example": {
                "cal_id": "cal.eh9gvPtWeH3xXgKeVSRxRg"
              }
            }
          }
        }
      }
    },
    "/channel/silence/rule/create": {
      "post": {
        "operationId": "channelSilenceRuleCreate",
        "summary": "创建静默策略",
        "description": "创建一条静默策略，用于抑制满足特定条件的通知。",
        "tags": [
          "On-call/协作空间"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **协作空间管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/channels/channel-silence-rule-create",
          "metadata": {
            "sidebarTitle": "创建静默策略"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/RuleCreateResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "rule_id": "69db2f66a0fe7db6448b1503",
                    "rule_name": "Test silence rule"
                  }
                }
              }
            }
          },
          "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/CreateSilenceRuleRequest"
              },
              "example": {
                "channel_id": 3521074710131,
                "rule_name": "Maintenance window silence",
                "description": "Silence all Info alerts during planned maintenance",
                "time_filter": {
                  "start_time": 1773388800,
                  "end_time": 1773414000
                },
                "filters": [
                  [
                    {
                      "key": "severity",
                      "oper": "IN",
                      "vals": [
                        "Info"
                      ]
                    }
                  ]
                ],
                "is_directly_discard": false
              }
            }
          }
        }
      }
    },
    "/channel/silence/rule/delete": {
      "post": {
        "operationId": "channelSilenceRuleDelete",
        "summary": "删除静默策略",
        "description": "删除静默策略。仅 `disabled` 状态的策略可删除。",
        "tags": [
          "On-call/协作空间"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **协作空间管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/channels/channel-silence-rule-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/ChannelRuleIDRequest"
              },
              "example": {
                "channel_id": 3521074710131,
                "rule_id": "6621b23f4a2c5e0012ab34cd"
              }
            }
          }
        }
      }
    },
    "/status-page/migrate-structure": {
      "post": {
        "operationId": "statusPageMigrateStructure",
        "summary": "迁移状态页结构",
        "description": "启动迁移任务，从 Atlassian Statuspage 导入结构和历史事件到新的 Flashduty 状态页。",
        "tags": [
          "On-call/状态页"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **状态页面管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/status-pages/status-page-migrate-structure",
          "metadata": {
            "sidebarTitle": "迁移状态页结构"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/StatusPageMigrationStartResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "job_id": "01KP0311872NVYFRRQ82FW0001"
                  }
                }
              }
            }
          },
          "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/MigrateStatusPageStructureRequest"
              },
              "example": {
                "api_key": "sk-stsp-xxxxxxxxxxxxxxxxxxxx",
                "source_page_id": "abcdefghij"
              }
            }
          }
        }
      }
    },
    "/status-page/migrate-email-subscribers": {
      "post": {
        "operationId": "statusPageMigrateEmailSubscribers",
        "summary": "迁移邮件订阅者",
        "description": "启动迁移任务，从 Atlassian Statuspage 将邮件订阅者导入到已有的 Flashduty 状态页。",
        "tags": [
          "On-call/状态页"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **状态页面管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/status-pages/status-page-migrate-email-subscribers",
          "metadata": {
            "sidebarTitle": "迁移邮件订阅者"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/StatusPageMigrationStartResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "job_id": "01KP0311872NVYFRRQ82FW0002"
                  }
                }
              }
            }
          },
          "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/MigrateStatusPageEmailSubscribersRequest"
              },
              "example": {
                "api_key": "sk-stsp-xxxxxxxxxxxxxxxxxxxx",
                "source_page_id": "abcdefghij",
                "target_page_id": 5750613685214
              }
            }
          }
        }
      }
    },
    "/template/create": {
      "post": {
        "operationId": "template-write-create",
        "summary": "创建模板",
        "description": "创建一个新的通知模板。",
        "tags": [
          "On-call/通知模板"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **模板管理**（`on-call`） |\n\n## 使用说明\n\n- `template_name` 必须在账户内唯一，重名会返回 `InvalidParameter`。\n- 服务端会对所有非空通道按 Mock 故障做一次渲染校验，任何通道的语法错误都会导致整个请求返回 `InvalidParameter`。\n- 每次调用都会记录到账户审计日志，请不要把敏感信息放在请求字段中。",
          "href": "/zh/api-reference/on-call/notification-templates/template-write-create",
          "metadata": {
            "sidebarTitle": "创建模板"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/TemplateCreateResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "template_id": "6605a1b2c3d4e5f6a7b8c9d0",
                    "template_name": "Prod incident default"
                  }
                }
              }
            }
          },
          "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/TemplateCreateRequest"
              },
              "example": {
                "team_id": 0,
                "template_name": "Prod incident default",
                "description": "Default template for production incidents.",
                "email": "Incident {{ .IncidentName }} on {{ .Severity }}",
                "sms": "[Flashduty] {{ .IncidentName }} — {{ .Severity }}"
              }
            }
          }
        }
      }
    },
    "/route/info": {
      "post": {
        "operationId": "routeInfo",
        "summary": "获取路由规则详情",
        "description": "获取指定集成的路由规则配置。当集成尚未配置路由规则时返回 null。",
        "tags": [
          "On-call/协作空间"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **集成中心查看**（`on-call`） 或 **集成中心管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/channels/route-info",
          "metadata": {
            "sidebarTitle": "获取路由规则详情"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/RouteItem"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "integration_id": 6113996590131,
                    "cases": [
                      {
                        "if": [
                          {
                            "key": "labels.check",
                            "oper": "IN",
                            "vals": [
                              "cpu.idle<20%"
                            ]
                          }
                        ],
                        "channel_ids": [
                          2533748993131
                        ],
                        "fallthrough": false,
                        "routing_mode": "standard"
                      },
                      {
                        "if": [
                          {
                            "key": "severity",
                            "oper": "IN",
                            "vals": [
                              "Warning"
                            ]
                          }
                        ],
                        "channel_ids": null,
                        "fallthrough": false,
                        "routing_mode": "name_mapping",
                        "name_mapping_label": "labels.service"
                      }
                    ],
                    "default": {
                      "channel_ids": [
                        3521074710131
                      ]
                    },
                    "status": "enabled",
                    "version": 6,
                    "updated_by": 3790925372131,
                    "creator_id": 3790925372131,
                    "created_at": 1774606136,
                    "updated_at": 1774606136
                  }
                }
              }
            }
          },
          "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/RouteInfoRequest"
              },
              "example": {
                "integration_id": 6113996590131
              }
            }
          }
        }
      }
    },
    "/enrichment/info": {
      "post": {
        "operationId": "enrichment-read-info",
        "summary": "查看富化规则",
        "description": "返回指定集成配置的告警富化规则集。",
        "tags": [
          "On-call/标签增强"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **协作空间查看**（`on-call`） 或 **协作空间管理**（`on-call`） 或 **集成中心查看**（`on-call`） 或 **集成中心管理**（`on-call`） |\n\n## 使用说明\n\n- 若该集成尚未配置富化规则，返回 `null`。",
          "href": "/zh/api-reference/on-call/alert-enrichment/enrichment-read-info",
          "metadata": {
            "sidebarTitle": "查看富化规则"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/EnrichmentItem"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "integration_id": 5001,
                    "rules": [
                      {
                        "kind": "extraction",
                        "settings": {
                          "source_field": "labels.env",
                          "result_label": "environment",
                          "pattern": "^(prod|staging|dev).*$",
                          "override": true
                        }
                      }
                    ],
                    "status": "enabled",
                    "updated_by": 80011,
                    "creator_id": 80011,
                    "created_at": 1710000000,
                    "updated_at": 1710000000
                  }
                }
              }
            }
          },
          "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/EnrichmentInfoRequest"
              },
              "example": {
                "integration_id": 5001
              }
            }
          }
        }
      }
    },
    "/channel/info": {
      "post": {
        "operationId": "channelInfo",
        "summary": "获取协作空间详情",
        "description": "获取指定协作空间的详细信息。",
        "tags": [
          "On-call/协作空间"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | 无 —— 持有有效的 `app_key` 即可调用 |",
          "href": "/zh/api-reference/on-call/channels/channel-info",
          "metadata": {
            "sidebarTitle": "获取协作空间详情"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/ChannelItem"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "channel_id": 1001,
                    "channel_name": "Production Alerts",
                    "status": "enabled",
                    "team_id": 10
                  }
                }
              }
            }
          },
          "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/ChannelInfoRequest"
              },
              "example": {
                "channel_id": 1001
              }
            }
          }
        }
      }
    },
    "/template/list": {
      "post": {
        "operationId": "template-read-list",
        "summary": "查询模板列表",
        "description": "分页返回当前账户下的通知模板列表。",
        "tags": [
          "On-call/通知模板"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **模板查看**（`on-call`） 或 **模板管理**（`on-call`） |\n\n## 使用说明\n\n- 默认返回第 1 页、每页 20 条。响应中的 `has_next_page` 可以直接告知是否还有下一页，无需额外计数请求。\n- 当 `is_my_team=true` 时 `team_ids` 字段会被忽略。",
          "href": "/zh/api-reference/on-call/notification-templates/template-read-list",
          "metadata": {
            "sidebarTitle": "查询模板列表"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/TemplateListResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "total": 47,
                    "has_next_page": true,
                    "items": [
                      {
                        "account_id": 10023,
                        "team_id": 0,
                        "template_id": "6605a1b2c3d4e5f6a7b8c9d0",
                        "template_name": "Prod incident default",
                        "description": "Default template for production incidents.",
                        "email": "Incident {{ .IncidentName }} on {{ .Severity }}",
                        "sms": "[Flashduty] {{ .IncidentName }} — {{ .Severity }}",
                        "voice": "",
                        "dingtalk": "",
                        "wecom": "",
                        "feishu": "",
                        "feishu_app": "",
                        "dingtalk_app": "",
                        "wecom_app": "",
                        "slack_app": "",
                        "teams_app": "",
                        "telegram": "",
                        "slack": "",
                        "zoom": "",
                        "status": "enabled",
                        "creator_id": 80011,
                        "updated_by": 80011,
                        "created_at": 1712700000,
                        "updated_at": 1712702400
                      }
                    ]
                  }
                }
              }
            }
          },
          "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/TemplateListRequest"
              },
              "example": {
                "p": 1,
                "limit": 20,
                "orderby": "updated_at",
                "asc": false,
                "is_my_team": false
              }
            }
          }
        }
      }
    },
    "/insight/responder": {
      "post": {
        "operationId": "insightByResponder",
        "summary": "查看处理人员洞察",
        "description": "返回按处理人员聚合的洞察指标。",
        "tags": [
          "On-call/分析看板"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **分析看板查看**（`on-call`） |",
          "href": "/zh/api-reference/on-call/analytics/insight-by-responder",
          "metadata": {
            "sidebarTitle": "查看处理人员洞察"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/ResponderInsightResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "items": [
                      {
                        "ts": 1740844800,
                        "responder_id": 3790925372131,
                        "responder_name": "alice",
                        "total_incident_cnt": 1,
                        "total_incidents_acknowledged": 1,
                        "total_incidents_reassigned": 0,
                        "total_incidents_escalated": 0,
                        "total_incidents_timeout_escalated": 0,
                        "total_incidents_manually_escalated": 0,
                        "total_interruptions": 1,
                        "total_notifications": 2,
                        "total_engaged_seconds": 10,
                        "total_seconds_to_ack": 2265624,
                        "mean_seconds_to_ack": 2265624,
                        "acknowledgement_pct": 100
                      }
                    ]
                  }
                }
              }
            }
          },
          "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/InsightQueryRequest"
              },
              "example": {
                "start_time": 1712000000,
                "end_time": 1712604800,
                "responder_ids": [
                  3790925372131
                ],
                "aggregate_unit": "day"
              }
            }
          }
        }
      }
    },
    "/status-page/change/list": {
      "get": {
        "operationId": "statusPageChangeList",
        "summary": "查询状态页事件列表",
        "description": "查询状态页事件列表（管理端）。与公开展示接口不同，响应包含隐藏组件在内的完整数据。",
        "tags": [
          "On-call/状态页"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | 无 —— 持有有效的 `app_key` 即可调用 |",
          "href": "/zh/api-reference/on-call/status-pages/status-page-change-list",
          "metadata": {
            "sidebarTitle": "查询状态页事件列表"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/StatusPageChangeListResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "items": [
                      {
                        "change_id": 5821693893131,
                        "page_id": 5750613685214,
                        "type": "incident",
                        "title": "Web Console Degraded Performance",
                        "description": "The issue has been resolved, and all services are operating normally.",
                        "status": "resolved",
                        "affected_components": [
                          {
                            "component_id": "01KC3GAZ6ZJE40H55GM31RPWZE",
                            "section_id": "01KC3FKKX5TSVG6Z3X1QNGF6V2",
                            "name": "Web Console",
                            "available_since_seconds": 1765349358,
                            "order_id": 1,
                            "status": "operational"
                          }
                        ],
                        "start_at_seconds": 1766736878,
                        "close_at_seconds": 1775529742,
                        "updates": [
                          {
                            "update_id": "01KDCVJQ88SZPHWPTDV2Z2AZW8",
                            "at_seconds": 1766736876,
                            "status": "investigating",
                            "description": "We are currently investigating an issue affecting some services.",
                            "component_changes": [
                              {
                                "component_id": "01KC3GAZ6ZJE40H55GM31RPWZE",
                                "component_name": "Web Console",
                                "status": "degraded"
                              }
                            ]
                          },
                          {
                            "update_id": "01KNJX3KW873ZZSRZC14SGFYS3",
                            "at_seconds": 1775529742,
                            "status": "resolved",
                            "description": "The issue has been resolved, and all services are operating normally.",
                            "component_changes": [
                              {
                                "component_id": "01KC3GAZ6ZJE40H55GM31RPWZE",
                                "component_name": "Web Console",
                                "status": "operational"
                              }
                            ]
                          }
                        ],
                        "notify_subscribers": true
                      }
                    ]
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "parameters": [
          {
            "name": "page_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "description": "状态页 ID。"
          },
          {
            "name": "start_at_seconds",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "description": "事件活动时间窗的下界：仅返回在该 Unix 时间戳（秒）时仍未结束、或在该时刻之后结束的事件。"
          },
          {
            "name": "end_at_seconds",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "description": "事件活动时间窗的上界：仅返回在该 Unix 时间戳（秒）或之前开始的事件。"
          },
          {
            "name": "type",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "incident",
                "maintenance"
              ]
            },
            "description": "事件类型筛选条件。必填。"
          },
          {
            "name": "status",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "investigating",
                "identified",
                "monitoring",
                "resolved",
                "scheduled",
                "ongoing",
                "completed"
              ]
            },
            "description": "事件状态筛选条件。必填。必须是与所给 `type` 匹配的合法状态（`incident` 为 `investigating`/`identified`/`monitoring`/`resolved`；`maintenance` 为 `scheduled`/`ongoing`/`completed`）。"
          }
        ]
      }
    },
    "/status-page/change/active/list": {
      "get": {
        "operationId": "statusPageChangeActiveList",
        "summary": "查询状态页活跃事件列表",
        "description": "查询状态页指定类型的进行中（非终态）事件列表。",
        "tags": [
          "On-call/状态页"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | 无 —— 持有有效的 `app_key` 即可调用 |",
          "href": "/zh/api-reference/on-call/status-pages/status-page-change-active-list",
          "metadata": {
            "sidebarTitle": "查询状态页活跃事件列表"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/StatusPageChangeListResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "items": [
                      {
                        "change_id": 5821693893131,
                        "page_id": 5750613685214,
                        "type": "incident",
                        "title": "Web Console Degraded Performance",
                        "description": "We are currently investigating an issue affecting some services.",
                        "status": "investigating",
                        "affected_components": [
                          {
                            "component_id": "01KC3GAZ6ZJE40H55GM31RPWZE",
                            "section_id": "01KC3FKKX5TSVG6Z3X1QNGF6V2",
                            "name": "Web Console",
                            "available_since_seconds": 1765349358,
                            "order_id": 1,
                            "status": "degraded"
                          }
                        ],
                        "start_at_seconds": 1766736878,
                        "updates": [
                          {
                            "update_id": "01KDCVJQ88SZPHWPTDV2Z2AZW8",
                            "at_seconds": 1766736876,
                            "status": "investigating",
                            "description": "We are currently investigating an issue affecting some services.",
                            "component_changes": [
                              {
                                "component_id": "01KC3GAZ6ZJE40H55GM31RPWZE",
                                "component_name": "Web Console",
                                "status": "degraded"
                              }
                            ]
                          }
                        ],
                        "notify_subscribers": true
                      }
                    ]
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "parameters": [
          {
            "name": "page_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "description": "状态页 ID。"
          },
          {
            "name": "type",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "incident",
                "maintenance"
              ]
            },
            "description": "事件类型筛选，必填。仅返回进行中（非终态）事件：incident 含 investigating/identified/monitoring，maintenance 含 scheduled/ongoing。"
          }
        ]
      }
    },
    "/status-page/draft/create": {
      "post": {
        "operationId": "statusPageDraftCreate",
        "summary": "创建状态页草稿",
        "description": "存储状态页事件草稿，供人工在控制台审核后发布。",
        "tags": [
          "On-call/状态页"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **300 次/分钟**；**20 次/秒** |\n| 权限要求 | 无 —— 任意有效 `app_key` 均可调用 |\n\n## 使用说明\n\n- `draft` 载荷将被原样存储（最大 64 KB）；控制台发布表单会读取它来预填事件内容。\n- 草稿保留 30 天，事件发布时被消费且仅可消费一次。\n- 每次调用都会记录到账户审计日志，请勿在请求字段中写入敏感信息。",
          "href": "/zh/api-reference/on-call/status-pages/status-page-draft-create",
          "metadata": {
            "sidebarTitle": "创建状态页草稿"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/StatusPageDraftCreateResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "draft_id": "draft_3xK9mQ2vN7pR4wT8yH1sJ5",
                    "created_at": 1788000000
                  }
                }
              }
            }
          },
          "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/CreateStatusPageDraftRequest"
              },
              "example": {
                "draft": {
                  "v": 1,
                  "page_id": 5750613685214,
                  "type": "incident",
                  "name": "Web Console Degraded Performance",
                  "message": "We are investigating degraded performance affecting the web console.",
                  "affected_components": [
                    {
                      "component_id": "01KC3GAZ6ZJE40H55GM31RPWZE",
                      "status": "degraded"
                    }
                  ]
                },
                "source": "ai_sre:sess_01KC3H2A9ZQ8W7E6R5T4Y3U2I1"
              }
            }
          }
        }
      }
    },
    "/enrichment/mapping/api/create": {
      "post": {
        "operationId": "mapping-api-write-create",
        "summary": "创建映射 API",
        "description": "创建新的外部 HTTP API 端点，用于通过 HTTP 查询富化告警。",
        "tags": [
          "On-call/标签增强"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **映射数据管理**（`on-call`） |\n\n## 使用说明\n\n- `url` 须以 `http://` 或 `https://` 开头，SaaS 模式下不得解析为内网 IP。\n- `timeout` 为 HTTP 读取超时秒数（1–3，默认 2）。\n- `retry_count` 为失败重试次数（0–1，默认 0）。\n- SaaS 模式下，含敏感名称的请求头（如 `authorization`、`cookie`）将被拒绝。\n- 账户最多可创建 50 个映射 API。\n- 每次调用都会记录到账户审计日志，请不要把敏感信息放在请求字段中。",
          "href": "/zh/api-reference/on-call/alert-enrichment/mapping-api-write-create",
          "metadata": {
            "sidebarTitle": "创建映射 API"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/MappingAPICreateResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "api_id": "665f1a2b3c4d5e6f7a8b9c02",
                    "api_name": "CMDB API"
                  }
                }
              }
            }
          },
          "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/MappingAPICreateRequest"
              },
              "example": {
                "api_name": "CMDB API",
                "description": "Query CMDB for host metadata",
                "url": "https://cmdb.example.com/api/lookup",
                "headers": {
                  "X-Token": "mytoken"
                },
                "timeout": 2,
                "retry_count": 1,
                "insecure_skip_verify": false
              }
            }
          }
        }
      }
    },
    "/schedule/update": {
      "post": {
        "operationId": "scheduleUpdate",
        "summary": "更新值班表",
        "description": "更新已有的值班表，需要通过 schedule_id 指定值班表。",
        "tags": [
          "On-call/值班排班"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **值班管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/schedules/schedule-update",
          "metadata": {
            "sidebarTitle": "更新值班表"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/ScheduleEmptyObject"
                        }
                      }
                    }
                  ]
                },
                "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/ScheduleUpsertRequest"
              },
              "example": {
                "schedule_id": 2001,
                "schedule_name": "Production On-Call (Updated)",
                "description": "Updated primary on-call rotation",
                "team_id": 4291079133131
              }
            }
          }
        }
      }
    },
    "/template/delete": {
      "post": {
        "operationId": "template-write-delete",
        "summary": "删除模板",
        "description": "按 ID 软删除一个模板。",
        "tags": [
          "On-call/通知模板"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **模板管理**（`on-call`） |\n\n## 使用说明\n\n- 若模板仍被任何协作空间、分派策略或通知订阅引用，会返回 `400 ReferenceExist`。\n- 删除是软删除（`deleted_at` 被置值），记录仍保留用于审计，但模板不会再出现在列表中。\n- 每次调用都会记录到账户审计日志，请不要把敏感信息放在请求字段中。",
          "href": "/zh/api-reference/on-call/notification-templates/template-write-delete",
          "metadata": {
            "sidebarTitle": "删除模板"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/EmptyObject"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {}
                }
              }
            }
          },
          "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/TemplateIDRequest"
              },
              "example": {
                "template_id": "6605a1b2c3d4e5f6a7b8c9d0"
              }
            }
          }
        }
      }
    },
    "/enrichment/mapping/data/upsert": {
      "post": {
        "operationId": "mapping-data-write-upsert",
        "summary": "写入映射数据",
        "description": "向映射规则中插入或更新最多 1000 条数据行，每行须包含所有来源标签和结果标签。",
        "tags": [
          "On-call/标签增强"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **映射数据管理**（`on-call`） |\n\n## 使用说明\n\n- 每条数据须包含映射规则中定义的所有来源标签和结果标签的值。\n- 未知标签的值将被静默忽略。\n- 每个值最多 2048 个字符。\n- Upsert 以来源标签组合为键，来源键相同的行将被更新。\n- 单个映射规则默认最多存储 10,000 条数据。\n- 每个映射规则的写入操作有锁保护，并发 Upsert 可能返回 `ErrRequestTooFrequently`。",
          "href": "/zh/api-reference/on-call/alert-enrichment/mapping-data-write-upsert",
          "metadata": {
            "sidebarTitle": "写入映射数据"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/MappingDataUpsertResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "keys": [
                      "server01",
                      "server02"
                    ]
                  }
                }
              }
            }
          },
          "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/MappingDataUpsertRequest"
              },
              "example": {
                "schema_id": "665f1a2b3c4d5e6f7a8b9c01",
                "docs": [
                  {
                    "host": "server01",
                    "owner": "alice",
                    "team": "sre",
                    "service": "api"
                  },
                  {
                    "host": "server02",
                    "owner": "bob",
                    "team": "platform",
                    "service": "gateway"
                  }
                ]
              }
            }
          }
        }
      }
    },
    "/incident/field/reset": {
      "post": {
        "operationId": "incidentFieldReset",
        "summary": "更新故障自定义字段",
        "description": "更新故障的自定义字段值。",
        "tags": [
          "On-call/故障管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **故障管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/incidents/incident-field-reset",
          "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/ResetIncidentFieldRequest"
              },
              "example": {
                "incident_id": "69da451ef77b1b51f40e83ee",
                "field_name": "affected_service",
                "field_value": "payment-service"
              }
            }
          }
        }
      }
    },
    "/schedule/self": {
      "post": {
        "operationId": "scheduleSelf",
        "summary": "查询我的值班表",
        "description": "返回当前用户被分配的值班表列表。",
        "tags": [
          "On-call/值班排班"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **值班查看**（`on-call`） 或 **值班管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/schedules/schedule-self",
          "metadata": {
            "sidebarTitle": "查询我的值班表"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/ScheduleSelfResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "items": [
                      {
                        "id": 2539108069860,
                        "name": "Open Source Q&A",
                        "account_id": 2451002751131,
                        "group_id": 2477033058131,
                        "disabled": 0,
                        "create_at": 1702623874,
                        "create_by": 2451002751131,
                        "update_at": 1710468081,
                        "update_by": 2476444212131,
                        "layers": [
                          {
                            "account_id": 2451002751131,
                            "name": "Rule 1",
                            "schedule_id": 2539108069860,
                            "hidden": 0,
                            "mode": 0,
                            "weight": 0,
                            "groups": [
                              {
                                "group_name": "A",
                                "name": "A",
                                "members": [
                                  {
                                    "role_id": 0,
                                    "person_ids": [
                                      2476444212131
                                    ]
                                  }
                                ],
                                "start": 0,
                                "end": 0
                              },
                              {
                                "group_name": "B",
                                "name": "B",
                                "members": [
                                  {
                                    "role_id": 0,
                                    "person_ids": [
                                      2469167612131
                                    ]
                                  }
                                ],
                                "start": 0,
                                "end": 0
                              }
                            ],
                            "rotation_duration": 86400,
                            "handoff_time": 0,
                            "enable_time": 1702623874,
                            "expire_time": 0,
                            "restrict_mode": 0,
                            "restrict_start": 0,
                            "restrict_end": 0,
                            "restrict_periods": [],
                            "day_mask": {
                              "repeat": [
                                1,
                                2,
                                3,
                                4,
                                5
                              ]
                            },
                            "create_at": 1702623874,
                            "create_by": 2451002751131,
                            "update_at": 1710468081,
                            "update_by": 2476444212131,
                            "layer_name": "Rule 1",
                            "fair_rotation": false,
                            "layer_start": 1702623874,
                            "layer_end": null,
                            "rotation_unit": "day",
                            "rotation_value": 1,
                            "mask_continuous_enabled": false
                          }
                        ],
                        "schedule_layers": null,
                        "final_schedule": {
                          "layer_name": "",
                          "name": "",
                          "mode": 0,
                          "schedules": null
                        },
                        "notify": {
                          "fixed_time": null,
                          "by": null,
                          "webhooks": null
                        },
                        "schedule_id": 2539108069860,
                        "schedule_name": "Open Source Q&A",
                        "team_id": 2477033058131,
                        "description": "",
                        "layer_schedules": null,
                        "status": 0,
                        "cur_oncall": null,
                        "next_oncall": null
                      }
                    ]
                  }
                }
              }
            }
          },
          "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/ScheduleSelfRequest"
              },
              "example": {
                "start": 1712000000,
                "end": 1712086400
              }
            }
          }
        }
      }
    },
    "/channel/unsubscribe/rule/disable": {
      "post": {
        "operationId": "channelUnsubscribeRuleDisable",
        "summary": "禁用排除规则",
        "description": "禁用排除规则而不删除。仅 `enabled` 状态的规则可禁用。",
        "tags": [
          "On-call/协作空间"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | 无 —— 持有有效的 `app_key` 即可调用 |",
          "href": "/zh/api-reference/on-call/channels/channel-unsubscribe-rule-disable",
          "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/ChannelRuleIDRequest"
              },
              "example": {
                "channel_id": 3521074710131,
                "rule_id": "6621b23f4a2c5e0012ab34cd"
              }
            }
          }
        }
      }
    },
    "/channel/silence/rule/list": {
      "post": {
        "operationId": "channelSilenceRuleList",
        "summary": "查询静默策略列表",
        "description": "查询为指定协作空间配置的所有静默策略。",
        "tags": [
          "On-call/协作空间"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **协作空间查看**（`on-call`） |",
          "href": "/zh/api-reference/on-call/channels/channel-silence-rule-list",
          "metadata": {
            "sidebarTitle": "查询静默策略列表"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/ListSilenceRulesResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "items": [
                      {
                        "account_id": 2451002751131,
                        "channel_id": 5967964835131,
                        "rule_name": "Silence Info alerts",
                        "description": "",
                        "from_incident_id": "000000000000000000000000",
                        "time_filters": [],
                        "time_filter": {
                          "start_time": 1773388800,
                          "end_time": 1773414000
                        },
                        "filters": [
                          [
                            {
                              "key": "severity",
                              "oper": "IN",
                              "vals": [
                                "Info"
                              ]
                            }
                          ]
                        ],
                        "is_directly_discard": true,
                        "status": "enabled",
                        "rule_id": "69b3c426b4a6f5abf1f54873",
                        "updated_by": 3790925372131,
                        "created_at": 1773388838,
                        "updated_at": 1773388838,
                        "is_effective": false
                      }
                    ]
                  }
                }
              }
            }
          },
          "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/ChannelScopedListRequest"
              },
              "example": {
                "channel_id": 1001
              }
            }
          }
        }
      }
    },
    "/incident/create": {
      "post": {
        "operationId": "incidentCreate",
        "summary": "创建故障",
        "description": "手动创建一个新故障并分派处理人员。",
        "tags": [
          "On-call/故障管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **故障管理**（`on-call`） |\n\n## 使用说明\n\n- 账户的创建表单生效时，必须提供其中可见的自定义字段和必填系统字段。\n- 如需在创建时附加图片，请使用 `multipart/form-data`：在 `data` 中传 JSON 请求体，在 `images` 中传文件；完整请求不得超过 50 MiB。\n- 已审计 —— 变更会记录到审计日志。",
          "href": "/zh/api-reference/on-call/incidents/incident-create",
          "metadata": {
            "sidebarTitle": "创建故障"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/CreateIncidentResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "incident_id": "69db2ef1a0fe7db6448b14f1",
                    "title": "API test incident for docs"
                  }
                }
              }
            }
          },
          "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/CreateIncidentRequest"
              },
              "example": {
                "incident_severity": "Critical",
                "title": "Database connection timeout on prod-db-01",
                "channel_id": 2551105804131,
                "assigned_to": {
                  "person_ids": [
                    2476444212131
                  ]
                }
              }
            },
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "required": [
                  "data"
                ],
                "properties": {
                  "data": {
                    "type": "string",
                    "description": "JSON 编码的 CreateIncidentRequest 请求体。"
                  },
                  "images": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "binary"
                    },
                    "description": "附加到新故障的图片文件。"
                  }
                }
              },
              "encoding": {
                "data": {
                  "contentType": "application/json"
                }
              }
            }
          }
        }
      }
    },
    "/field/info": {
      "post": {
        "operationId": "field-read-info",
        "summary": "查看自定义字段",
        "description": "按 ID 查询单个故障自定义字段的配置。",
        "tags": [
          "On-call/标签增强"
        ],
        "x-mint": {
          "content": "## 调用限制\n\n| 项 | 值 |\n| ------ | ----- |\n| 速率限制 | 每账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限 | **故障可读** (`on-call`) 或 **故障可管理** (`on-call`) |\n\n## 使用说明\n\n- `field_id` 不存在时返回 400；已软删除的字段仍会返回，此时 `status` 为 `deleted` 且带 `deleted_at`。\n- `options` 与 `default_value` 的形态随 `field_type` 变化，详见 `FieldItem`。",
          "href": "/zh/api-reference/on-call/alert-enrichment/field-read-info",
          "metadata": {
            "sidebarTitle": "查看自定义字段"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/FieldItem"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "account_id": 80001,
                    "field_id": "66e9d3a4f7c2b04a1c8a91b3",
                    "field_name": "severity_class",
                    "display_name": "Severity Class",
                    "description": "Business severity tier.",
                    "field_type": "single_select",
                    "value_type": "string",
                    "options": [
                      "Critical",
                      "High",
                      "Medium",
                      "Low"
                    ],
                    "default_value": "Medium",
                    "status": "enabled",
                    "creator_id": 80011,
                    "updated_by": 80011,
                    "created_at": 1710000000,
                    "updated_at": 1710000000
                  }
                }
              }
            }
          },
          "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/FieldInfoRequest"
              },
              "example": {
                "field_id": "66e9d3a4f7c2b04a1c8a91b3"
              }
            }
          }
        }
      }
    },
    "/field/list": {
      "post": {
        "operationId": "field-read-list",
        "summary": "查看自定义字段列表",
        "description": "返回账号下所有的故障自定义字段。",
        "tags": [
          "On-call/标签增强"
        ],
        "x-mint": {
          "content": "## 调用限制\n\n| 项 | 值 |\n| ------ | ----- |\n| 速率限制 | 每账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限 | **故障可读** (`on-call`) 或 **故障可管理** (`on-call`) |\n\n## 使用说明\n\n- 一次性返回全部未删除字段，无分页与 `total`。\n- `query` 仅匹配 `field_name`；非法正则会自动转义为字面量子串匹配。",
          "href": "/zh/api-reference/on-call/alert-enrichment/field-read-list",
          "metadata": {
            "sidebarTitle": "查看自定义字段列表"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/FieldListResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "items": [
                      {
                        "account_id": 80001,
                        "field_id": "66e9d3a4f7c2b04a1c8a91b3",
                        "field_name": "severity_class",
                        "display_name": "Severity Class",
                        "description": "Business severity tier.",
                        "field_type": "single_select",
                        "value_type": "string",
                        "options": [
                          "Critical",
                          "High",
                          "Medium",
                          "Low"
                        ],
                        "default_value": "Medium",
                        "status": "enabled",
                        "creator_id": 80011,
                        "updated_by": 80011,
                        "created_at": 1710000000,
                        "updated_at": 1710000000
                      }
                    ]
                  }
                }
              }
            }
          },
          "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/FieldListRequest"
              },
              "example": {
                "orderby": "updated_at",
                "asc": false,
                "query": "severity"
              }
            }
          }
        }
      }
    },
    "/field/create": {
      "post": {
        "operationId": "field-write-create",
        "summary": "创建自定义字段",
        "description": "为账号新建一个故障自定义字段。",
        "tags": [
          "On-call/标签增强"
        ],
        "x-mint": {
          "content": "## 调用限制\n\n| 项 | 值 |\n| ------ | ----- |\n| 速率限制 | 每账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限 | **故障可管理** (`on-call`) |\n\n## 使用说明\n\n- 每个账号最多 **15** 个自定义字段。\n- `field_name` 必须匹配 `^[a-zA-Z_][a-zA-Z0-9_]{0,39}$`，创建后不可更改；`display_name` 在账号内须唯一。\n- 类型规则：`checkbox` 仅支持 `value_type=bool` 且无 `options`；`single_select`/`multi_select` 要求 `value_type=string` 且 `options` 非空且元素唯一；`text` 仅支持 `value_type=string` 且无 `options`。\n- 响应仅包含 `field_id` 与 `field_name`，如需完整对象请调用 `/field/info`。\n- 该接口会被审计日志记录。",
          "href": "/zh/api-reference/on-call/alert-enrichment/field-write-create",
          "metadata": {
            "sidebarTitle": "创建自定义字段"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/CreateFieldResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "field_id": "66e9d3a4f7c2b04a1c8a91b3",
                    "field_name": "severity_class"
                  }
                }
              }
            }
          },
          "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/CreateFieldRequest"
              },
              "example": {
                "field_name": "severity_class",
                "display_name": "Severity Class",
                "description": "Business severity tier.",
                "field_type": "single_select",
                "value_type": "string",
                "options": [
                  "Critical",
                  "High",
                  "Medium",
                  "Low"
                ],
                "default_value": "Medium"
              }
            }
          }
        }
      }
    },
    "/field/update": {
      "post": {
        "operationId": "field-write-update",
        "summary": "变更自定义字段",
        "description": "修改已有自定义字段的可变属性。",
        "tags": [
          "On-call/标签增强"
        ],
        "x-mint": {
          "content": "## 调用限制\n\n| 项 | 值 |\n| ------ | ----- |\n| 速率限制 | 每账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限 | **故障可管理** (`on-call`) |\n\n## 使用说明\n\n- 仅可修改 `display_name`、`description`、`options`、`default_value`；`field_name`、`field_type`、`value_type` 不可更改。\n- `options` 与 `default_value` 需保持与字段当前类型一致，规则同创建接口。\n- 该接口会被审计日志记录。",
          "href": "/zh/api-reference/on-call/alert-enrichment/field-write-update",
          "metadata": {
            "sidebarTitle": "变更自定义字段"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "object"
                        }
                      }
                    }
                  ]
                },
                "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/UpdateFieldRequest"
              },
              "example": {
                "field_id": "66e9d3a4f7c2b04a1c8a91b3",
                "display_name": "Severity Class",
                "description": "Business severity tier.",
                "options": [
                  "Critical",
                  "High",
                  "Medium",
                  "Low"
                ],
                "default_value": "Medium"
              }
            }
          }
        }
      }
    },
    "/field/delete": {
      "post": {
        "operationId": "field-write-delete",
        "summary": "删除自定义字段",
        "description": "删除自定义字段，并异步清理历史故障中的同名字段值。",
        "tags": [
          "On-call/标签增强"
        ],
        "x-mint": {
          "content": "## 调用限制\n\n| 项 | 值 |\n| ------ | ----- |\n| 速率限制 | 每账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限 | **故障可管理** (`on-call`) |\n\n## 使用说明\n\n- 字段会被同步标记为已删除；历史故障中的字段值会在后台清理，大型数据集可能需要时间。\n- 仅当 `field_type` 和 `value_type` 与已删除字段一致时，才能使用相同 `field_name` 重新创建。\n- 自定义表单仍使用该字段时，删除会返回 `ReferenceExist`，引用表单位于 `data.refs`；移除所有引用后才能删除。\n- 已审计 —— 变更会记录到审计日志。",
          "href": "/zh/api-reference/on-call/alert-enrichment/field-write-delete",
          "metadata": {
            "sidebarTitle": "删除自定义字段"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "object"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {}
                }
              }
            }
          },
          "400": {
            "description": "请求参数无效，或该字段仍被自定义表单引用。",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/ErrorResponse"
                    },
                    {
                      "$ref": "#/components/schemas/FieldDeleteReferenceError"
                    }
                  ]
                },
                "examples": {
                  "fieldStillReferenced": {
                    "value": {
                      "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                      "error": {
                        "code": "ReferenceExist",
                        "message": "There still are associated resources, deletion is blocked."
                      },
                      "data": {
                        "refs": [
                          {
                            "kind": "custom_form",
                            "name": "Resolve incident",
                            "href": "https://console.flashcat.cloud/forms/resolve"
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "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/DeleteFieldRequest"
              },
              "example": {
                "field_id": "66e9d3a4f7c2b04a1c8a91b3"
              }
            }
          }
        }
      }
    },
    "/change/list": {
      "post": {
        "operationId": "change-read-list",
        "summary": "查询变更列表",
        "description": "在指定时间窗口内查询变更记录，支持过滤、搜索与分页。",
        "tags": [
          "On-call/变更管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | 无 —— 持有有效的 `app_key` 即可调用 |\n",
          "href": "/zh/api-reference/on-call/changes/change-read-list",
          "metadata": {
            "sidebarTitle": "查询变更列表"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/ListChangeResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "total": 1,
                    "has_next_page": false,
                    "items": [
                      {
                        "change_id": "664a1b2c3d4e5f6a7b8c9d0e",
                        "account_id": 10001,
                        "channel_id": 5001,
                        "channel_name": "Production",
                        "channel_status": "enabled",
                        "integration_id": 362,
                        "integration_name": "GitHub Deploy",
                        "title": "Deploy api-server v2.3.1",
                        "description": "Rolling deploy to production cluster",
                        "change_key": "deploy-api-server-2311",
                        "change_status": "Done",
                        "start_time": 1716962400,
                        "last_time": 1716962700,
                        "end_time": 1716963000,
                        "labels": {
                          "service": "api-server",
                          "env": "prod"
                        },
                        "link": "https://github.com/acme/api-server/actions/runs/123"
                      }
                    ]
                  }
                }
              }
            }
          },
          "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/ListChangeRequest"
              },
              "example": {
                "start_time": 1716960000,
                "end_time": 1717046400,
                "p": 1,
                "limit": 10,
                "integration_ids": [
                  362
                ],
                "orderby": "start_time",
                "asc": false,
                "include_events": false
              }
            }
          }
        }
      }
    },
    "/incident/war-room/default-observers": {
      "post": {
        "operationId": "incident-read-get-war-room-default-observers",
        "summary": "查看作战室默认观察者",
        "description": "返回开启作战室时建议作为默认观察者的历史响应人。",
        "tags": [
          "On-call/故障管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | 无 —— 持有有效的 `app_key` 即可调用 |\n",
          "href": "/zh/api-reference/on-call/incidents/incident-read-get-war-room-default-observers",
          "metadata": {
            "sidebarTitle": "查看作战室默认观察者"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/GetWarRoomDefaultObserversResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "observers": [
                      {
                        "account_id": 10001,
                        "person_id": 20001,
                        "person_name": "Alice Chen",
                        "avatar": "https://cdn.flashcat.cloud/avatar/20001.png",
                        "email": "alice@acme.com",
                        "phone": "+8613800000000",
                        "locale": "zh-CN",
                        "time_zone": "Asia/Shanghai",
                        "as": "responder",
                        "status": "active"
                      }
                    ]
                  }
                }
              }
            }
          },
          "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/GetWarRoomDefaultObserversRequest"
              },
              "example": {
                "incident_id": "664a1b2c3d4e5f6a7b8c9d0e"
              }
            }
          }
        }
      }
    },
    "/incident/war-room/add-member": {
      "post": {
        "operationId": "incident-write-add-war-room-member",
        "summary": "添加作战室成员",
        "description": "向与故障集成绑定的 IM 作战室添加一名或多名成员。",
        "tags": [
          "On-call/故障管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | 无 —— 持有有效的 `app_key` 即可调用 |\n",
          "href": "/zh/api-reference/on-call/incidents/incident-write-add-war-room-member",
          "metadata": {
            "sidebarTitle": "添加作战室成员"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "string",
                          "description": "成功时返回字面量 \"ok\"。"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": "ok"
                }
              }
            }
          },
          "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/AddWarRoomMemberRequest"
              },
              "example": {
                "integration_id": 362,
                "chat_id": "oc_5ce6d572455d361153b7cb51da133945",
                "member_ids": [
                  20001,
                  20002
                ]
              }
            }
          }
        }
      }
    },
    "/template/preview": {
      "post": {
        "operationId": "template-read-preview",
        "summary": "预览模板",
        "description": "使用故障数据或模拟数据渲染通知模板并返回结果。",
        "tags": [
          "On-call/通知模板"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **60 次/分钟**；**10 次/秒** |\n| 权限要求 | 无 —— 持有有效的 `app_key` 即可调用 |\n\n## 使用说明\n\n- `incident_card_hidden_fields` 仅用于受支持的 IM 故障卡片预览；不支持的应用类型或字段名会返回 `InvalidParameter`。\n- 只有所选 IM 预览存在非空固定故障卡片值时，才会返回 `fixed_fields`。",
          "href": "/zh/api-reference/on-call/notification-templates/template-read-preview",
          "metadata": {
            "sidebarTitle": "预览模板"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/PreviewTemplateResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "success": true,
                    "content": "Incident Database latency spike is Critical",
                    "message": "",
                    "fixed_fields": [
                      {
                        "field": "channel",
                        "value": "Payment Alerts"
                      }
                    ]
                  }
                }
              }
            }
          },
          "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/PreviewTemplateRequest"
              },
              "example": {
                "content": "Incident {{.Title}} is {{.Status}}",
                "type": "feishu_app",
                "incident_id": "664a1b2c3d4e5f6a7b8c9d0e",
                "incident_card_hidden_fields": {
                  "feishu_app": [
                    "responders"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/datasource/im/war-room-enabled/list": {
      "post": {
        "operationId": "im-war-room-enabled-list",
        "summary": "查看开启作战室功能的集成",
        "description": "查询账户下已开启作战室功能的 IM 集成。",
        "tags": [
          "On-call/IM 集成"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | 无 —— 持有有效的 `app_key` 即可调用 |\n",
          "href": "/zh/api-reference/on-call/integrations/im-war-room-enabled-list",
          "metadata": {
            "sidebarTitle": "查看开启作战室功能的集成"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/ListWarRoomEnabledResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "items": [
                      {
                        "data_source_id": 362,
                        "account_id": 10001,
                        "team_id": 0,
                        "plugin_id": 101,
                        "name": "Feishu Ops",
                        "status": "enabled",
                        "category": "im",
                        "plugin_type": "feishu",
                        "plugin_type_name": "Feishu",
                        "description": "Feishu war-room integration",
                        "integration_key": "ik_8f3a2b1c9d0e",
                        "ref_id": "",
                        "settings": {
                          "war_room_enabled": true
                        },
                        "no_editable": false,
                        "creator_id": 20001,
                        "updated_by": 20001,
                        "created_at": 1716962400,
                        "updated_at": 1716962700,
                        "last_time": 0,
                        "exclusive_data_source_id": 0,
                        "integration_id": 362
                      }
                    ]
                  }
                }
              }
            }
          },
          "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": {
                "type": "object"
              },
              "example": {}
            }
          }
        }
      }
    },
    "/status-page/list": {
      "get": {
        "operationId": "status-page-read-page-list",
        "summary": "查询状态页列表",
        "description": "查询账户下所有状态页，包含其组件与分组。",
        "tags": [
          "On-call/状态页"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | 无 —— 持有有效的 `app_key` 即可调用 |\n",
          "href": "/zh/api-reference/on-call/status-pages/status-page-read-page-list",
          "metadata": {
            "sidebarTitle": "查询状态页列表"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/ListStatusPageResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "items": [
                      {
                        "page_id": 7001,
                        "name": "Acme Status",
                        "url_name": "acme",
                        "type": "public",
                        "custom_domain": "status.acme.com",
                        "logo_url": "https://acme.com",
                        "page_header": "Acme System Status",
                        "date_view": "calendar",
                        "display_uptime_mode": "chart_and_percentage",
                        "custom_links": [
                          {
                            "name": "Home",
                            "url": "https://acme.com"
                          }
                        ],
                        "contact_info": "mailto:support@acme.com",
                        "components": [
                          {
                            "component_id": "cmp_001",
                            "section_id": "sec_001",
                            "name": "API",
                            "description": "Core API service",
                            "available_since_seconds": 1716962400,
                            "order_id": 1,
                            "hide_uptime": false,
                            "hide_all": false
                          }
                        ],
                        "sections": [
                          {
                            "section_id": "sec_001",
                            "name": "Core Services",
                            "order_id": 1,
                            "hide_uptime": false,
                            "hide_all": false
                          }
                        ],
                        "subscription": {
                          "email": true,
                          "im": false
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        }
      }
    },
    "/datasource/im/person/try-link": {
      "post": {
        "operationId": "datasourceImPersonTryLink",
        "summary": "尝试关联 IM 人员",
        "description": "为指定集成尝试将未绑定成员自动关联到对应的 IM 账号。",
        "tags": [
          "On-call/集成中心"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **集成中心管理**（`on-call`） |\n\n## 使用说明\n\n- 服务端使用成员邮箱和手机号在钉钉、飞书或企业微信中查找匹配用户。\n- 如果没有成员可关联，响应中的 `new_linked_person_ids` 可能为空数组，或整个 `data` 字段被省略。",
          "href": "/zh/api-reference/on-call/integrations/datasource-im-person-try-link",
          "metadata": {
            "sidebarTitle": "尝试关联 IM 人员"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/TryLinkPersonResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "new_linked_person_ids": [
                      5348648172131
                    ]
                  }
                }
              }
            }
          },
          "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/TryLinkPersonRequest"
              },
              "example": {
                "integration_id": 6113996590131
              }
            }
          }
        }
      }
    },
    "/incident/post-mortem/init": {
      "post": {
        "operationId": "postmortem-write-init",
        "summary": "初始化故障复盘",
        "description": "根据一个或多个故障和模板创建复盘草稿。",
        "tags": [
          "On-call/故障管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **故障管理**（`on-call`） |\n\n## 使用说明\n\n- 最多可将 10 个故障关联到同一份复盘报告。\n- 每次调用都会记录到账户审计日志，请不要把敏感信息放在请求字段中。",
          "href": "/zh/api-reference/on-call/incidents/postmortem-write-init",
          "metadata": {
            "sidebarTitle": "初始化故障复盘"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/PostMortemItem"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "meta": {
                      "account_id": 2451002751131,
                      "title": "Postmortem1",
                      "status": "published",
                      "post_mortem_id": "8104935102bf89dc01ac638a5261fe7e",
                      "template_id": "post_mortem_default_tmpl_en-us",
                      "incident_ids": [
                        "69bb9233331067560c718ecd"
                      ],
                      "media_count": 0,
                      "author_ids": [
                        2477273692131
                      ],
                      "team_id": 2477033058131,
                      "channel_id": 3047621227131,
                      "is_private": false,
                      "channel_name": "Ops Channel",
                      "created_at_seconds": 1773900354,
                      "updated_at_seconds": 1773909012
                    },
                    "basics": {
                      "incidents_highest_severity": "Warning",
                      "incidents_earliest_start_seconds": 1761133512,
                      "incidents_latest_close_seconds": 1761133632,
                      "incidents_total_duration_seconds": 120,
                      "responders": [
                        {
                          "person_id": 3790925372131,
                          "assigned_at": 1761133515,
                          "acknowledged_at": 0
                        }
                      ]
                    },
                    "content": {
                      "content": "{\"type\":\"doc\",\"content\":[]}"
                    },
                    "follow_ups": ""
                  }
                }
              }
            }
          },
          "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/InitPostMortemRequest"
              },
              "example": {
                "incident_ids": [
                  "69bb9233331067560c718ecd"
                ],
                "template_id": "post_mortem_default_tmpl_en-us"
              }
            }
          }
        }
      }
    },
    "/incident/post-mortem/basics/reset": {
      "post": {
        "operationId": "postmortem-write-reset-basics",
        "summary": "更新故障复盘基础信息",
        "description": "替换复盘报告中记录的故障基础信息。",
        "tags": [
          "On-call/故障管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **故障管理**（`on-call`） |\n\n## 使用说明\n\n- 每次调用都会记录到账户审计日志，请不要把敏感信息放在请求字段中。",
          "href": "/zh/api-reference/on-call/incidents/postmortem-write-reset-basics",
          "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/ResetPostMortemBasicsRequest"
              },
              "example": {
                "post_mortem_id": "8104935102bf89dc01ac638a5261fe7e",
                "incidents_highest_severity": "Warning",
                "incidents_earliest_start_seconds": 1761133512,
                "incidents_latest_close_seconds": 1761133632,
                "incidents_total_duration_seconds": 120,
                "responder_ids": [
                  3790925372131
                ]
              }
            }
          }
        }
      }
    },
    "/incident/post-mortem/content/reset": {
      "post": {
        "operationId": "incident-post-mortem-write-reset-content",
        "summary": "重置故障复盘正文",
        "description": "用 Markdown 完整替换草稿状态故障复盘的正文。",
        "tags": [
          "On-call/故障管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **300 次/分钟**；**20 次/秒** |\n| 权限要求 | 调用方须拥有目标复盘的编辑权限。 |\n\n## 使用说明\n\n- 仅草稿状态的报告可重置，且当前修订版本必须等于 `expected_revision`；否则返回 `409 Conflict`。\n- 同一 `idempotency_key` 只能重试相同的复盘、修订版本和 Markdown 正文；复用到不同请求会返回 `409 Conflict`。\n- 重置成功后旧的协作（Yjs）房间会被断开，客户端需切换到新 generation 的房间 `post-mortem-{accountId}-{postMortemId}-g{N}`（generation 0 无 `-g` 后缀）。重置不可回滚。\n- Markdown 正文最大为 4 MiB。\n- 每次调用都会记录到账户审计日志，请不要把敏感信息放在请求字段中。",
          "href": "/zh/api-reference/on-call/incidents/incident-post-mortem-write-reset-content",
          "metadata": {
            "sidebarTitle": "重置故障复盘正文"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/PostMortemContentResetResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "post_mortem_id": "8104935102bf89dc01ac638a5261fe7e",
                    "generation": 2,
                    "revision": 12,
                    "previous_generation": 1,
                    "previous_revision": 11,
                    "markdown_bytes": 88,
                    "markdown_sha256": "70d764e77e68f8fbfa14d72a235ac07b0110768b8380c8e3436459ebaf02a7c0"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "409": {
            "description": "报告不是草稿状态、修订版本已过期，或幂等键被复用到不同请求。",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "request_id",
                    "error"
                  ],
                  "properties": {
                    "request_id": {
                      "type": "string"
                    },
                    "error": {
                      "type": "object",
                      "required": [
                        "code",
                        "message"
                      ],
                      "properties": {
                        "code": {
                          "type": "string",
                          "enum": [
                            "Conflict"
                          ]
                        },
                        "message": {
                          "type": "string"
                        }
                      }
                    }
                  }
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "error": {
                    "code": "Conflict",
                    "message": "expected_revision conflict: request has 11 but current revision is 12"
                  }
                }
              }
            }
          },
          "413": {
            "description": "Markdown 正文超过 4 MiB 限制。",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "error": {
                    "code": "EntityTooLarge",
                    "message": "markdown exceeds maximum size"
                  }
                }
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResetPostMortemContentRequest"
              },
              "example": {
                "post_mortem_id": "8104935102bf89dc01ac638a5261fe7e",
                "markdown": "# Database saturation incident\n\nThe database pool was exhausted; added saturation alert.",
                "expected_revision": 11,
                "idempotency_key": "postmortem-reset-8104935102-11"
              }
            }
          }
        }
      }
    },
    "/incident/post-mortem/status/reset": {
      "post": {
        "operationId": "postmortem-write-reset-status",
        "summary": "更新故障复盘状态",
        "description": "将复盘报告设置为草稿或已发布。",
        "tags": [
          "On-call/故障管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **故障管理**（`on-call`） |\n\n## 使用说明\n\n- 每次调用都会记录到账户审计日志，请不要把敏感信息放在请求字段中。",
          "href": "/zh/api-reference/on-call/incidents/postmortem-write-reset-status",
          "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/ResetPostMortemStatusRequest"
              },
              "example": {
                "post_mortem_id": "8104935102bf89dc01ac638a5261fe7e",
                "status": "published"
              }
            }
          }
        }
      }
    },
    "/incident/post-mortem/title/reset": {
      "post": {
        "operationId": "postmortem-write-reset-title",
        "summary": "更新故障复盘标题",
        "description": "替换复盘报告标题。",
        "tags": [
          "On-call/故障管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **故障管理**（`on-call`） |\n\n## 使用说明\n\n- 每次调用都会记录到账户审计日志，请不要把敏感信息放在请求字段中。",
          "href": "/zh/api-reference/on-call/incidents/postmortem-write-reset-title",
          "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/ResetPostMortemTitleRequest"
              },
              "example": {
                "post_mortem_id": "8104935102bf89dc01ac638a5261fe7e",
                "title": "Production API latency incident"
              }
            }
          }
        }
      }
    },
    "/incident/post-mortem/follow-ups/reset": {
      "post": {
        "operationId": "postmortem-write-reset-follow-ups",
        "summary": "更新故障复盘后续行动",
        "description": "替换复盘报告中的后续行动项。",
        "tags": [
          "On-call/故障管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **故障管理**（`on-call`） |\n\n## 使用说明\n\n- 每次调用都会记录到账户审计日志，请不要把敏感信息放在请求字段中。",
          "href": "/zh/api-reference/on-call/incidents/postmortem-write-reset-follow-ups",
          "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/ResetPostMortemFollowUpsRequest"
              },
              "example": {
                "post_mortem_id": "8104935102bf89dc01ac638a5261fe7e",
                "follow_ups": "- Add database saturation alert\n- Review cache TTL rollout"
              }
            }
          }
        }
      }
    },
    "/incident/post-mortem/template/upsert": {
      "post": {
        "operationId": "postmortem-write-upsert-template",
        "summary": "创建或更新故障复盘模板",
        "description": "创建自定义复盘模板，或更新已有模板。",
        "tags": [
          "On-call/故障管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **故障管理**（`on-call`） |\n\n## 使用说明\n\n- 每次调用都会记录到账户审计日志，请不要把敏感信息放在请求字段中。",
          "href": "/zh/api-reference/on-call/incidents/postmortem-write-upsert-template",
          "metadata": {
            "sidebarTitle": "创建或更新故障复盘模板"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/PostMortemTemplate"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "account_id": 2451002751131,
                    "template_id": "post_mortem_default_tmpl_en-us",
                    "name": "Default post-mortem report",
                    "description": "Default sections for post-mortem reports.",
                    "content": "[{\"type\":\"heading\",\"content\":\"Summary\"}]",
                    "content_markdown": "## Summary\nDescribe what happened.",
                    "team_id": 2477033058131,
                    "created_at_seconds": 1773900000,
                    "updated_at_seconds": 1773903600
                  }
                }
              }
            }
          },
          "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/UpsertPostMortemTemplateRequest"
              },
              "example": {
                "team_id": 2477033058131,
                "name": "Production incident template",
                "description": "Template for production incident reviews.",
                "content": "[{\"type\":\"heading\",\"content\":\"Summary\"}]",
                "content_markdown": "## Summary\nDescribe what happened."
              }
            }
          }
        }
      }
    },
    "/incident/post-mortem/template/delete": {
      "post": {
        "operationId": "postmortem-write-delete-template",
        "summary": "删除故障复盘模板",
        "description": "删除自定义复盘模板。",
        "tags": [
          "On-call/故障管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **故障管理**（`on-call`） |\n\n## 使用说明\n\n- 每次调用都会记录到账户审计日志，请不要把敏感信息放在请求字段中。",
          "href": "/zh/api-reference/on-call/incidents/postmortem-write-delete-template",
          "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/DeletePostMortemTemplateRequest"
              },
              "example": {
                "template_id": "post_mortem_custom_tmpl_01"
              }
            }
          }
        }
      }
    },
    "/incident/post-mortem/template/list": {
      "post": {
        "operationId": "postmortem-read-list-templates",
        "summary": "查询故障复盘模板列表",
        "description": "返回账号下的内置和自定义故障复盘模板。",
        "tags": [
          "On-call/故障管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **故障查看**（`on-call`） |",
          "href": "/zh/api-reference/on-call/incidents/postmortem-read-list-templates",
          "metadata": {
            "sidebarTitle": "查询故障复盘模板列表"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/ListPostMortemTemplatesResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "total": 2,
                    "has_next_page": false,
                    "items": [
                      {
                        "account_id": 2451002751131,
                        "template_id": "post_mortem_default_tmpl_en-us",
                        "name": "Default post-mortem report",
                        "description": "Default sections for post-mortem reports.",
                        "content": "[{\"type\":\"heading\",\"content\":\"Summary\"}]",
                        "content_markdown": "## Summary\nDescribe what happened.",
                        "team_id": 2477033058131,
                        "created_at_seconds": 1773900000,
                        "updated_at_seconds": 1773903600
                      }
                    ]
                  }
                }
              }
            }
          },
          "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/ListPostMortemTemplatesRequest"
              },
              "example": {
                "p": 1,
                "limit": 20,
                "order_by": "created_at_seconds",
                "asc": false
              }
            }
          }
        }
      }
    },
    "/incident/post-mortem/template/info": {
      "get": {
        "operationId": "postmortem-read-template-info",
        "summary": "查看故障复盘模板详情",
        "description": "按 ID 返回单个故障复盘模板。",
        "tags": [
          "On-call/故障管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **故障查看**（`on-call`） |",
          "href": "/zh/api-reference/on-call/incidents/postmortem-read-template-info",
          "metadata": {
            "sidebarTitle": "查看故障复盘模板详情"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/PostMortemTemplate"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "account_id": 2451002751131,
                    "template_id": "post_mortem_default_tmpl_en-us",
                    "name": "Default post-mortem report",
                    "description": "Default sections for post-mortem reports.",
                    "content": "[{\"type\":\"heading\",\"content\":\"Summary\"}]",
                    "content_markdown": "## Summary\nDescribe what happened.",
                    "team_id": 2477033058131,
                    "created_at_seconds": 1773900000,
                    "updated_at_seconds": 1773903600
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "parameters": [
          {
            "name": "template_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Template ID."
          }
        ]
      }
    },
    "/status-page/info": {
      "get": {
        "operationId": "statusPageInfo",
        "summary": "获取状态页详情",
        "description": "获取指定状态页的详细配置信息。",
        "tags": [
          "On-call/状态页"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | 无 —— 持有有效的 `app_key` 即可调用 |",
          "href": "/zh/api-reference/on-call/status-pages/status-page-info",
          "metadata": {
            "sidebarTitle": "获取状态页详情"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/StatusPageInfoResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "page_id": 5750613685214,
                    "name": "Flashduty Status Page",
                    "url_name": "flashduty-statuspage",
                    "type": "public",
                    "custom_domain": "status.example.com",
                    "logo": "https://cdn.example.com/logo.png",
                    "favicon": "https://cdn.example.com/favicon.png",
                    "page_header": "Welcome to our status page",
                    "page_footer": "2025 Example Corp",
                    "date_view": "list",
                    "display_uptime_mode": "chart_and_percentage",
                    "custom_links": [
                      {
                        "key": "Documentation",
                        "value": "https://docs.example.com"
                      }
                    ],
                    "contact_info": "mailto:support@example.com",
                    "components": [
                      {
                        "component_id": "01KC3GAZ6ZJE40H55GM31RPWZE",
                        "section_id": "01KC3FKKX5TSVG6Z3X1QNGF6V2",
                        "name": "Web Console",
                        "available_since_seconds": 1765349358,
                        "order_id": 1
                      }
                    ],
                    "sections": [
                      {
                        "section_id": "01KC3FKKX5TSVG6Z3X1QNGF6V2",
                        "name": "Core Services",
                        "description": "Our core services",
                        "order_id": 1,
                        "hide_uptime": false,
                        "hide_all": false
                      }
                    ],
                    "subscription": {
                      "email": true,
                      "im": false
                    },
                    "template_preference": "message",
                    "managed_domain_feature_enabled": true
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "parameters": [
          {
            "name": "page_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "description": "状态页 ID。"
          }
        ]
      }
    },
    "/status-page/create": {
      "post": {
        "operationId": "statusPageCreate",
        "summary": "创建状态页",
        "description": "创建一个新的状态页。",
        "tags": [
          "On-call/状态页"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **状态页面管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/status-pages/status-page-create",
          "metadata": {
            "sidebarTitle": "创建状态页"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/CreateStatusPageResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "page_id": 6294565612043,
                    "page_name": "My Status Page",
                    "page_url_name": "my-status-page"
                  }
                }
              }
            }
          },
          "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/CreateStatusPageRequest"
              },
              "example": {
                "name": "My Status Page",
                "url_name": "my-status-page",
                "type": "public",
                "page_header": "Welcome to our status page",
                "contact_info": "mailto:support@example.com"
              }
            }
          }
        }
      }
    },
    "/status-page/update": {
      "post": {
        "operationId": "statusPageUpdate",
        "summary": "更新状态页",
        "description": "更新已有状态页的配置。",
        "tags": [
          "On-call/状态页"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **状态页面管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/status-pages/status-page-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/UpdateStatusPageRequest"
              },
              "example": {
                "page_id": 5750613685214,
                "name": "Flashduty Status Page (Updated)",
                "page_header": "Updated status page header",
                "contact_info": "mailto:support@example.com"
              }
            }
          }
        }
      }
    },
    "/status-page/delete": {
      "post": {
        "operationId": "statusPageDelete",
        "summary": "删除状态页",
        "description": "删除指定的状态页。",
        "tags": [
          "On-call/状态页"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **状态页面管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/status-pages/status-page-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/DeleteStatusPageRequest"
              },
              "example": {
                "page_id": 5750613685214
              }
            }
          }
        }
      }
    },
    "/status-page/component/upsert": {
      "post": {
        "operationId": "statusPageComponentUpsert",
        "summary": "创建或更新状态页组件",
        "description": "在状态页上创建或更新服务组件。",
        "tags": [
          "On-call/状态页"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **状态页面管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/status-pages/status-page-component-upsert",
          "metadata": {
            "sidebarTitle": "创建或更新状态页组件"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/UpsertStatusPageComponentResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "component_ids": [
                      "01KP032KMN9YFBMPWANJMFZFG1"
                    ]
                  }
                }
              }
            }
          },
          "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/UpsertStatusPageComponentRequest"
              },
              "example": {
                "page_id": 5750613685214,
                "components": [
                  {
                    "name": "Web Console",
                    "description": "Main web interface",
                    "section_id": "01KC3FKKX5TSVG6Z3X1QNGF6V2",
                    "order_id": 1
                  }
                ]
              }
            }
          }
        }
      }
    },
    "/status-page/component/delete": {
      "post": {
        "operationId": "statusPageComponentDelete",
        "summary": "删除状态页组件",
        "description": "从状态页删除服务组件。",
        "tags": [
          "On-call/状态页"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **状态页面管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/status-pages/status-page-component-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/DeleteStatusPageComponentRequest"
              },
              "example": {
                "page_id": 5750613685214,
                "component_ids": [
                  "01KP032KMN9YFBMPWANJMFZFG1"
                ]
              }
            }
          }
        }
      }
    },
    "/status-page/section/upsert": {
      "post": {
        "operationId": "statusPageSectionUpsert",
        "summary": "创建或更新状态页区域",
        "description": "在状态页上创建或更新区域。",
        "tags": [
          "On-call/状态页"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **状态页面管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/status-pages/status-page-section-upsert",
          "metadata": {
            "sidebarTitle": "创建或更新状态页区域"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/UpsertStatusPageSectionResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "section_ids": [
                      "01KP032J1FV2H8DDGN0QSJ1CAR"
                    ]
                  }
                }
              }
            }
          },
          "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/UpsertStatusPageSectionRequest"
              },
              "example": {
                "page_id": 5750613685214,
                "sections": [
                  {
                    "name": "Core Services",
                    "description": "Our core services",
                    "order_id": 1
                  }
                ]
              }
            }
          }
        }
      }
    },
    "/status-page/section/delete": {
      "post": {
        "operationId": "statusPageSectionDelete",
        "summary": "删除状态页区域",
        "description": "从状态页删除区域。",
        "tags": [
          "On-call/状态页"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **状态页面管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/status-pages/status-page-section-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/DeleteStatusPageSectionRequest"
              },
              "example": {
                "page_id": 5750613685214,
                "section_ids": [
                  "01KP032J1FV2H8DDGN0QSJ1CAR"
                ]
              }
            }
          }
        }
      }
    },
    "/status-page/template/upsert": {
      "post": {
        "operationId": "statusPageTemplateUpsert",
        "summary": "创建或更新状态页模板",
        "description": "创建或更新状态页的事件模板。",
        "tags": [
          "On-call/状态页"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **状态页面管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/status-pages/status-page-template-upsert",
          "metadata": {
            "sidebarTitle": "创建或更新状态页模板"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/UpsertStatusPageTemplateResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "template_id": "01KP0339G5XDEPM4R86T2B23EP"
                  }
                }
              }
            }
          },
          "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/UpsertStatusPageTemplateRequest"
              },
              "example": {
                "page_id": 5720156736380,
                "type": "pre_defined",
                "template": {
                  "title": "Service Disruption",
                  "status": "investigating",
                  "description": "We are investigating a service disruption affecting some users.",
                  "type": "incident"
                }
              }
            }
          }
        }
      }
    },
    "/status-page/template/delete": {
      "post": {
        "operationId": "statusPageTemplateDelete",
        "summary": "删除状态页模板",
        "description": "删除状态页的事件模板。",
        "tags": [
          "On-call/状态页"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **状态页面管理**（`on-call`） |",
          "href": "/zh/api-reference/on-call/status-pages/status-page-template-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/DeleteStatusPageTemplateRequest"
              },
              "example": {
                "page_id": 5720156736380,
                "type": "pre_defined",
                "template_id": "01KP0339G5XDEPM4R86T2B23EP"
              }
            }
          }
        }
      }
    },
    "/status-page/template/list": {
      "get": {
        "operationId": "statusPageTemplateList",
        "summary": "查询状态页模板列表",
        "description": "查询状态页的所有事件模板。",
        "tags": [
          "On-call/状态页"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | 无 —— 持有有效的 `app_key` 即可调用 |",
          "href": "/zh/api-reference/on-call/status-pages/status-page-template-list",
          "metadata": {
            "sidebarTitle": "查询状态页模板列表"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/ListStatusPageTemplatesResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "items": [
                      {
                        "template_id": "01KC8KP6PHVPSCAB0BTKZBN2HR",
                        "title": "Service Disruption",
                        "type": "incident",
                        "status": "identified",
                        "description": "We have identified the root cause."
                      }
                    ]
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "parameters": [
          {
            "name": "page_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "description": "状态页 ID。"
          },
          {
            "name": "type",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "pre_defined",
                "message"
              ]
            },
            "description": "模板类别。`pre_defined` 返回预定义事件模板；`message` 返回消息通知模板。"
          }
        ]
      }
    },
    "/oncall/license/list": {
      "post": {
        "operationId": "oncall-license-read-license-list",
        "summary": "查询 On-call 许可列表",
        "description": "查询当前账户中正在使用固定或临时 On-call 许可的人员。",
        "tags": [
          "On-call/许可管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | 无——任意有效的 `app_key` 都可以调用此接口 |\n\n## 使用说明\n\n- `items` 仅包含持有固定或临时 On-call 许可的人员。\n- 对临时许可，`updated_by`、`created_at` 和 `updated_at` 均为 `0`。",
          "href": "/zh/api-reference/on-call/licenses/oncall-license-read-license-list",
          "metadata": {
            "sidebarTitle": "查询 On-call 许可列表"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/LicenseListResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01J0D5Y31GY2TWAHRP3Q8K4M6N",
                  "data": {
                    "total": 2,
                    "items": [
                      {
                        "person_id": 80011,
                        "person_name": "Yuki Zhang",
                        "type": "fixed",
                        "updated_by": 80001,
                        "created_at": 1719792000,
                        "updated_at": 1719878400
                      },
                      {
                        "person_id": 80012,
                        "person_name": "Alex Chen",
                        "type": "temporary",
                        "updated_by": 0,
                        "created_at": 0,
                        "updated_at": 0
                      }
                    ],
                    "release_limited": false
                  }
                }
              }
            }
          },
          "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/EmptyRequest"
              },
              "example": {}
            }
          }
        }
      }
    },
    "/incident/comment-type/list": {
      "post": {
        "operationId": "incidentCommentTypeList",
        "summary": "查询评论类型列表",
        "description": "获取账户下全部评论类型，按展示位置排序。",
        "tags": [
          "On-call/故障管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **故障查看**（`on-call`） |\n\n## 使用说明\n\n- 一次调用返回完整列表，不分页。\n- 每个账户最多可创建 10 个评论类型。",
          "href": "/zh/api-reference/on-call/incidents/incident-comment-type-list",
          "metadata": {
            "sidebarTitle": "查询评论类型列表"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/ListIncidentCommentTypesResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "items": [
                      {
                        "comment_type_id": "6a5895d672a064bc2d3ddfc2",
                        "account_id": 2451002751131,
                        "name": "Key finding",
                        "color": "#30A46C",
                        "position": 1,
                        "creator_id": 5068740052131,
                        "updated_by": 5068740052131,
                        "created_at": 1784190422,
                        "updated_at": 1784207748
                      },
                      {
                        "comment_type_id": "6a5895b572a064bc2d3ddfc0",
                        "account_id": 2451002751131,
                        "name": "Hypothesis",
                        "color": "#998000",
                        "position": 2,
                        "creator_id": 5068740052131,
                        "updated_by": 3790925372131,
                        "created_at": 1784190389,
                        "updated_at": 1785141535
                      }
                    ]
                  }
                }
              }
            }
          },
          "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/ListIncidentCommentTypesRequest"
              },
              "example": {}
            }
          }
        }
      }
    },
    "/incident/comment-type/create": {
      "post": {
        "operationId": "incidentCommentTypeCreate",
        "summary": "创建评论类型",
        "description": "创建可附加到故障评论的评论类型。",
        "tags": [
          "On-call/故障管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **评论类型管理**（`on-call`） |\n\n## 使用说明\n\n- 新类型追加到展示顺序的末尾。\n- 名称在账户内必须唯一（不区分大小写，忽略首尾空白）。\n- 每个账户最多可创建 10 个评论类型。\n- 该权限默认仅管理员拥有，自定义角色需显式授予。",
          "href": "/zh/api-reference/on-call/incidents/incident-comment-type-create",
          "metadata": {
            "sidebarTitle": "创建评论类型"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/CreateIncidentCommentTypeResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "comment_type_id": "6a5895d672a064bc2d3ddfc2",
                    "item": {
                      "comment_type_id": "6a5895d672a064bc2d3ddfc2",
                      "account_id": 2451002751131,
                      "name": "Key finding",
                      "color": "#30A46C",
                      "position": 1,
                      "creator_id": 5068740052131,
                      "updated_by": 5068740052131,
                      "created_at": 1784190422,
                      "updated_at": 1784207748
                    }
                  }
                }
              }
            }
          },
          "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/CreateIncidentCommentTypeRequest"
              },
              "example": {
                "name": "Key finding",
                "color": "#30A46C"
              }
            }
          }
        }
      }
    },
    "/incident/comment-type/update": {
      "post": {
        "operationId": "incidentCommentTypeUpdate",
        "summary": "更新评论类型",
        "description": "更新已有账户评论类型的名称和/或颜色。",
        "tags": [
          "On-call/故障管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **评论类型管理**（`on-call`） |\n\n## 使用说明\n\n- 部分更新 —— 仅修改提供的字段，但 `name` 和 `color` 至少提供一个。\n- 名称在账户内必须保持唯一（不区分大小写，忽略首尾空白）。\n- 该权限默认仅管理员拥有，自定义角色需显式授予。",
          "href": "/zh/api-reference/on-call/incidents/incident-comment-type-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/UpdateIncidentCommentTypeRequest"
              },
              "example": {
                "comment_type_id": "6a5895b572a064bc2d3ddfc0",
                "color": "#B7791F"
              }
            }
          }
        }
      }
    },
    "/incident/comment-type/delete": {
      "post": {
        "operationId": "incidentCommentTypeDelete",
        "summary": "删除评论类型",
        "description": "删除评论类型。已使用该类型的评论保留文本内容，但不再显示类型标签。",
        "tags": [
          "On-call/故障管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **评论类型管理**（`on-call`） |\n\n## 使用说明\n\n- 硬删除 —— 评论类型被永久移除，无法恢复。\n- 已引用该类型的评论会失去类型标签，其他内容不受影响。\n- 该权限默认仅管理员拥有，自定义角色需显式授予。",
          "href": "/zh/api-reference/on-call/incidents/incident-comment-type-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/DeleteIncidentCommentTypeRequest"
              },
              "example": {
                "comment_type_id": "6a5895b572a064bc2d3ddfc0"
              }
            }
          }
        }
      }
    },
    "/incident/comment-type/reorder": {
      "post": {
        "operationId": "incidentCommentTypeReorder",
        "summary": "调整评论类型顺序",
        "description": "传入账户全部评论类型 ID 的期望顺序，设置评论类型的展示顺序。",
        "tags": [
          "On-call/故障管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **评论类型管理**（`on-call`） |\n\n## 使用说明\n\n- 全量排序 —— `comment_type_ids` 必须包含账户的全部评论类型，每个恰好出现一次，按期望顺序排列。\n- 展示位置从 1 开始重新分配：数组中的第一个 ID 即为位置 1。\n- 该权限默认仅管理员拥有，自定义角色需显式授予。",
          "href": "/zh/api-reference/on-call/incidents/incident-comment-type-reorder",
          "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/ReorderIncidentCommentTypesRequest"
              },
              "example": {
                "comment_type_ids": [
                  "6a5895b572a064bc2d3ddfc0",
                  "6a5895d672a064bc2d3ddfc2"
                ]
              }
            }
          }
        }
      }
    },
    "/incident/work-item/list": {
      "post": {
        "operationId": "incidentWorkItemList",
        "summary": "查询跟进事项列表",
        "description": "查询故障跟进事项（行动项与复盘后续行动），使用游标分页。",
        "tags": [
          "On-call/故障管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **故障查看**（`on-call`） |\n\n## 使用说明\n\n- `incident_id`、`post_mortem_id`、`assignee_id`，或 `assignee_type` 为 `ai_sre`，至少满足一个。\n- `assignee_type` 为 `ai_sre` 时返回指派给 AI SRE 的事项，可单独作为查询条件。\n- 按 `updated_at_seconds` 倒序的游标分页 —— 将上一次响应的 `next_cursor` 作为 `cursor` 传入，直到 `has_more` 为 false。\n- 按 `incident_id` 查询时，同时包含锚定在该故障复盘上的后续行动。\n- 仅按 `assignee_id` 查询时，须为本人或账户管理员。",
          "href": "/zh/api-reference/on-call/incidents/incident-work-item-list",
          "metadata": {
            "sidebarTitle": "查询跟进事项列表"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/WorkItemListResult"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01J8XQ3E5Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "items": [
                      {
                        "work_item_id": "wi_68MHnkWBiyjrh6uhkxUyiZ",
                        "item_type": "follow_up",
                        "incident_id": "6a5f1e28807515413b384bce",
                        "post_mortem_id": "51d65cd9525c369379ba471b5512df63",
                        "title": "Follow-ups assigned to Bowen and Weili",
                        "status": "done",
                        "source_kind": "native",
                        "version": 2,
                        "assignee_ids": [
                          3790925372131,
                          4756301322131,
                          5068740052131
                        ],
                        "created_by": 5329873302131,
                        "updated_by": 3790925372131,
                        "created_at_seconds": 1785495329,
                        "updated_at_seconds": 1785496384
                      },
                      {
                        "work_item_id": "wi_dMRYTeZHivE5vf87PQEeFX",
                        "item_type": "follow_up",
                        "incident_id": "6a5f1e28807515413b384bce",
                        "post_mortem_id": "51d65cd9525c369379ba471b5512df63",
                        "title": "Check whether this to-do notifies Bowen",
                        "status": "open",
                        "source_kind": "native",
                        "version": 1,
                        "assignee_ids": [
                          5068740052131
                        ],
                        "created_by": 3790925372131,
                        "updated_by": 3790925372131,
                        "created_at_seconds": 1785495164,
                        "updated_at_seconds": 1785495164
                      }
                    ],
                    "next_cursor": "MTc4NTQ5NTE2NHx3aV9kTVJZVGVaSGl2RTV2Zjg3UFFFZUZY",
                    "has_more": 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/ListWorkItemRequest"
              },
              "example": {
                "incident_id": "6a5f1e28807515413b384bce",
                "limit": 50
              }
            }
          }
        }
      }
    },
    "/incident/work-item/create": {
      "post": {
        "operationId": "incidentWorkItemCreate",
        "summary": "创建跟进事项",
        "description": "在活动故障上创建行动项，或在其故障复盘上创建后续行动。",
        "tags": [
          "On-call/故障管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **故障管理**（`on-call`） |\n\n## 使用说明\n\n- 需要 On-call Pro 许可。\n- `action` 锚定活动故障，且不得设置 `post_mortem_id`；`follow_up` 必须设置为关联到 `incident_id` 的故障复盘 ID。\n- 使用 `assignees`（`person` 带 `id`，或 `ai_sre` 不带 `id`），或使用旧版 `assignee_ids`（全部为 `person`）。两者同时出现会报错。\n- 人员负责人须为已能查看锚定故障或复盘的活跃成员 —— 指派不会授予访问权限。\n- 新添加的负责人会收到通知。\n- 以相同的（`creator`、`idempotency_key`）重试时，返回原事项并标记 `idempotent_replay: true`，不会创建重复事项。\n- 已审计 —— 变更会记录到审计日志。",
          "href": "/zh/api-reference/on-call/incidents/incident-work-item-create",
          "metadata": {
            "sidebarTitle": "创建跟进事项"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/WorkItemCreateResult"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01J8XQ3E5Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "item": {
                      "work_item_id": "wi_9fK2mNqRtVwXyZaBcDeFgH",
                      "item_type": "action",
                      "incident_id": "6a5f1e28807515413b384bce",
                      "title": "Roll back the v2.14 deployment on web-server-01",
                      "status": "open",
                      "source_kind": "native",
                      "version": 1,
                      "assignee_ids": [
                        3790925372131
                      ],
                      "created_by": 3790925372131,
                      "updated_by": 3790925372131,
                      "created_at_seconds": 1785496400,
                      "updated_at_seconds": 1785496400
                    },
                    "added_assignee_ids": [
                      3790925372131
                    ]
                  }
                }
              }
            }
          },
          "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/CreateWorkItemRequest"
              },
              "example": {
                "item_type": "action",
                "title": "Roll back the v2.14 deployment on web-server-01",
                "description": "CPU saturation started right after the v2.14 rollout; roll back and watch the error rate.",
                "status": "open",
                "priority": "high",
                "incident_id": "6a5f1e28807515413b384bce",
                "assignee_ids": [
                  3790925372131
                ],
                "idempotency_key": "create-wi-20260731-0001"
              }
            }
          }
        }
      }
    },
    "/incident/work-item/update": {
      "post": {
        "operationId": "incidentWorkItemUpdate",
        "summary": "更新跟进事项",
        "description": "部分更新跟进事项的标题、描述、状态或优先级。",
        "tags": [
          "On-call/故障管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **故障管理**（`on-call`） |\n\n## 使用说明\n\n- 需要 On-call Pro 许可。\n- 部分更新：未提供的字段保持不变；显式传 `null` 则清空该字段。\n- 乐观锁 —— `version` 必须与事项当前版本一致；不一致返回冲突错误。\n- 负责人、`item_type` 以及故障/复盘锚点不能在此修改 —— 请使用专用接口。\n- 已审计 —— 变更会记录到审计日志。",
          "href": "/zh/api-reference/on-call/incidents/incident-work-item-update",
          "metadata": {
            "sidebarTitle": "更新跟进事项"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/WorkItemMutationResult"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01J8XQ3E5Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "item": {
                      "work_item_id": "wi_68MHnkWBiyjrh6uhkxUyiZ",
                      "item_type": "follow_up",
                      "incident_id": "6a5f1e28807515413b384bce",
                      "post_mortem_id": "51d65cd9525c369379ba471b5512df63",
                      "title": "Follow-ups assigned to Bowen and Weili",
                      "status": "done",
                      "source_kind": "native",
                      "version": 2,
                      "assignee_ids": [
                        3790925372131,
                        4756301322131,
                        5068740052131
                      ],
                      "created_by": 5329873302131,
                      "updated_by": 3790925372131,
                      "created_at_seconds": 1785495329,
                      "updated_at_seconds": 1785496384
                    }
                  }
                }
              }
            }
          },
          "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/UpdateWorkItemRequest"
              },
              "example": {
                "work_item_id": "wi_9fK2mNqRtVwXyZaBcDeFgH",
                "version": 1,
                "title": "Roll back the v2.14 deployment on web-server-01 and web-server-02",
                "status": "in_progress"
              }
            }
          }
        }
      }
    },
    "/incident/work-item/delete": {
      "post": {
        "operationId": "incidentWorkItemDelete",
        "summary": "删除跟进事项",
        "description": "软删除跟进事项。",
        "tags": [
          "On-call/故障管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **故障管理**（`on-call`） |\n\n## 使用说明\n\n- 需要 On-call Pro 许可。\n- 软删除 —— 事项不再出现在列表中，但数据仍保留。\n- 乐观锁 —— `version` 必须与事项当前版本一致；不一致返回冲突错误。\n- 已审计 —— 变更会记录到审计日志。",
          "href": "/zh/api-reference/on-call/incidents/incident-work-item-delete",
          "metadata": {
            "sidebarTitle": "删除跟进事项"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/WorkItemMutationResult"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01J8XQ3E5Z7JM2NTFQ5YJ8P9R4",
                  "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/DeleteWorkItemRequest"
              },
              "example": {
                "work_item_id": "wi_9fK2mNqRtVwXyZaBcDeFgH",
                "version": 2
              }
            }
          }
        }
      }
    },
    "/incident/work-item/complete": {
      "post": {
        "operationId": "incidentWorkItemComplete",
        "summary": "完成跟进事项",
        "description": "通过设置客户端自定义的目标状态，将跟进事项标记为完成。",
        "tags": [
          "On-call/故障管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **故障管理**（`on-call`） |\n\n## 使用说明\n\n- 需要 On-call Pro 许可。\n- 仅当前负责人可以完成跟进事项。\n- `target_status` 为客户端自定义字符串 —— 没有固定状态机。\n- 相同 `idempotency_key` 搭配相同 `target_status` 会幂等重放；相同键搭配不同 `target_status` 将返回错误。\n- 已审计 —— 变更会记录到审计日志。",
          "href": "/zh/api-reference/on-call/incidents/incident-work-item-complete",
          "metadata": {
            "sidebarTitle": "完成跟进事项"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/WorkItemMutationResult"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01J8XQ3E5Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "item": {
                      "work_item_id": "wi_68MHnkWBiyjrh6uhkxUyiZ",
                      "item_type": "follow_up",
                      "incident_id": "6a5f1e28807515413b384bce",
                      "post_mortem_id": "51d65cd9525c369379ba471b5512df63",
                      "title": "Follow-ups assigned to Bowen and Weili",
                      "status": "done",
                      "source_kind": "native",
                      "version": 2,
                      "assignee_ids": [
                        3790925372131,
                        4756301322131,
                        5068740052131
                      ],
                      "created_by": 5329873302131,
                      "updated_by": 3790925372131,
                      "created_at_seconds": 1785495329,
                      "updated_at_seconds": 1785496384
                    }
                  }
                }
              }
            }
          },
          "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/CompleteWorkItemRequest"
              },
              "example": {
                "work_item_id": "wi_9fK2mNqRtVwXyZaBcDeFgH",
                "version": 2,
                "target_status": "done",
                "idempotency_key": "complete-wi-20260731-0001"
              }
            }
          }
        }
      }
    },
    "/incident/work-item/convert": {
      "post": {
        "operationId": "incidentWorkItemConvert",
        "summary": "转化跟进事项为复盘后续行动",
        "description": "将故障行动项原地转化为故障复盘后续行动。",
        "tags": [
          "On-call/故障管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **故障管理**（`on-call`） |\n\n## 使用说明\n\n- 需要 On-call Pro 许可。\n- 将 `action` 事项原地转化为复盘 `follow_up` —— `work_item_id` 不变。\n- 转化已是 `follow_up` 的事项时返回 `idempotent_replay: true`。\n- 如果故障已存在复盘，转化后的事项会自动绑定到该复盘。\n- 已审计 —— 变更会记录到审计日志。",
          "href": "/zh/api-reference/on-call/incidents/incident-work-item-convert",
          "metadata": {
            "sidebarTitle": "转化跟进事项为复盘后续行动"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/WorkItemMutationResult"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01J8XQ3E5Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "item": {
                      "work_item_id": "wi_68MHnkWBiyjrh6uhkxUyiZ",
                      "item_type": "follow_up",
                      "incident_id": "6a5f1e28807515413b384bce",
                      "post_mortem_id": "51d65cd9525c369379ba471b5512df63",
                      "title": "Follow-ups assigned to Bowen and Weili",
                      "status": "done",
                      "source_kind": "native",
                      "version": 2,
                      "assignee_ids": [
                        3790925372131,
                        4756301322131,
                        5068740052131
                      ],
                      "created_by": 5329873302131,
                      "updated_by": 3790925372131,
                      "created_at_seconds": 1785495329,
                      "updated_at_seconds": 1785496384
                    }
                  }
                }
              }
            }
          },
          "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/ConvertWorkItemRequest"
              },
              "example": {
                "work_item_id": "wi_9fK2mNqRtVwXyZaBcDeFgH",
                "version": 2,
                "target_status": "open",
                "idempotency_key": "convert-wi-20260731-0001"
              }
            }
          }
        }
      }
    },
    "/incident/work-item/assignees/reset": {
      "post": {
        "operationId": "incidentWorkItemResetAssignees",
        "summary": "重置跟进事项负责人",
        "description": "整体替换跟进事项的负责人集合。",
        "tags": [
          "On-call/故障管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **故障管理**（`on-call`） |\n\n## 使用说明\n\n- 需要 On-call Pro 许可。\n- 整体替换负责人集合 —— 空数组表示清空所有负责人。\n- 使用 `assignees` 或旧版 `assignee_ids`。两者同时出现会报错。`ai_sre` 条目不带 `id`。\n- 仅新添加的负责人会收到通知；移除不通知。\n- 已审计 —— 变更会记录到审计日志。",
          "href": "/zh/api-reference/on-call/incidents/incident-work-item-reset-assignees",
          "metadata": {
            "sidebarTitle": "重置跟进事项负责人"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/WorkItemMutationResult"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01J8XQ3E5Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "item": {
                      "work_item_id": "wi_68MHnkWBiyjrh6uhkxUyiZ",
                      "item_type": "follow_up",
                      "incident_id": "6a5f1e28807515413b384bce",
                      "post_mortem_id": "51d65cd9525c369379ba471b5512df63",
                      "title": "Follow-ups assigned to Bowen and Weili",
                      "status": "done",
                      "source_kind": "native",
                      "version": 2,
                      "assignee_ids": [
                        3790925372131,
                        4756301322131,
                        5068740052131
                      ],
                      "created_by": 5329873302131,
                      "updated_by": 3790925372131,
                      "created_at_seconds": 1785495329,
                      "updated_at_seconds": 1785496384
                    },
                    "added_assignee_ids": [
                      5068740052131
                    ],
                    "removed_assignee_ids": [
                      4756301322131
                    ]
                  }
                }
              }
            }
          },
          "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/ResetWorkItemAssigneesRequest"
              },
              "example": {
                "work_item_id": "wi_9fK2mNqRtVwXyZaBcDeFgH",
                "version": 2,
                "assignee_ids": [
                  3790925372131,
                  5068740052131
                ]
              }
            }
          }
        }
      }
    },
    "/incident/work-item/post-mortem/bind": {
      "post": {
        "operationId": "incidentWorkItemBindPostMortem",
        "summary": "绑定跟进事项到复盘",
        "description": "将故障下已转化但未绑定的后续行动批量绑定到故障复盘。",
        "tags": [
          "On-call/故障管理"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **故障管理**（`on-call`） |\n\n## 使用说明\n\n- 需要 On-call Pro 许可。\n- 一次调用将该故障全部已转化但未绑定的后续行动绑定到指定复盘。\n- `items` 为本次新绑定的批次；不设置 `next_cursor` 和 `has_more`。\n- 通过 `idempotency_key` 幂等 —— 以相同键重试时重放原始结果。\n- 已审计 —— 变更会记录到审计日志。",
          "href": "/zh/api-reference/on-call/incidents/incident-work-item-bind-post-mortem",
          "metadata": {
            "sidebarTitle": "绑定跟进事项到复盘"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/WorkItemListResult"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01J8XQ3E5Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "items": [
                      {
                        "work_item_id": "wi_68MHnkWBiyjrh6uhkxUyiZ",
                        "item_type": "follow_up",
                        "incident_id": "6a5f1e28807515413b384bce",
                        "post_mortem_id": "51d65cd9525c369379ba471b5512df63",
                        "title": "Follow-ups assigned to Bowen and Weili",
                        "status": "done",
                        "source_kind": "native",
                        "version": 2,
                        "assignee_ids": [
                          3790925372131,
                          4756301322131,
                          5068740052131
                        ],
                        "created_by": 5329873302131,
                        "updated_by": 3790925372131,
                        "created_at_seconds": 1785495329,
                        "updated_at_seconds": 1785496384
                      },
                      {
                        "work_item_id": "wi_dMRYTeZHivE5vf87PQEeFX",
                        "item_type": "follow_up",
                        "incident_id": "6a5f1e28807515413b384bce",
                        "post_mortem_id": "51d65cd9525c369379ba471b5512df63",
                        "title": "Check whether this to-do notifies Bowen",
                        "status": "open",
                        "source_kind": "native",
                        "version": 1,
                        "assignee_ids": [
                          5068740052131
                        ],
                        "created_by": 3790925372131,
                        "updated_by": 3790925372131,
                        "created_at_seconds": 1785495164,
                        "updated_at_seconds": 1785495164
                      }
                    ],
                    "has_more": false
                  }
                }
              }
            }
          },
          "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/BindWorkItemPostMortemRequest"
              },
              "example": {
                "post_mortem_id": "51d65cd9525c369379ba471b5512df63",
                "incident_id": "6a5f1e28807515413b384bce",
                "idempotency_key": "bind-wi-20260731-0001"
              }
            }
          }
        }
      }
    },
    "/schedule/by-person": {
      "post": {
        "operationId": "scheduleByPerson",
        "summary": "查看成员值班状态",
        "description": "查看某成员正在值班的班次、下一次值班以及其参与的全部启用排班。",
        "tags": [
          "On-call/值班排班"
        ],
        "x-mint": {
          "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**；**50 次/秒** |\n| 权限要求 | **值班查看**（`on-call`） 或 **值班管理**（`on-call`） |\n\n## 使用说明\n\n- `current` 为正在值班的班次（含真实开始时间）；`next` 为下一次值班，查询窗口内没有排班时缺省。\n- 已禁用的排班不会出现在列表中。",
          "href": "/zh/api-reference/on-call/schedules/schedule-by-person",
          "metadata": {
            "sidebarTitle": "查看成员值班状态"
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SuccessEnvelope"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/ScheduleByPersonResponse"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
                  "data": {
                    "current": {
                      "schedule_id": 2539108069860,
                      "schedule_name": "Open Source Q&A",
                      "start_at": 1773446400,
                      "end_at": 1773532799
                    },
                    "next": {
                      "schedule_id": 2539108069860,
                      "schedule_name": "Open Source Q&A",
                      "start_at": 1773532800,
                      "end_at": 1773619199
                    },
                    "schedules": [
                      {
                        "schedule_id": 2539108069860,
                        "schedule_name": "Open Source Q&A"
                      }
                    ]
                  }
                }
              }
            }
          },
          "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/ScheduleByPersonRequest"
              },
              "example": {
                "person_id": 2476444212131
              }
            }
          }
        }
      }
    }
  },
  "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": {
      "LicenseListResponse": {
        "type": "object",
        "description": "当前账户中持有固定或临时 On-call 许可的人员。",
        "required": [
          "total",
          "items",
          "release_limited"
        ],
        "properties": {
          "total": {
            "type": "integer",
            "description": "持有有效许可的人员数量。",
            "format": "int64"
          },
          "items": {
            "type": "array",
            "description": "持有有效许可的人员。",
            "items": {
              "$ref": "#/components/schemas/LicensePersonItem"
            }
          },
          "release_limited": {
            "type": "boolean",
            "description": "当前 30 天窗口内的许可释放配额是否已用尽。为 `true` 时释放席位会返回错误码 `NoLicense`。"
          }
        }
      },
      "LicensePersonItem": {
        "type": "object",
        "description": "一名持有有效 On-call 许可的人员。",
        "required": [
          "person_id",
          "person_name",
          "type",
          "updated_by",
          "created_at",
          "updated_at"
        ],
        "properties": {
          "person_id": {
            "type": "integer",
            "format": "int64",
            "description": "持有许可的人员 ID。"
          },
          "person_name": {
            "type": "string",
            "description": "持有许可的人员显示名称。"
          },
          "type": {
            "type": "string",
            "enum": [
              "fixed",
              "temporary"
            ],
            "description": "许可分配类型。`fixed` 表示固定分配，`temporary` 表示处于有效许可窗口中的临时分配。"
          },
          "updated_by": {
            "type": "integer",
            "format": "int64",
            "description": "最后修改固定许可的人员 ID。临时许可为 `0`。"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "description": "固定许可的分配时间，Unix 时间戳。临时许可为 `0`。"
          },
          "updated_at": {
            "type": "integer",
            "format": "int64",
            "description": "固定许可的最后修改时间，Unix 时间戳。临时许可为 `0`。"
          }
        }
      },
      "AckIncidentRequest": {
        "type": "object",
        "description": "认领故障的参数。",
        "required": [
          "incident_ids"
        ],
        "properties": {
          "incident_ids": {
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "maxItems": 100,
            "description": "待认领的故障 ID 列表，单次最多 100 条。",
            "minItems": 1
          },
          "custom_fields": {
            "$ref": "#/components/schemas/CustomFieldValues",
            "description": "认领表单的自定义字段值。允许的字段和值取决于该故障当前可见的表单。"
          },
          "images": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IncidentActionImage"
            },
            "description": "附加到认领故障时间线记录的图片。"
          },
          "summary": {
            "type": "string",
            "description": "写入时间线评论的表单摘要。仅在认领表单包含摘要元素时接受。"
          }
        }
      },
      "AddIncidentResponderRequest": {
        "type": "object",
        "description": "向已有故障添加处理人员的参数。",
        "required": [
          "incident_id",
          "person_ids"
        ],
        "properties": {
          "incident_id": {
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "故障 ID（MongoDB ObjectID）。"
          },
          "person_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "要添加的处理人员成员 ID 列表。"
          },
          "notify": {
            "type": "object",
            "description": "通知配置，默认跟随每人的个人通知偏好。",
            "properties": {
              "follow_preference": {
                "type": [
                  "boolean",
                  "null"
                ],
                "description": "为 false 时使用 `personal_channels`；为 true 或省略时跟随处理人员的个人偏好。"
              },
              "personal_channels": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "使用的通知渠道（如 `voice`、`sms`、`email`）。"
              },
              "template_id": {
                "type": "string",
                "pattern": "^[0-9a-fA-F]{24}$",
                "description": "通知模板 ID（MongoDB ObjectID）。"
              }
            }
          }
        }
      },
      "AffectedStatusPageComponentItem": {
        "type": "object",
        "description": "事件当前影响的状态页组件，包含组件元数据及其状态。",
        "required": [
          "name",
          "status"
        ],
        "properties": {
          "component_id": {
            "type": "string",
            "description": "组件 ID。为空时不返回。"
          },
          "section_id": {
            "type": "string",
            "description": "所属区域 ID。组件位于顶层时不返回。"
          },
          "name": {
            "type": "string",
            "description": "组件显示名称。"
          },
          "description": {
            "type": "string",
            "description": "组件描述。为空时不返回。"
          },
          "available_since_seconds": {
            "type": "integer",
            "format": "int64",
            "description": "组件可用起始时间（Unix 时间戳，秒）。为 0 时不返回。"
          },
          "order_id": {
            "type": "integer",
            "format": "int64",
            "description": "在所属区域内的显示顺序。为 0 时不返回。"
          },
          "hide_uptime": {
            "type": "boolean",
            "description": "为 true 时在摘要响应中隐藏可用率数据。为 false 时不返回。"
          },
          "hide_all": {
            "type": "boolean",
            "description": "为 true 时从摘要接口中完全隐藏该组件。为 false 时不返回。"
          },
          "status": {
            "type": "string",
            "enum": [
              "operational",
              "degraded",
              "partial_outage",
              "full_outage",
              "under_maintenance"
            ],
            "description": "事件导致的组件当前状态。严重程度递增：`operational` < `degraded` = `under_maintenance` < `partial_outage` < `full_outage`；incident 类型事件可用前四种，maintenance 类型仅可用 `operational` 与 `under_maintenance`。\n| 值 | 含义 |\n|---|---|\n| `operational` | 正常。 |\n| `degraded` | 性能下降。 |\n| `partial_outage` | 部分故障。 |\n| `full_outage` | 完全故障。 |\n| `under_maintenance` | 维护中。 |"
          }
        }
      },
      "AlertEventGlobalListRequest": {
        "type": "object",
        "description": "全局原始事件列表的过滤和分页条件，时间范围必填。",
        "required": [
          "start_time",
          "end_time"
        ],
        "properties": {
          "start_time": {
            "type": "integer",
            "format": "int64",
            "description": "查询窗口起点，Unix 时间戳（秒）。必须大于 0。",
            "exclusiveMinimum": 0
          },
          "end_time": {
            "type": "integer",
            "format": "int64",
            "description": "查询窗口终点，Unix 时间戳（秒）。必须大于 `start_time`；跨度不超过 31 天。"
          },
          "p": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64",
            "description": "页码，从 1 开始。仅在未提供 `search_after_ctx` 时生效。",
            "minimum": 0
          },
          "limit": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64",
            "description": "每页条数，最大 100，默认 20。",
            "minimum": 0,
            "maximum": 100
          },
          "search_after_ctx": {
            "type": [
              "string",
              "null"
            ],
            "description": "分页游标：首页留空，之后传入上一次响应返回的 `search_after_ctx`。"
          },
          "integration_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "按集成 ID 过滤。"
          },
          "integration_types": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "按集成类型（插件键）过滤。"
          },
          "channel_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "按协作空间 ID 过滤，最多 100 个。",
            "maxItems": 100
          },
          "severities": {
            "type": "string",
            "description": "逗号分隔的严重级别过滤，如 `Critical,Warning`。可选值：`Critical`、`Warning`、`Info`、`Ok`。"
          },
          "orderby": {
            "type": "string",
            "description": "排序字段，目前仅支持 `event_time`。",
            "enum": [
              "event_time"
            ]
          },
          "asc": {
            "type": "boolean",
            "description": "为 true 时升序排序。"
          }
        }
      },
      "AlertEventGlobalListResponse": {
        "type": "object",
        "properties": {
          "total": {
            "type": "integer",
            "format": "int64",
            "description": "符合条件的事件总数；计数上限为 1000，超过时返回 1000。"
          },
          "has_next_page": {
            "type": "boolean",
            "description": "是否还有下一页（按 limit+1 探测）。"
          },
          "search_after_ctx": {
            "type": "string",
            "description": "下一页游标——本页最后一条事件的 ObjectID，请求下一页时作为 `search_after_ctx` 传入。本页为空时不返回；游标分页模式下没有下一页时也不返回。"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AlertEventItem"
            },
            "description": "当前页的原始告警事件列表。"
          }
        }
      },
      "AlertEventItem": {
        "type": "object",
        "description": "单条原始告警事件。",
        "properties": {
          "event_id": {
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "事件 ID（MongoDB ObjectID）。"
          },
          "alert_id": {
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "父告警 ID（MongoDB ObjectID）。"
          },
          "account_id": {
            "type": "integer",
            "format": "int64",
            "description": "账户 ID。"
          },
          "channel_id": {
            "type": "integer",
            "format": "int64",
            "description": "事件路由到的协作空间 ID。"
          },
          "integration_id": {
            "type": "integer",
            "format": "int64",
            "description": "产生该事件的集成 ID。"
          },
          "integration_type": {
            "type": "string",
            "description": "产生该事件的集成类型/插件键。"
          },
          "data_source_id": {
            "type": "integer",
            "format": "int64",
            "description": "已废弃，请使用 `integration_id`。"
          },
          "title": {
            "type": "string",
            "description": "事件标题。"
          },
          "title_rule": {
            "type": "string",
            "description": "用于从标签派生 `title` 的标题模板。"
          },
          "description": {
            "type": "string",
            "description": "事件描述。"
          },
          "alert_key": {
            "type": "string",
            "description": "用于将事件合并到告警的去重键。"
          },
          "event_severity": {
            "type": "string",
            "enum": [
              "Critical",
              "Warning",
              "Info"
            ],
            "description": "事件严重级别：`Critical`、`Warning` 或 `Info`。事件级别不会取 `Ok`，`Ok` 只出现在 `event_status` 字段。"
          },
          "event_status": {
            "type": "string",
            "enum": [
              "Critical",
              "Warning",
              "Info",
              "Ok"
            ],
            "description": "事件状态：`Critical`/`Warning`/`Info` 表示触发事件，`Ok` 表示恢复事件。"
          },
          "event_time": {
            "type": "integer",
            "format": "int64",
            "description": "事件时间戳，Unix 时间戳（秒）。"
          },
          "labels": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "标签键值对。"
          },
          "images": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AlertImage"
            },
            "description": "事件附加的图片。"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "description": "记录创建时间，Unix 时间戳（秒）。"
          },
          "updated_at": {
            "type": "integer",
            "format": "int64",
            "description": "记录更新时间，Unix 时间戳（秒）。"
          },
          "deleted_at": {
            "type": "integer",
            "format": "int64",
            "description": "软删除时间，Unix 时间戳（秒）。未删除时不返回该字段。"
          }
        }
      },
      "AlertEventListRequest": {
        "type": "object",
        "required": [
          "alert_id"
        ],
        "properties": {
          "alert_id": {
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "告警 ID（MongoDB ObjectID）。"
          },
          "asc": {
            "type": "boolean",
            "default": false,
            "description": "为 true 时按最早事件优先返回；默认按最新事件优先返回。"
          },
          "limit": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64",
            "minimum": 0,
            "maximum": 100,
            "default": 20,
            "description": "分页大小，默认 20，最大 100。"
          },
          "p": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64",
            "minimum": 0,
            "default": 1,
            "description": "页码，从 1 开始；未传 `search_after_ctx` 时生效。"
          },
          "search_after_ctx": {
            "type": [
              "string",
              "null"
            ],
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "上一页响应返回的游标；传入后使用游标分页而非页码分页。"
          }
        }
      },
      "AlertEventListResponse": {
        "type": "object",
        "required": [
          "items",
          "total",
          "has_next_page"
        ],
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AlertEventItem"
            },
            "description": "按请求顺序返回的原始告警事件。"
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "description": "匹配的事件总数，最多统计 1000 条。"
          },
          "has_next_page": {
            "type": "boolean",
            "description": "是否还有下一页。"
          },
          "search_after_ctx": {
            "type": "string",
            "description": "下一页游标，请求下一页时作为 `search_after_ctx` 传入。本页为空时不返回；游标分页模式下没有下一页时也不返回。"
          }
        }
      },
      "AlertFeedRequest": {
        "type": "object",
        "required": [
          "alert_id"
        ],
        "properties": {
          "alert_id": {
            "type": "string",
            "description": "告警 ID（ObjectID 十六进制字符串），可从 `POST /alert/list` 获取。",
            "pattern": "^[0-9a-fA-F]{24}$"
          },
          "p": {
            "type": "integer",
            "format": "int64",
            "description": "页码，从 1 开始。",
            "default": 1,
            "minimum": 1
          },
          "limit": {
            "type": "integer",
            "format": "int64",
            "description": "每页条数，最大 100，默认 20。",
            "minimum": 1,
            "maximum": 100
          },
          "asc": {
            "type": "boolean",
            "description": "升序排序。"
          },
          "types": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "按动态类型码过滤——完整取值见响应条目的 `type` 字段（如 `a_new`、`a_comm`、`a_merge`）。"
          }
        }
      },
      "AlertFeedResponse": {
        "type": "object",
        "properties": {
          "has_next_page": {
            "type": "boolean",
            "description": "是否还有下一页。"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FeedItem"
            },
            "description": "当前页的告警动态记录列表。"
          }
        }
      },
      "AlertFeedType": {
        "type": "string",
        "description": "告警动态记录类型。每个值标识一个告警生命周期事件；`detail` 的具体结构由该字段决定。\n\n| 类型 | 含义 |\n|---|---|\n| `a_new` | 告警被新事件触发。 |\n| `a_update` | 告警严重程度或状态随新事件变化。 |\n| `a_comm` | 在告警上添加了评论。 |\n| `a_merge` | 告警被合并到故障。 |\n| `a_m_silence` | 告警被静默规则收敛。 |\n| `a_m_inhibit` | 告警被抑制规则收敛。 |\n| `a_m_flapping` | 告警被抖动检测收敛（仅历史数据，当前版本不再产生）。 |\n| `a_ack` | 告警被认领（仅历史数据；告警级认领已移除）。 |\n| `a_unack` | 告警认领被撤销（仅历史数据）。 |\n| `a_close` | 告警关闭（仅历史数据，当前版本不再产生）。 |",
        "enum": [
          "a_new",
          "a_update",
          "a_comm",
          "a_merge",
          "a_m_silence",
          "a_m_inhibit",
          "a_m_flapping",
          "a_ack",
          "a_unack",
          "a_close"
        ]
      },
      "AlertImage": {
        "type": "object",
        "description": "告警或事件的图片附件。",
        "required": [
          "src"
        ],
        "properties": {
          "href": {
            "type": "string",
            "description": "点击图片时的跳转链接（可选）。"
          },
          "src": {
            "type": "string",
            "description": "图片源地址或内部引用（以 `img_` 或 `http` 开头）。"
          },
          "alt": {
            "type": "string",
            "description": "替代文本。"
          }
        }
      },
      "AlertInfo": {
        "type": "object",
        "description": "告警详情。",
        "required": [
          "alert_id",
          "integration_id",
          "data_source_id",
          "channel_id",
          "account_id",
          "description",
          "title",
          "title_rule",
          "alert_key",
          "alert_severity",
          "alert_status",
          "start_time",
          "last_time",
          "end_time",
          "labels",
          "ever_muted",
          "created_at",
          "updated_at",
          "integration_name",
          "integration_type",
          "integration_ref_id",
          "channel_name",
          "channel_status",
          "responder_name",
          "responder_email",
          "event_cnt",
          "images",
          "data_source_name",
          "data_source_ref_id"
        ],
        "properties": {
          "alert_id": {
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "告警 ID（MongoDB ObjectID）。"
          },
          "integration_id": {
            "type": "integer",
            "format": "int64",
            "description": "产生告警的集成 ID。"
          },
          "data_source_id": {
            "type": "integer",
            "format": "int64",
            "description": "已废弃，请使用 `integration_id`。"
          },
          "channel_id": {
            "type": "integer",
            "format": "int64",
            "description": "协作空间 ID。"
          },
          "account_id": {
            "type": "integer",
            "format": "int64",
            "description": "账号 ID。"
          },
          "description": {
            "type": "string",
            "description": "告警描述。"
          },
          "title": {
            "type": "string",
            "description": "告警标题。"
          },
          "title_rule": {
            "type": "string",
            "description": "标题生成规则。"
          },
          "alert_key": {
            "type": "string",
            "description": "用于合并事件的去重键。"
          },
          "alert_severity": {
            "type": "string",
            "enum": [
              "Critical",
              "Warning",
              "Info",
              "Ok"
            ],
            "description": "当前严重程度。"
          },
          "alert_status": {
            "type": "string",
            "enum": [
              "Critical",
              "Warning",
              "Info",
              "Ok"
            ],
            "description": "当前状态。"
          },
          "start_time": {
            "type": "integer",
            "format": "int64",
            "description": "告警首次触发的 Unix 时间戳（秒）。"
          },
          "last_time": {
            "type": "integer",
            "format": "int64",
            "description": "最近一次事件的 Unix 时间戳（秒）。"
          },
          "end_time": {
            "type": "integer",
            "format": "int64",
            "description": "告警恢复的 Unix 时间戳（秒），仍活跃时为 0。"
          },
          "labels": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "告警标签。"
          },
          "ever_muted": {
            "type": "boolean",
            "description": "该告警是否曾被静默。"
          },
          "deleted_at": {
            "type": "integer",
            "format": "int64",
            "description": "软删除时间戳（秒），未删除时为 0。"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "description": "创建时间戳（秒）。"
          },
          "updated_at": {
            "type": "integer",
            "format": "int64",
            "description": "最后更新时间戳（秒）。"
          },
          "integration_name": {
            "type": "string",
            "description": "集成显示名称。"
          },
          "integration_type": {
            "type": "string",
            "description": "集成类型。"
          },
          "integration_ref_id": {
            "type": "string",
            "description": "集成引用 ID。"
          },
          "channel_name": {
            "type": "string",
            "description": "协作空间名称。"
          },
          "channel_status": {
            "type": "string",
            "description": "协作空间状态。"
          },
          "responder_name": {
            "type": "string",
            "description": "主处理人员名称。"
          },
          "responder_email": {
            "type": "string",
            "description": "主处理人员邮箱。"
          },
          "incident": {
            "$ref": "#/components/schemas/IncidentShort",
            "description": "所属故障引用，若告警已被合并。"
          },
          "events": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AlertEventItem"
            },
            "description": "原始告警事件预览，仅在调用方请求时返回；每条告警最多返回最新 20 条。"
          },
          "event_cnt": {
            "type": "integer",
            "format": "int64",
            "description": "合并到该告警的原始事件总数。"
          },
          "images": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Image"
            },
            "description": "附加图片。"
          },
          "detail_url": {
            "description": "这条告警的控制台页面（`{控制台}/alert/detail/{alert_id}`）。部署没有配置控制台地址时为空。",
            "type": "string"
          },
          "data_source_name": {
            "type": "string",
            "description": "已废弃，请使用 `integration_name`。"
          },
          "data_source_type": {
            "type": "string",
            "description": "已废弃，请使用 `integration_type`。"
          },
          "data_source_ref_id": {
            "type": "string",
            "description": "已废弃，请使用 `integration_ref_id`。"
          }
        }
      },
      "AlertInfoRequest": {
        "type": "object",
        "required": [
          "alert_id"
        ],
        "properties": {
          "alert_id": {
            "type": "string",
            "description": "告警 ID（ObjectID 十六进制字符串）。",
            "pattern": "^[0-9a-fA-F]{24}$"
          }
        }
      },
      "AlertItem": {
        "type": "object",
        "description": "包含完整详情的单条告警。",
        "properties": {
          "alert_id": {
            "type": "string",
            "description": "告警唯一 ID（ObjectID 十六进制字符串）。"
          },
          "integration_id": {
            "type": "integer",
            "format": "int64",
            "description": "产生该告警的集成 ID。"
          },
          "data_source_id": {
            "type": "integer",
            "format": "int64",
            "description": "已废弃：请使用 `integration_id`。",
            "deprecated": true
          },
          "channel_id": {
            "type": "integer",
            "format": "int64",
            "description": "告警所属协作空间 ID。"
          },
          "account_id": {
            "type": "integer",
            "format": "int64",
            "description": "账户 ID。"
          },
          "title": {
            "type": "string",
            "description": "告警标题。"
          },
          "title_rule": {
            "type": "string",
            "description": "用于从事件标签派生 `title` 的标题模板（如 `$service::$cluster`）。"
          },
          "description": {
            "type": "string",
            "description": "告警描述。"
          },
          "alert_severity": {
            "type": "string",
            "enum": [
              "Critical",
              "Warning",
              "Info"
            ],
            "description": "当前严重级别，取该告警出现过的最高级别：`Critical`、`Warning` 或 `Info`。"
          },
          "alert_status": {
            "type": "string",
            "enum": [
              "Critical",
              "Warning",
              "Info",
              "Ok"
            ],
            "description": "当前状态：未恢复时为 `Critical`/`Warning`/`Info`，恢复后为 `Ok`。"
          },
          "alert_key": {
            "type": "string",
            "description": "去重键。"
          },
          "start_time": {
            "type": "integer",
            "format": "int64",
            "description": "首次触发时间，Unix 时间戳（秒）。"
          },
          "last_time": {
            "type": "integer",
            "format": "int64",
            "description": "最后事件时间，Unix 时间戳（秒）。"
          },
          "end_time": {
            "type": "integer",
            "format": "int64",
            "description": "恢复时间，Unix 时间戳（秒）。活跃时为 0。"
          },
          "labels": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "标签键值对。"
          },
          "ever_muted": {
            "type": "boolean",
            "description": "是否曾被静默。"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "description": "创建时间，Unix 时间戳（秒）。"
          },
          "updated_at": {
            "type": "integer",
            "format": "int64",
            "description": "最后更新时间，Unix 时间戳（秒）。"
          },
          "integration_name": {
            "type": "string",
            "description": "集成显示名称。"
          },
          "integration_type": {
            "type": "string",
            "description": "集成类型/插件键。"
          },
          "integration_ref_id": {
            "type": "string",
            "description": "集成外部参考 ID。"
          },
          "channel_name": {
            "type": "string",
            "description": "协作空间显示名称。"
          },
          "channel_status": {
            "type": "string",
            "description": "协作空间状态：`enabled`（启用）或 `disabled`（禁用）。",
            "enum": [
              "enabled",
              "disabled"
            ]
          },
          "responder_name": {
            "type": "string",
            "description": "响应人名称。本接口恒为空字符串——响应人信息记录在关联故障上。"
          },
          "responder_email": {
            "type": "string",
            "description": "响应人邮箱。本接口恒为空字符串——响应人信息记录在关联故障上。"
          },
          "event_cnt": {
            "type": "integer",
            "format": "int64",
            "description": "该告警收到的原始事件总数。"
          },
          "incident": {
            "$ref": "#/components/schemas/IncidentShort",
            "description": "关联故障（如有）。"
          },
          "events": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AlertEventItem"
            },
            "description": "告警的原始事件列表。本接口不返回；仅 `POST /incident/alert/list` 填充该字段。"
          },
          "images": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AlertImage"
            },
            "description": "告警附加的图片。"
          },
          "detail_url": {
            "description": "这条告警的控制台页面（`{控制台}/alert/detail/{alert_id}`）。部署没有配置控制台地址时为空。",
            "type": "string"
          },
          "data_source_name": {
            "type": "string",
            "description": "已废弃：请使用 `integration_name`。",
            "deprecated": true
          },
          "data_source_type": {
            "type": "string",
            "description": "已废弃：请使用 `integration_type`。为空时不返回。",
            "deprecated": true
          },
          "data_source_ref_id": {
            "type": "string",
            "description": "已废弃：请使用 `integration_ref_id`。",
            "deprecated": true
          },
          "deleted_at": {
            "type": "integer",
            "format": "int64",
            "description": "软删除时间，Unix 时间戳（秒）。未删除时不返回该字段。"
          }
        }
      },
      "AlertListByIDsRequest": {
        "type": "object",
        "required": [
          "alert_ids"
        ],
        "properties": {
          "alert_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "要查询的告警 ID 列表（ObjectID 十六进制字符串）。",
            "minItems": 1
          }
        }
      },
      "AlertListRequest": {
        "type": "object",
        "description": "告警列表查询的过滤和分页条件，时间范围必填。",
        "required": [
          "start_time",
          "end_time"
        ],
        "properties": {
          "start_time": {
            "type": "integer",
            "format": "int64",
            "description": "检索窗口开始时间，Unix 时间戳（秒）。"
          },
          "end_time": {
            "type": "integer",
            "format": "int64",
            "description": "查询窗口终点，Unix 时间戳（秒）。必须大于 `start_time`；跨度不超过 31 天，且需在账户数据保留期内。"
          },
          "p": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64",
            "description": "页码，从 1 开始。仅在未提供 `search_after_ctx` 时生效；`p * limit` 不能超过 10,000 条。",
            "minimum": 0
          },
          "limit": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64",
            "description": "每页条数，最大 100，默认 20。",
            "minimum": 0,
            "maximum": 100
          },
          "search_after_ctx": {
            "type": [
              "string",
              "null"
            ],
            "description": "上一页响应返回的分页游标，用于获取下一页。"
          },
          "is_active": {
            "type": [
              "boolean",
              "null"
            ],
            "description": "按生命周期过滤：`true` 只返回未恢复告警（状态 `Critical`/`Warning`/`Info`），`false` 只返回已恢复告警（状态 `Ok`）。不传或传 `null` 返回全部。"
          },
          "ever_muted": {
            "type": [
              "boolean",
              "null"
            ],
            "description": "按告警是否曾被静默过滤。"
          },
          "alert_severity": {
            "type": "string",
            "description": "逗号分隔的严重程度过滤，如 `Critical,Warning`。可选值：`Critical`、`Warning`、`Info`、`Ok`。"
          },
          "channel_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "按协作空间 ID 过滤。"
          },
          "integration_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "按集成 ID 过滤。"
          },
          "alert_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "只查询指定告警 ID（ObjectID 十六进制字符串）。非法 ID 会被忽略；全部非法时结果为空。"
          },
          "alert_keys": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "按告警去重键过滤。"
          },
          "asc": {
            "type": "boolean",
            "description": "为 `true` 时按 `start_time` 升序排序；默认降序。"
          },
          "by_updated_at": {
            "type": "boolean",
            "description": "为 true 时，时间范围过滤作用于 `updated_at` 而非 `start_time`。"
          }
        }
      },
      "AlertListResponse": {
        "type": "object",
        "description": "分页的告警列表。",
        "properties": {
          "total": {
            "type": "integer",
            "format": "int64",
            "description": "匹配的告警总数，最多统计 1000 条。"
          },
          "has_next_page": {
            "type": "boolean",
            "description": "是否有更多页。"
          },
          "search_after_ctx": {
            "type": "string",
            "description": "下一页游标——本页最后一条告警的 ObjectID 十六进制字符串，请求下一页时作为 `search_after_ctx` 传入。仅在 `has_next_page` 为 true 时返回。"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AlertItem"
            },
            "description": "当前页的告警列表。"
          }
        }
      },
      "AlertMergeRequest": {
        "type": "object",
        "required": [
          "alert_ids",
          "incident_id"
        ],
        "properties": {
          "alert_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "要合并的告警 ID 列表（ObjectID 十六进制字符串），可从 `POST /alert/list` 获取。所有 ID 必须属于当前账户。",
            "minItems": 1
          },
          "incident_id": {
            "type": "string",
            "description": "目标故障 ID（ObjectID 十六进制字符串），可从 `POST /incident/list` 获取。",
            "pattern": "^[0-9a-fA-F]{24}$"
          },
          "comment": {
            "type": "string",
            "description": "可选评论，记录在合并动态中。最长 1024 字符。",
            "maxLength": 1024
          },
          "title": {
            "type": "string",
            "description": "可选，目标故障的新标题。最长 512 字符。",
            "maxLength": 512
          },
          "owner_id": {
            "type": "integer",
            "format": "int64",
            "description": "目标故障的新负责人成员 ID，可通过 `POST /member/list` 获取。"
          }
        }
      },
      "AlertPipeline": {
        "type": "object",
        "description": "单条告警处理规则。",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "title_reset",
              "description_reset",
              "severity_reset",
              "alert_drop",
              "alert_inhibit"
            ],
            "description": "规则类型。规则按数组顺序依次执行，`if` 条件命中后按 `kind` 处理事件。\n| 值 | 含义 |\n|---|---|\n| `title_reset` | 按 `settings.title` 模板重写事件标题。 |\n| `description_reset` | 按 `settings.description` 模板重写事件描述。 |\n| `severity_reset` | 将事件严重程度与状态重置为 `settings.severity`（`Critical`/`Warning`/`Info`）。 |\n| `alert_drop` | 直接丢弃匹配的事件，不生成告警。 |\n| `alert_inhibit` | 当存在匹配 `settings.source_filters` 且按 `settings.equals` 关联的活跃源告警时，丢弃该事件（抑制）。 |"
          },
          "if": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "$ref": "#/components/schemas/FilterCondition"
            },
            "description": "AND 条件列表——仅当所有条件都匹配时规则生效。为 `null` 或不传表示规则对所有事件生效。"
          },
          "settings": {
            "type": "object",
            "description": "与 `kind` 对应的配置。取值结构因 `kind` 而异：\n- `title_reset`：`{ \"title\": \"<模板字符串>\" }`\n- `description_reset`：`{ \"description\": \"<模板字符串>\" }`\n- `severity_reset`：`{ \"severity\": \"Critical\"|\"Warning\"|\"Info\" }`\n- `alert_drop`：`{}` (空对象)\n- `alert_inhibit`：`{ \"equals\": [\"<标签键>\", ...], \"source_filters\": <OrFilterGroup> }`",
            "oneOf": [
              {
                "$ref": "#/components/schemas/ApTitleReset"
              },
              {
                "$ref": "#/components/schemas/ApDescriptionReset"
              },
              {
                "$ref": "#/components/schemas/ApSeverityReset"
              },
              {
                "$ref": "#/components/schemas/ApAlertDrop"
              },
              {
                "$ref": "#/components/schemas/ApAlertInhibit"
              }
            ]
          }
        },
        "required": [
          "kind"
        ]
      },
      "AlertPipelineInfoRequest": {
        "type": "object",
        "required": [
          "integration_id"
        ],
        "properties": {
          "integration_id": {
            "type": "integer",
            "format": "int64",
            "description": "集成 ID。必须大于 0。",
            "exclusiveMinimum": 0
          }
        }
      },
      "AlertPipelineItem": {
        "type": "object",
        "description": "集成的告警处理规则配置。",
        "properties": {
          "integration_id": {
            "type": "integer",
            "format": "int64",
            "description": "该处理规则所属的集成 ID。"
          },
          "rules": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AlertPipeline"
            },
            "description": "有序的处理规则列表。"
          },
          "status": {
            "type": "string",
            "description": "规则状态。接口响应中恒为 `enabled`——已删除的规则会被过滤。",
            "enum": [
              "enabled"
            ]
          },
          "creator_id": {
            "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 时间戳（秒）。"
          },
          "deleted_at": {
            "type": "integer",
            "format": "int64",
            "description": "软删除时间，Unix 时间戳（秒）。未删除时不返回该字段。"
          }
        }
      },
      "AlertPipelineListRequest": {
        "type": "object",
        "required": [
          "integration_ids"
        ],
        "properties": {
          "integration_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "集成 ID 列表，至少 1 个。",
            "minItems": 1
          }
        }
      },
      "AlertPipelineListResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AlertPipelineItem"
            },
            "description": "所请求集成各自的告警处理流水线配置，每个已配置的集成一项。"
          }
        }
      },
      "AlertPipelineUpsertRequest": {
        "type": "object",
        "required": [
          "integration_id",
          "rules"
        ],
        "properties": {
          "integration_id": {
            "type": "integer",
            "format": "int64",
            "description": "要配置的集成 ID。"
          },
          "rules": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AlertPipeline"
            },
            "description": "要应用的规则，按数组顺序执行。1 到 50 条。",
            "maxItems": 50,
            "minItems": 1
          }
        }
      },
      "ApAlertDrop": {
        "type": "object",
        "description": "`alert_drop` 规则的配置：无需额外配置，匹配的告警将被静默丢弃。",
        "properties": {}
      },
      "ApAlertInhibit": {
        "type": "object",
        "description": "`alert_inhibit` 规则的配置：当来源告警与当前告警共享相同标签值时，抑制匹配过滤条件的来源告警。",
        "required": [
          "equals",
          "source_filters"
        ],
        "properties": {
          "equals": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "需要在来源告警与当前告警之间值相等的标签键列表。"
          },
          "source_filters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterCondition"
            },
            "description": "用于匹配待抑制来源告警的 AND 过滤条件列表，需全部条件匹配。"
          }
        }
      },
      "ApDescriptionReset": {
        "type": "object",
        "description": "`description_reset` 规则的配置：使用模板字符串覆盖告警描述。",
        "required": [
          "description"
        ],
        "properties": {
          "description": {
            "type": "string",
            "description": "新描述模板。"
          }
        }
      },
      "ApSeverityReset": {
        "type": "object",
        "description": "`severity_reset` 规则的配置：将告警严重程度强制设置为固定值。",
        "required": [
          "severity"
        ],
        "properties": {
          "severity": {
            "type": "string",
            "enum": [
              "Critical",
              "Warning",
              "Info"
            ],
            "description": "目标严重程度级别。"
          }
        }
      },
      "ApTitleReset": {
        "type": "object",
        "description": "`title_reset` 规则的配置：使用模板字符串覆盖告警标题。",
        "required": [
          "title"
        ],
        "properties": {
          "title": {
            "type": "string",
            "description": "新标题模板，支持引用告警字段的 Golang 模板语法。"
          }
        }
      },
      "AssignIncidentRequest": {
        "type": "object",
        "description": "分派故障的参数。`incident_id` 与 `incident_ids` 二选一。",
        "required": [
          "assigned_to"
        ],
        "properties": {
          "incident_id": {
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "单个故障 ID。当 `incident_ids` 也传入时将被忽略。"
          },
          "incident_ids": {
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "minItems": 1,
            "maxItems": 100,
            "description": "批量分派的故障 ID 列表，可通过 `POST /incident/list` 获取。"
          },
          "assigned_to": {
            "$ref": "#/components/schemas/AssignedTo",
            "description": "分派目标，`person_ids` 与 `escalate_rule_id` 至少设置一项。"
          }
        }
      },
      "AssignedTo": {
        "type": "object",
        "description": "故障分派目标。`person_ids` 与 `escalate_rule_id` 至少设置一项。",
        "properties": {
          "person_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "minItems": 1,
            "maxItems": 100,
            "description": "直接指派的成员 ID 列表。"
          },
          "escalate_rule_id": {
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "按分派策略指派时使用的策略 ID（MongoDB ObjectID）。"
          },
          "layer_idx": {
            "type": "integer",
            "description": "当前环节索引。"
          },
          "type": {
            "type": "string",
            "description": "指派类型：`assign` 直接指派、`reassign` 重新指派、`escalate` 分派策略驱动、`reopen` 重新打开时自动指派。",
            "enum": [
              "assign",
              "reassign",
              "escalate",
              "reopen"
            ]
          },
          "emails": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "email"
            },
            "minItems": 1,
            "maxItems": 100,
            "description": "邮箱接收人列表，用于 ServiceNow 等外部系统。"
          },
          "notify": {
            "type": "object",
            "description": "为本次指派覆盖通知渠道。",
            "properties": {
              "follow_preference": {
                "type": [
                  "boolean",
                  "null"
                ],
                "description": "为 false 时使用 `personal_channels`；为 true 或省略时跟随处理人员的个人偏好。"
              },
              "personal_channels": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "使用的通知渠道（如 `voice`、`sms`、`email`）。"
              },
              "template_id": {
                "type": "string",
                "pattern": "^[0-9a-fA-F]{24}$",
                "description": "通知模板 ID（MongoDB ObjectID）。"
              }
            }
          },
          "escalate_rule_name": {
            "type": "string",
            "description": "分派策略名称，由服务端填充。"
          },
          "assigned_at": {
            "type": "integer",
            "format": "int64",
            "description": "指派发生的 Unix 时间戳（秒）。"
          },
          "id": {
            "type": "string",
            "description": "服务端生成的指派 ID。"
          }
        }
      },
      "CalEventIDRequest": {
        "type": "object",
        "description": "日历事件删除请求。传入 event_id，或同时传入 start_at 和 end_at。",
        "required": [
          "cal_id"
        ],
        "properties": {
          "cal_id": {
            "type": "string",
            "description": "日历 ID，可通过 `POST /calendar/list` 获取。"
          },
          "event_id": {
            "type": "string",
            "description": "要删除的事件 ID。按日期范围清除时不传。"
          },
          "start_at": {
            "type": "string",
            "description": "要清除的日期范围的开始日期，格式 YYYY-MM-DD。与 end_at 一起传入，代替 event_id。"
          },
          "end_at": {
            "type": "string",
            "description": "要清除的日期范围的结束日期（不含），格式 YYYY-MM-DD。必须晚于 start_at。"
          }
        }
      },
      "CalEventItem": {
        "type": "object",
        "description": "日历事件条目。",
        "required": [
          "cal_id",
          "event_id",
          "summary",
          "description",
          "start_at",
          "end_at",
          "is_off",
          "created_at",
          "updated_at"
        ],
        "properties": {
          "account_id": {
            "type": "integer",
            "format": "uint64",
            "description": "账户 ID，仅私有事件返回。"
          },
          "creator_id": {
            "type": "integer",
            "format": "uint64",
            "description": "创建人 ID，仅私有事件返回。"
          },
          "cal_id": {
            "type": "string",
            "description": "日历 ID，公共事件为 locale key（如 zh-cn.china.official）。"
          },
          "event_id": {
            "type": "string",
            "description": "事件 ID。"
          },
          "summary": {
            "type": "string",
            "description": "事件摘要。"
          },
          "description": {
            "type": "string",
            "description": "事件描述。"
          },
          "start_at": {
            "type": "string",
            "description": "事件开始日期（YYYY-MM-DD）。"
          },
          "end_at": {
            "type": "string",
            "description": "事件结束日期（YYYY-MM-DD，不含）。"
          },
          "is_off": {
            "type": "boolean",
            "description": "是否为非工作日。"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "description": "创建时间（Unix 秒）。"
          },
          "updated_at": {
            "type": "integer",
            "format": "int64",
            "description": "更新时间（Unix 秒）。"
          }
        }
      },
      "CalEventListRequest": {
        "type": "object",
        "description": "日历事件列表请求。day > 0 时必须同时指定 month；month 与 day 为 0 表示不过滤。",
        "required": [
          "cal_id"
        ],
        "properties": {
          "cal_id": {
            "type": "string",
            "description": "日历 ID，可通过 `POST /calendar/list` 获取。"
          },
          "year": {
            "type": "integer",
            "description": "年份，留空时默认当前年。",
            "minimum": 2023
          },
          "month": {
            "type": "integer",
            "description": "月份（1-12），0 表示不按月过滤。",
            "minimum": 0,
            "maximum": 12
          },
          "day": {
            "type": "integer",
            "description": "日（1-31），0 表示不按日过滤。",
            "minimum": 0,
            "maximum": 31
          }
        }
      },
      "CalEventListResponse": {
        "type": "object",
        "description": "日历事件列表响应。",
        "required": [
          "items",
          "total",
          "days"
        ],
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CalEventItem"
            },
            "description": "按 start_at 排序的日历事件列表。"
          },
          "total": {
            "type": "integer",
            "description": "返回的事件总数。",
            "format": "int64"
          },
          "days": {
            "type": "object",
            "description": "请求范围内每一天的判定结果，键为日期（YYYY-MM-DD）。每天由有事件的最高一层决定：日历自己的事件（custom）优先，其次是关联的节假日日历（holiday），最后是每周工作日设置（weekly）。同一层内工作日事件优先于休息日事件，因此节假日日历中的调休补班日会覆盖节假日休息日。没有任何事件覆盖的日期为工作日。",
            "additionalProperties": {
              "$ref": "#/components/schemas/CalDay"
            }
          }
        }
      },
      "CalDay": {
        "type": "object",
        "description": "单个日期的判定结果。",
        "required": [
          "is_off"
        ],
        "properties": {
          "is_off": {
            "type": "boolean",
            "description": "该日期是否为休息日。"
          },
          "event_id": {
            "type": "string",
            "description": "决定该日期的事件 ID。没有事件覆盖该日期时不返回。"
          },
          "layer": {
            "type": "string",
            "enum": [
              "custom",
              "holiday",
              "weekly"
            ],
            "description": "决定该日期的层：custom = 日历自己的事件，holiday = 关联的节假日日历，weekly = 每周工作日设置。没有事件覆盖该日期时不返回。"
          }
        }
      },
      "CalEventUpsertRequest": {
        "type": "object",
        "description": "日历事件创建/更新请求。传入 event_id 表示更新，留空表示创建。",
        "required": [
          "cal_id",
          "start_at",
          "end_at",
          "is_off"
        ],
        "properties": {
          "cal_id": {
            "type": "string",
            "description": "日历 ID，可通过 `POST /calendar/list` 获取。"
          },
          "event_id": {
            "type": "string",
            "description": "事件 ID，创建时留空。",
            "maxLength": 63
          },
          "summary": {
            "type": "string",
            "description": "事件摘要，选填。",
            "maxLength": 39
          },
          "description": {
            "type": "string",
            "description": "事件描述。",
            "maxLength": 499
          },
          "start_at": {
            "type": "string",
            "description": "事件开始日期，格式 YYYY-MM-DD。"
          },
          "end_at": {
            "type": "string",
            "description": "事件结束日期（不含），格式 YYYY-MM-DD。"
          },
          "is_off": {
            "type": "boolean",
            "description": "是否为非工作日。true = 休息日，false = 工作日覆盖。"
          }
        }
      },
      "CalEventUpsertResponse": {
        "type": "object",
        "description": "/calendar/event/upsert 的响应。",
        "required": [
          "cal_id",
          "event_id",
          "summary"
        ],
        "properties": {
          "cal_id": {
            "type": "string",
            "description": "日历 ID。"
          },
          "event_id": {
            "type": "string",
            "description": "事件 ID（已存在的或新生成的）。"
          },
          "summary": {
            "type": "string",
            "description": "事件摘要。"
          }
        }
      },
      "CalendarCreateRequest": {
        "type": "object",
        "description": "创建日历请求，cal_name 必填。",
        "required": [
          "cal_name"
        ],
        "properties": {
          "cal_name": {
            "type": "string",
            "description": "日历显示名称。",
            "minLength": 1,
            "maxLength": 39
          },
          "description": {
            "type": "string",
            "description": "日历描述。",
            "maxLength": 499
          },
          "timezone": {
            "type": "string",
            "description": "IANA 时区，为空时默认 Asia/Shanghai。",
            "default": "Asia/Shanghai"
          },
          "team_id": {
            "type": "integer",
            "format": "uint64",
            "description": "所属团队 ID，0 表示不关联团队。"
          },
          "workdays": {
            "type": "array",
            "items": {
              "type": "integer",
              "minimum": 0,
              "maximum": 6
            },
            "description": "工作日（0 = 周日，6 = 周六）。"
          },
          "extra_cal_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "需要继承事件的公共节假日日历 ID 列表（例如 zh-cn.china.official）。"
          }
        }
      },
      "CalendarCreateResponse": {
        "type": "object",
        "description": "创建日历响应。",
        "required": [
          "cal_id",
          "cal_name"
        ],
        "properties": {
          "cal_id": {
            "type": "string",
            "description": "新建日历的 ID（格式 cal.<uuid>）。"
          },
          "cal_name": {
            "type": "string",
            "description": "日历显示名称。"
          }
        }
      },
      "CalendarEmptyObject": {
        "type": "object",
        "description": "空响应体。",
        "properties": {}
      },
      "CalendarIDRequest": {
        "type": "object",
        "description": "携带日历 ID 的请求体。",
        "required": [
          "cal_id"
        ],
        "properties": {
          "cal_id": {
            "type": "string",
            "description": "日历 ID，可通过 `POST /calendar/list` 获取。"
          }
        }
      },
      "CalendarItem": {
        "type": "object",
        "description": "服务日历详情。",
        "required": [
          "account_id",
          "team_id",
          "cal_id",
          "cal_name",
          "description",
          "timezone",
          "kind",
          "created_at",
          "updated_at",
          "creator_id",
          "updated_by",
          "status"
        ],
        "properties": {
          "account_id": {
            "type": "integer",
            "format": "uint64",
            "description": "账户 ID。"
          },
          "team_id": {
            "type": "integer",
            "format": "uint64",
            "description": "所属团队 ID（0 表示未关联团队）。"
          },
          "cal_id": {
            "type": "string",
            "description": "日历 ID。"
          },
          "cal_name": {
            "type": "string",
            "description": "日历显示名称。"
          },
          "description": {
            "type": "string",
            "description": "日历描述。"
          },
          "timezone": {
            "type": "string",
            "description": "IANA 时区。"
          },
          "kind": {
            "type": "string",
            "description": "日历类型。`region.official.holiday` 为地区法定假日公共日历（数据来自中心假日服务），`religion.holiday` 为宗教假日公共日历（预留值，当前无数据），`personal` 为账户自建的个人/团队日历。",
            "enum": [
              "region.official.holiday",
              "religion.holiday",
              "personal"
            ]
          },
          "workdays": {
            "type": "array",
            "items": {
              "type": "integer",
              "minimum": 0,
              "maximum": 6
            },
            "description": "工作日（0 = 周日，6 = 周六）。为空时省略。"
          },
          "extra_cal_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "继承的公共节假日日历 ID 列表。为空时省略。"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "description": "创建时间（Unix 秒）。"
          },
          "updated_at": {
            "type": "integer",
            "format": "int64",
            "description": "更新时间（Unix 秒）。"
          },
          "creator_id": {
            "type": "integer",
            "format": "uint64",
            "description": "创建人 ID。"
          },
          "updated_by": {
            "type": "integer",
            "format": "uint64",
            "description": "最后更新人 ID。"
          },
          "status": {
            "type": "string",
            "description": "日历状态。`enabled` 正常可用；`deleted` 已删除，列表接口不返回。",
            "enum": [
              "enabled",
              "deleted"
            ]
          }
        }
      },
      "CalendarListRequest": {
        "type": "object",
        "description": "日历列表请求。kind 用于按类型过滤；no_locale 在查询公共节假日日历时关闭 locale 过滤。",
        "properties": {
          "kind": {
            "type": "string",
            "description": "日历类型过滤条件，为空时默认 personal。`region.official.holiday` 查询地区法定假日公共日历（按调用方 locale 过滤）；`personal` 查询账户自建日历。",
            "enum": [
              "region.official.holiday",
              "personal"
            ]
          },
          "no_locale": {
            "type": "boolean",
            "description": "查询公共节假日日历时关闭 locale 过滤。"
          }
        }
      },
      "CalendarListResponse": {
        "type": "object",
        "description": "日历列表响应。",
        "required": [
          "items",
          "total"
        ],
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CalendarItem"
            },
            "description": "日历列表。"
          },
          "total": {
            "type": "integer",
            "description": "返回的日历总数。",
            "format": "int64"
          }
        }
      },
      "CalendarUpdateRequest": {
        "type": "object",
        "description": "更新日历请求。cal_id 必填，其他字段均为可选，仅在传入时更新。",
        "required": [
          "cal_id"
        ],
        "properties": {
          "cal_id": {
            "type": "string",
            "description": "日历 ID，可通过 `POST /calendar/list` 获取。"
          },
          "cal_name": {
            "type": [
              "string",
              "null"
            ],
            "description": "新的日历名称。",
            "minLength": 1,
            "maxLength": 39
          },
          "description": {
            "type": [
              "string",
              "null"
            ],
            "description": "新的描述。",
            "maxLength": 499
          },
          "timezone": {
            "type": [
              "string",
              "null"
            ],
            "description": "新的 IANA 时区。"
          },
          "team_id": {
            "type": [
              "integer",
              "null"
            ],
            "format": "uint64",
            "description": "新的所属团队 ID，可通过 `POST /team/list` 获取。"
          },
          "workdays": {
            "type": "array",
            "items": {
              "type": "integer",
              "minimum": 0,
              "maximum": 6
            },
            "description": "工作日（0 = 周日，6 = 周六）。"
          },
          "extra_cal_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "需要继承事件的公共节假日日历 ID 列表。"
          }
        }
      },
      "CancelStatusPageMigrationRequest": {
        "type": "object",
        "description": "取消进行中迁移任务所需的参数。",
        "required": [
          "job_id"
        ],
        "properties": {
          "job_id": {
            "type": "string",
            "description": "迁移任务 ID，创建迁移任务时返回；可通过 `GET /status-page/migration/status` 查询进度。"
          }
        }
      },
      "ChannelCreateResponse": {
        "type": "object",
        "required": [
          "channel_id",
          "channel_name"
        ],
        "properties": {
          "channel_id": {
            "type": "integer",
            "format": "int64",
            "description": "新建协作空间的 ID。"
          },
          "channel_name": {
            "type": "string",
            "description": "请求中回显的协作空间名称。"
          },
          "external_report_token": {
            "type": "string",
            "description": "外部上报 token，仅在启用外部上报时返回。"
          }
        }
      },
      "ChannelIDRequest": {
        "type": "object",
        "required": [
          "channel_id"
        ],
        "properties": {
          "channel_id": {
            "type": "integer",
            "format": "int64",
            "description": "协作空间 ID，可通过 `POST /channel/list` 获取。"
          }
        }
      },
      "ChannelInfoRequest": {
        "type": "object",
        "required": [
          "channel_id"
        ],
        "properties": {
          "channel_id": {
            "type": "integer",
            "format": "int64",
            "description": "要查询的协作空间 ID，可通过 `POST /channel/list` 获取。"
          }
        }
      },
      "ChannelInfosRequest": {
        "type": "object",
        "required": [
          "channel_ids"
        ],
        "properties": {
          "channel_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "maxItems": 1000,
            "description": "要查询的协作空间 ID 列表，最多 1000 个。"
          }
        }
      },
      "ChannelInfosResponse": {
        "type": "object",
        "required": [
          "items"
        ],
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ChannelShort"
            },
            "description": "请求的 `channel_ids` 中实际存在的协作空间简要信息；未找到的 ID 会被忽略。"
          }
        }
      },
      "ChannelItem": {
        "type": "object",
        "description": "协作空间详情记录，所有字段可选，仅在有值时返回。",
        "properties": {
          "channel_id": {
            "type": "integer",
            "format": "int64",
            "description": "协作空间 ID。"
          },
          "team_id": {
            "type": "integer",
            "format": "int64",
            "description": "所属团队 ID。"
          },
          "team_name": {
            "type": "string",
            "description": "所属团队名称（由团队目录解析；无法解析时为空）。"
          },
          "managing_team_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "可管理该协作空间的其他团队 ID 列表。"
          },
          "creator_id": {
            "type": "integer",
            "format": "int64",
            "description": "创建者成员 ID。"
          },
          "creator_name": {
            "type": "string",
            "description": "创建者成员名称（由成员目录解析；无法解析时为空）。"
          },
          "account_id": {
            "type": "integer",
            "format": "int64",
            "description": "所属账户 ID。"
          },
          "channel_name": {
            "type": "string",
            "description": "协作空间名称。"
          },
          "description": {
            "type": "string",
            "description": "描述信息。"
          },
          "status": {
            "type": "string",
            "enum": [
              "enabled",
              "disabled",
              "deleted"
            ],
            "description": "协作空间状态。`enabled` 正常接收与处理事件；`disabled` 停用，新事件被直接丢弃；`deleted` 已删除，仅按 ID 查询详情时可能返回，列表接口不返回。"
          },
          "deleted_at": {
            "type": "integer",
            "format": "int64",
            "description": "删除时间（Unix 秒），仅软删除的协作空间非零。"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "description": "创建时间（Unix 秒）。"
          },
          "updated_at": {
            "type": "integer",
            "format": "int64",
            "description": "最近更新时间（Unix 秒）。"
          },
          "auto_resolve_timeout": {
            "type": "integer",
            "format": "int64",
            "description": "自动恢复超时，单位秒。0 表示不自动恢复。"
          },
          "auto_resolve_mode": {
            "type": "string",
            "enum": [
              "trigger",
              "update"
            ],
            "description": "自动恢复计时重置方式。`trigger`（默认）计时只在故障触发时启动一次，之后并入的新告警不影响计时；`update` 每当有新告警并入故障时从最新告警时间重新计时。"
          },
          "is_private": {
            "type": "boolean",
            "description": "为 true 时仅管理团队可见。"
          },
          "disable_outlier_detection": {
            "type": "boolean",
            "description": "为 true 时禁用新奇故障检测。"
          },
          "disable_auto_close": {
            "type": "boolean",
            "description": "为 true 时禁用故障自动关闭。"
          },
          "group": {
            "$ref": "#/components/schemas/Group",
            "description": "告警聚合配置。"
          },
          "flapping": {
            "$ref": "#/components/schemas/Flapping",
            "description": "抖动检测配置。"
          },
          "progress_to_incident_cnts": {
            "$ref": "#/components/schemas/IncProgressCnts",
            "description": "近 30 天按进度统计的故障数量。"
          },
          "is_starred": {
            "type": "boolean",
            "description": "当前用户是否已收藏该协作空间。仅在 `POST /channel/list` 响应中返回。"
          },
          "active_incident_highest_severity": {
            "type": "string",
            "enum": [
              "Critical",
              "Warning",
              "Info"
            ],
            "description": "协作空间内活跃（已触发或处理中）故障的最高严重程度：`Critical`、`Warning` 或 `Info`。无活跃故障时不返回。"
          },
          "last_incident_at": {
            "type": "integer",
            "format": "int64",
            "description": "最近一次故障时间（Unix 秒）。"
          },
          "is_external_report_enabled": {
            "type": "boolean",
            "description": "是否允许外部上报人向该协作空间上报故障。"
          },
          "external_report_token": {
            "type": "string",
            "description": "授予外部上报人的 token。仅在协作空间启用外部上报时返回。"
          },
          "event_group": {
            "$ref": "#/components/schemas/EventGroup",
            "description": "告警事件合并配置。"
          }
        }
      },
      "ChannelRuleIDRequest": {
        "type": "object",
        "required": [
          "channel_id",
          "rule_id"
        ],
        "properties": {
          "channel_id": {
            "type": "integer",
            "format": "int64",
            "description": "所属协作空间 ID，可通过 `POST /channel/list` 获取。"
          },
          "rule_id": {
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "规则 ID（MongoDB ObjectID）。"
          }
        }
      },
      "ChannelScopedListRequest": {
        "type": "object",
        "required": [
          "channel_id"
        ],
        "properties": {
          "channel_id": {
            "type": "integer",
            "format": "int64",
            "description": "要列出规则的协作空间 ID。"
          }
        }
      },
      "ChannelShort": {
        "type": "object",
        "required": [
          "channel_id",
          "channel_name"
        ],
        "properties": {
          "channel_id": {
            "type": "integer",
            "format": "int64",
            "description": "协作空间 ID。"
          },
          "channel_name": {
            "type": "string",
            "description": "协作空间名称。"
          },
          "status": {
            "type": "string",
            "enum": [
              "enabled",
              "disabled",
              "deleted"
            ],
            "description": "协作空间状态：`enabled` 正常处理事件；`disabled` 丢弃新事件；`deleted` 已删除。"
          }
        }
      },
      "CommentIncidentRequest": {
        "type": "object",
        "description": "为故障添加评论的参数。",
        "required": [
          "incident_ids",
          "comment"
        ],
        "properties": {
          "incident_ids": {
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "maxItems": 100,
            "description": "目标故障 ID 列表，单次最多 100 条。",
            "minItems": 1
          },
          "comment": {
            "type": "string",
            "maxLength": 1024,
            "description": "评论内容。首尾空白会被去除；去除后必须非空，且最多 1024 字符（按 @提及归一化后计数）。"
          },
          "mute_reply": {
            "type": "boolean",
            "description": "为 true 时不触发 webhook 回复动作。"
          },
          "comment_type_id": {
            "type": [
              "string",
              "null"
            ],
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "可选，附加到评论的账户级评论类型 ID（MongoDB ObjectID）。无效或全零 ID 将返回 400。"
          }
        }
      },
      "CreateChannelRequest": {
        "type": "object",
        "description": "创建协作空间所需的参数。",
        "required": [
          "team_id",
          "channel_name"
        ],
        "properties": {
          "team_id": {
            "type": "integer",
            "format": "int64",
            "description": "所属团队 ID，可通过 `POST /team/list` 获取。"
          },
          "managing_team_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "maxItems": 3,
            "description": "可管理该协作空间的其他团队 ID,最多 3 个。"
          },
          "channel_name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 59,
            "description": "协作空间名称,1 到 59 个字符。"
          },
          "description": {
            "type": "string",
            "maxLength": 500,
            "description": "描述信息,最多 500 个字符。"
          },
          "escalate_rule": {
            "type": "object",
            "description": "协作空间的默认分派策略,不需要时可省略。",
            "required": [
              "template_id",
              "target"
            ],
            "properties": {
              "aggr_window": {
                "type": "integer",
                "minimum": 0,
                "maximum": 3600,
                "description": "延迟窗口,单位秒,0 表示不延迟。"
              },
              "template_id": {
                "type": "string",
                "pattern": "^[0-9a-fA-F]{24}$",
                "description": "通知模板 ID(MongoDB ObjectID)。"
              },
              "target": {
                "type": "object",
                "description": "通知目标。`person_ids`、`team_ids`、`schedule_to_role_ids`、`emails` 至少设置一项,且 `by` 与 `webhooks` 至少设置一项。",
                "properties": {
                  "person_ids": {
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "description": "直接通知的成员 ID 列表，可通过 `POST /member/list` 获取。"
                  },
                  "team_ids": {
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "description": "通知的团队 ID 列表，可通过 `POST /team/list` 获取。"
                  },
                  "schedule_to_role_ids": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "int64"
                      }
                    },
                    "description": "值班表 ID 到角色 ID 列表的映射,用于按值班角色通知。"
                  },
                  "emails": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "email"
                    },
                    "description": "邮箱地址列表(推送场景)。"
                  },
                  "by": {
                    "type": "object",
                    "description": "按告警等级配置的个人通知渠道。未提供 `webhooks` 时必填。",
                    "properties": {
                      "follow_preference": {
                        "type": "boolean",
                        "description": "为 true 时跟随处理人员的个人偏好,忽略下方列表。"
                      },
                      "critical": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        },
                        "description": "Critical 级别使用的通知渠道。个人通知渠道：`sms`、`voice`、`email`、`push`；IM 群聊渠道：`feishu_app:<chat_id>`、`dingtalk_app:<chat_id>`、`wecom_app:<chat_id>`、`slack_app:<chat_id>`、`teams_app:<chat_id>`。"
                      },
                      "warning": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        },
                        "description": "Warning 级别使用的通知渠道。取值同 `critical`。"
                      },
                      "info": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        },
                        "description": "Info 级别使用的通知渠道。取值同 `critical`。"
                      }
                    }
                  },
                  "webhooks": {
                    "type": "array",
                    "description": "群聊/Webhook 通知目标。未提供 `by` 时必填。",
                    "items": {
                      "type": "object",
                      "required": [
                        "type",
                        "settings"
                      ],
                      "properties": {
                        "type": {
                          "type": "string",
                          "description": "Webhook 类型，可选值：`feishu`、`feishu_app`、`dingtalk`、`dingtalk_app`、`wecom`、`slack`、`slack_app`、`teams_app`、`telegram`、`zoom`。"
                        },
                        "settings": {
                          "type": "object",
                          "additionalProperties": true,
                          "description": "类型相关的配置参数(群聊 ID、URL 等)。"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "group": {
            "type": "object",
            "description": "告警聚合配置。",
            "required": [
              "method"
            ],
            "properties": {
              "method": {
                "type": "string",
                "enum": [
                  "i",
                  "p",
                  "n"
                ],
                "description": "聚合方式:`i` 智能、`p` 规则、`n` 不聚合。"
              },
              "equals": {
                "type": "array",
                "items": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "maxItems": 5,
                "description": "用于聚合判定的 label 键分组。"
              },
              "cases": {
                "type": "array",
                "maxItems": 100,
                "description": "按过滤条件的聚合策略覆盖。",
                "items": {
                  "type": "object",
                  "description": "条件化聚合覆盖：命中 `if` 的已存告警按 `equals` 键聚合，而不使用顶层聚合键。",
                  "required": [
                    "if",
                    "equals"
                  ],
                  "properties": {
                    "if": {
                      "type": "array",
                      "description": "针对已存告警字段的匹配条件，条件之间为 AND 关系。",
                      "items": {
                        "$ref": "#/components/schemas/FilterCondition"
                      }
                    },
                    "equals": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "minItems": 1,
                      "maxItems": 5,
                      "description": "命中告警使用的聚合键。可选值：`title`、`description`、`severity` 或任意 `labels.<name>`。"
                    }
                  }
                }
              },
              "all_equals_required": {
                "type": "boolean",
                "description": "为 true 时要求所有键同时存在才能参与聚合。"
              },
              "time_window": {
                "type": "integer",
                "minimum": 0,
                "description": "聚合时间窗口，单位分钟。默认最大值为 1440 分钟（24 小时）；开启扩展功能的账号最大可设置 43200 分钟（30 天）。"
              },
              "window_type": {
                "type": "string",
                "enum": [
                  "tumbling",
                  "sliding"
                ],
                "description": "窗口类型,默认 `tumbling`。`tumbling` 为固定窗口，自故障创建时间起算，窗口到期后新告警会开启新故障；`sliding` 为滑动窗口，自故障最近一次告警时间起算，每有新告警并入即向后顺延。"
              },
              "storm_threshold": {
                "type": "integer",
                "minimum": 0,
                "maximum": 10000,
                "description": "告警风暴阈值。"
              },
              "storm_thresholds": {
                "type": "array",
                "items": {
                  "type": "integer"
                },
                "maxItems": 5,
                "description": "多级告警风暴阈值。"
              },
              "i_keys": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "maxItems": 10,
                "description": "用于智能聚合向量化的 label 键。"
              },
              "i_score_threshold": {
                "type": "number",
                "format": "float",
                "minimum": 0.5,
                "maximum": 1,
                "description": "智能聚合相似度阈值。"
              }
            }
          },
          "flapping": {
            "type": "object",
            "description": "抖动检测配置。",
            "properties": {
              "is_disabled": {
                "type": "boolean",
                "description": "禁用抖动检测。"
              },
              "max_changes": {
                "type": "integer",
                "minimum": 2,
                "maximum": 100,
                "description": "`in_mins` 内允许的最大状态变更次数。"
              },
              "in_mins": {
                "type": "integer",
                "minimum": 1,
                "maximum": 1440,
                "description": "观察窗口,单位分钟。"
              },
              "mute_mins": {
                "type": "integer",
                "minimum": 0,
                "maximum": 1440,
                "description": "检测到抖动后的静音时长,单位分钟。"
              }
            }
          },
          "auto_resolve_timeout": {
            "type": "integer",
            "format": "int64",
            "minimum": 0,
            "maximum": 2592000,
            "description": "自动恢复超时,单位秒。0 表示不自动恢复,最长 30 天。"
          },
          "auto_resolve_mode": {
            "type": "string",
            "enum": [
              "trigger",
              "update"
            ],
            "description": "自动恢复计时方式：`trigger` 从故障触发时开始计时，`update` 每次告警更新都重新计时。"
          },
          "plugin_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "订阅该协作空间的集成 ID 列表。"
          },
          "is_private": {
            "type": "boolean",
            "description": "为 true 时仅管理团队可见。"
          },
          "disable_outlier_detection": {
            "type": "boolean",
            "description": "禁用新奇故障检测。"
          },
          "disable_auto_close": {
            "type": "boolean",
            "description": "禁用故障自动关闭。"
          },
          "is_external_report_enabled": {
            "type": "boolean",
            "description": "允许外部上报人向该协作空间上报故障。"
          },
          "event_group": {
            "$ref": "#/components/schemas/EventGroup",
            "description": "告警事件合并配置。不传时使用默认配置（启用合并，窗口 1440 分钟）。"
          }
        }
      },
      "CreateDropRuleRequest": {
        "type": "object",
        "description": "创建排除规则所需的参数。",
        "required": [
          "channel_id",
          "rule_name"
        ],
        "properties": {
          "channel_id": {
            "type": "integer",
            "format": "int64",
            "description": "所属协作空间 ID，可通过 `POST /channel/list` 获取。"
          },
          "rule_name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 39,
            "description": "规则名称,1 到 39 个字符。"
          },
          "description": {
            "type": "string",
            "maxLength": 500,
            "description": "规则描述,最多 500 个字符。"
          },
          "filters": {
            "type": "array",
            "description": "告警事件匹配条件（OR-of-AND 结构）；命中的事件被完全丢弃——不产生告警、故障或通知。不传或为空时，规则不匹配任何事件。",
            "items": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "key",
                  "oper",
                  "vals"
                ],
                "properties": {
                  "key": {
                    "type": "string",
                    "description": "字段键(如 `alert_severity`、`labels.service`)。"
                  },
                  "oper": {
                    "type": "string",
                    "enum": [
                      "IN",
                      "NOTIN"
                    ],
                    "description": "过滤运算符。"
                  },
                  "vals": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "匹配值列表。"
                  }
                }
              }
            }
          }
        }
      },
      "CreateEscalationRuleRequest": {
        "type": "object",
        "description": "创建分派策略所需的参数。",
        "required": [
          "channel_id",
          "template_id",
          "rule_name",
          "layers"
        ],
        "properties": {
          "channel_id": {
            "type": "integer",
            "format": "int64",
            "description": "所属协作空间 ID，可通过 `POST /channel/list` 获取。"
          },
          "priority": {
            "type": [
              "integer",
              "null"
            ],
            "minimum": 0,
            "maximum": 200,
            "description": "匹配优先级,数值越小越优先。"
          },
          "aggr_window": {
            "type": "integer",
            "minimum": 0,
            "maximum": 3600,
            "description": "延迟窗口,单位秒,0 表示不延迟。"
          },
          "template_id": {
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "通知模板 ID(MongoDB ObjectID)。"
          },
          "rule_name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 39,
            "description": "策略名称,1 到 39 个字符。"
          },
          "description": {
            "type": "string",
            "maxLength": 500,
            "description": "策略描述,最多 500 个字符。"
          },
          "layers": {
            "type": "array",
            "description": "分派环节列表,至少包含一个环节。",
            "items": {
              "type": "object",
              "required": [
                "target"
              ],
              "properties": {
                "max_times": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 6,
                  "description": "当前环节内的最大重复通知次数。"
                },
                "notify_step": {
                  "type": "number",
                  "format": "float",
                  "minimum": 0.5,
                  "maximum": 120,
                  "description": "重复通知间隔,单位分钟。"
                },
                "target": {
                  "type": "object",
                  "description": "通知目标。`person_ids`、`team_ids`、`schedule_to_role_ids`、`emails` 至少设置一项,且 `by` 与 `webhooks` 至少设置一项。",
                  "properties": {
                    "person_ids": {
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "int64"
                      },
                      "description": "直接通知的成员 ID 列表，可通过 `POST /member/list` 获取。"
                    },
                    "team_ids": {
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "int64"
                      },
                      "description": "通知的团队 ID 列表，可通过 `POST /team/list` 获取。"
                    },
                    "schedule_to_role_ids": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "int64"
                        }
                      },
                      "description": "值班表 ID 到角色 ID 列表的映射,用于按值班角色通知。"
                    },
                    "emails": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "format": "email"
                      },
                      "description": "邮箱地址列表(推送场景)。"
                    },
                    "by": {
                      "type": "object",
                      "description": "按告警等级配置的个人通知渠道。未提供 `webhooks` 时必填。",
                      "properties": {
                        "follow_preference": {
                          "type": "boolean",
                          "description": "为 true 时跟随处理人员的个人偏好,忽略下方列表。"
                        },
                        "critical": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "Critical 级别使用的通知渠道。个人通知渠道：`sms`、`voice`、`email`、`push`；IM 群聊渠道：`feishu_app:<chat_id>`、`dingtalk_app:<chat_id>`、`wecom_app:<chat_id>`、`slack_app:<chat_id>`、`teams_app:<chat_id>`。"
                        },
                        "warning": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "Warning 级别使用的通知渠道。取值同 `critical`。"
                        },
                        "info": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "Info 级别使用的通知渠道。取值同 `critical`。"
                        }
                      }
                    },
                    "webhooks": {
                      "type": "array",
                      "description": "群聊/Webhook 通知目标。未提供 `by` 时必填。",
                      "items": {
                        "type": "object",
                        "required": [
                          "type",
                          "settings"
                        ],
                        "properties": {
                          "type": {
                            "type": "string",
                            "description": "Webhook 类型，可选值：`feishu`、`feishu_app`、`dingtalk`、`dingtalk_app`、`wecom`、`slack`、`slack_app`、`teams_app`、`telegram`、`zoom`。"
                          },
                          "settings": {
                            "type": "object",
                            "additionalProperties": true,
                            "description": "类型相关的配置参数(群聊 ID、URL 等)。"
                          }
                        }
                      }
                    }
                  }
                },
                "escalate_window": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 720,
                  "description": "升级到下一环节前的等待时长,单位分钟。"
                },
                "force_escalate": {
                  "type": "boolean",
                  "description": "为 true 时,即便未认领也强制升级。"
                }
              }
            }
          },
          "time_filters": {
            "type": "array",
            "items": {
              "type": "object",
              "description": "周期性时间窗口。`start`/`end` 使用 24 小时制 `HH:MM` 格式;`repeat` 使用星期索引(0=周日 … 6=周六)。",
              "properties": {
                "start": {
                  "type": "string",
                  "description": "窗口起始时间,`HH:MM`。"
                },
                "end": {
                  "type": "string",
                  "description": "窗口结束时间,`HH:MM`。"
                },
                "repeat": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "生效的星期列表,留空表示每天。"
                },
                "cal_id": {
                  "type": "string",
                  "description": "可选日历 ID,限制窗口仅在日历匹配的日期生效。"
                },
                "is_off": {
                  "type": "boolean",
                  "description": "为 true 时匹配日历中的休息日。"
                }
              }
            },
            "description": "可选的周期性生效时间窗口。"
          },
          "filters": {
            "type": "array",
            "description": "故障级匹配条件（OR-of-AND 结构）：策略匹配的是告警聚合而成的故障，而不是告警本身。不传或为空时对空间内所有故障生效。",
            "items": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "key",
                  "oper",
                  "vals"
                ],
                "properties": {
                  "key": {
                    "type": "string",
                    "description": "字段键(如 `alert_severity`、`labels.service`)。"
                  },
                  "oper": {
                    "type": "string",
                    "enum": [
                      "IN",
                      "NOTIN"
                    ],
                    "description": "过滤运算符。"
                  },
                  "vals": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "匹配值列表。"
                  }
                }
              }
            }
          }
        }
      },
      "CreateIncidentRequest": {
        "type": "object",
        "description": "手动创建故障所需的参数。",
        "required": [
          "incident_severity"
        ],
        "properties": {
          "incident_severity": {
            "type": "string",
            "enum": [
              "Info",
              "Warning",
              "Critical"
            ],
            "description": "故障严重程度：`Info` 提示、`Warning` 警告、`Critical` 严重。"
          },
          "title": {
            "type": "string",
            "maxLength": 512,
            "description": "故障标题,最多 512 个字符。"
          },
          "description": {
            "type": "string",
            "maxLength": 1024,
            "description": "故障描述,最多 1024 个字符。"
          },
          "channel_id": {
            "type": "integer",
            "format": "int64",
            "description": "归属的协作空间 ID,留空表示独立故障。"
          },
          "assigned_to": {
            "type": "object",
            "description": "故障指派目标。可整体省略：省略或为空时按协作空间的默认分派处理；账户的创建表单生效时必填。`person_ids`、`escalate_rule_id`、`emails` 可同时设置，处理人员取并集。",
            "properties": {
              "person_ids": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int64"
                },
                "minItems": 1,
                "maxItems": 100,
                "description": "直接指派的成员 ID 列表（1–100 个），可与 `escalate_rule_id` 同时使用。"
              },
              "escalate_rule_id": {
                "type": "string",
                "pattern": "^[0-9a-fA-F]{24}$",
                "description": "按分派策略指派时使用的策略 ID(MongoDB ObjectID)，指派该策略 `layer_idx` 环节的人员。"
              },
              "layer_idx": {
                "type": "integer",
                "description": "分派策略的起始环节索引，从 0 开始（默认 0，即第一个环节）；超出环节数会报错。仅在设置 `escalate_rule_id` 时有效。"
              },
              "type": {
                "type": "string",
                "enum": [
                  "assign",
                  "reassign",
                  "escalate",
                  "reopen"
                ],
                "description": "指派类型，由服务端自动推导，调用方无需传值：手动创建为 `assign`，再次指派为 `reassign`，升级触发为 `escalate`。\n| 值 | 含义 |\n|---|---|\n| `assign` | 手动创建故障时的首次指派。 |\n| `reassign` | 对已有故障的再次指派。 |\n| `escalate` | 分派策略升级触发的指派。 |\n| `reopen` | 故障重新打开后从第一环节重新开始的分派。 |"
              },
              "emails": {
                "type": "array",
                "items": {
                  "type": "string",
                  "format": "email"
                },
                "minItems": 1,
                "maxItems": 100,
                "description": "按邮箱指派的接收人列表（1–100 个）：解析为账户成员后并入 `person_ids`，未匹配到成员的邮箱将被忽略。"
              },
              "notify": {
                "type": "object",
                "description": "为本次指派覆盖的通知渠道。",
                "properties": {
                  "follow_preference": {
                    "type": [
                      "boolean",
                      "null"
                    ],
                    "description": "为 false 时使用 `personal_channels`；为 true 或省略时跟随处理人员的个人偏好。"
                  },
                  "personal_channels": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "使用的通知渠道(如 `voice`、`sms`、`email`)。"
                  },
                  "template_id": {
                    "type": "string",
                    "pattern": "^[0-9a-fA-F]{24}$",
                    "description": "通知模板 ID(MongoDB ObjectID)。"
                  }
                }
              }
            }
          },
          "fields": {
            "$ref": "#/components/schemas/CustomFieldValues",
            "description": "以字段名为键的自定义字段值。创建表单生效时，只接受表单中可见的字段。"
          }
        }
      },
      "CreateIncidentResponse": {
        "type": "object",
        "description": "手动创建故障的返回结果。",
        "required": [
          "incident_id",
          "title"
        ],
        "properties": {
          "incident_id": {
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "新建故障的 ID（MongoDB ObjectID）。"
          },
          "title": {
            "type": "string",
            "description": "回显请求中传入的故障标题。"
          }
        }
      },
      "CreateInhibitRuleRequest": {
        "type": "object",
        "description": "创建抑制策略所需的参数。",
        "required": [
          "channel_id",
          "rule_name",
          "equals"
        ],
        "properties": {
          "channel_id": {
            "type": "integer",
            "format": "int64",
            "description": "所属协作空间 ID，可通过 `POST /channel/list` 获取。"
          },
          "rule_name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 39,
            "description": "策略名称,1 到 39 个字符。"
          },
          "description": {
            "type": "string",
            "maxLength": 500,
            "description": "策略描述,最多 500 个字符。"
          },
          "equals": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "源（抑制方）告警与目标（被抑制）告警之间必须取值相等的字段键，例如 `data_source_id` 或 `labels.cluster`。"
          },
          "source_filters": {
            "type": "array",
            "description": "源告警需要满足的条件，针对已存的活跃告警求值。支持的键：`status`、`incident_status`、`alert_status`、`severity`、`incident_severity`、`alert_severity`、`title`、`description` 或任意 `labels.<name>`。为空时策略不生效。",
            "items": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "key",
                  "oper",
                  "vals"
                ],
                "properties": {
                  "key": {
                    "type": "string",
                    "description": "字段键(如 `alert_severity`、`labels.service`)。"
                  },
                  "oper": {
                    "type": "string",
                    "enum": [
                      "IN",
                      "NOTIN"
                    ],
                    "description": "过滤运算符。"
                  },
                  "vals": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "匹配值列表。"
                  }
                }
              }
            }
          },
          "target_filters": {
            "type": "array",
            "description": "目标（被抑制）告警事件需要满足的条件；为空表示所有事件都是抑制目标。",
            "items": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "key",
                  "oper",
                  "vals"
                ],
                "properties": {
                  "key": {
                    "type": "string",
                    "description": "字段键(如 `alert_severity`、`labels.service`)。"
                  },
                  "oper": {
                    "type": "string",
                    "enum": [
                      "IN",
                      "NOTIN"
                    ],
                    "description": "过滤运算符。"
                  },
                  "vals": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "匹配值列表。"
                  }
                }
              }
            }
          },
          "is_directly_discard": {
            "type": "boolean",
            "description": "为 true 时，命中的告警事件被完全丢弃；为 false 时，告警仍会被记录，但标记为被本策略静默。"
          }
        }
      },
      "CreateSilenceRuleRequest": {
        "type": "object",
        "description": "创建静默策略所需的参数。`time_filter` 与 `time_filters` 必须且只能设置其一,`filters` 不能为空。",
        "required": [
          "channel_id",
          "rule_name"
        ],
        "properties": {
          "channel_id": {
            "type": "integer",
            "format": "int64",
            "description": "所属协作空间 ID，可通过 `POST /channel/list` 获取。"
          },
          "rule_name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 39,
            "description": "策略名称,1 到 39 个字符。"
          },
          "description": {
            "type": "string",
            "maxLength": 500,
            "description": "策略描述,最多 500 个字符。"
          },
          "from_incident_id": {
            "type": "string",
            "description": "策略关联的故障 ID（ObjectID 十六进制）。可选；设置后每个故障最多存在一条启用中的静默策略。",
            "pattern": "^[0-9a-fA-F]{24}$"
          },
          "time_filters": {
            "type": "array",
            "items": {
              "type": "object",
              "description": "周期性时间窗口。`start`/`end` 使用 24 小时制 `HH:MM` 格式;`repeat` 使用星期索引(0=周日 … 6=周六)。",
              "properties": {
                "start": {
                  "type": "string",
                  "description": "窗口起始时间,`HH:MM`。"
                },
                "end": {
                  "type": "string",
                  "description": "窗口结束时间,`HH:MM`。"
                },
                "repeat": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "生效的星期列表,留空表示每天。"
                },
                "cal_id": {
                  "type": "string",
                  "description": "可选日历 ID,限制窗口仅在日历匹配的日期生效。"
                },
                "is_off": {
                  "type": "boolean",
                  "description": "为 true 时匹配日历中的休息日。"
                }
              }
            },
            "description": "生效的周期性时间窗口列表,与 `time_filter` 互斥。"
          },
          "time_filter": {
            "type": "object",
            "description": "一次性时间窗口,使用 Unix 秒定义。",
            "required": [
              "start_time",
              "end_time"
            ],
            "properties": {
              "start_time": {
                "type": "integer",
                "format": "int64",
                "description": "窗口起始时间，Unix 秒时间戳。必须大于 0 且小于 `end_time`。",
                "exclusiveMinimum": 0
              },
              "end_time": {
                "type": "integer",
                "format": "int64",
                "description": "窗口结束时间，Unix 秒时间戳。必须大于 0。",
                "exclusiveMinimum": 0
              }
            }
          },
          "filters": {
            "type": "array",
            "description": "告警事件匹配条件（OR-of-AND 结构）。必填且至少包含一个条件。",
            "items": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "key",
                  "oper",
                  "vals"
                ],
                "properties": {
                  "key": {
                    "type": "string",
                    "description": "字段键(如 `alert_severity`、`labels.service`)。"
                  },
                  "oper": {
                    "type": "string",
                    "enum": [
                      "IN",
                      "NOTIN"
                    ],
                    "description": "过滤运算符。"
                  },
                  "vals": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "匹配值列表。"
                  }
                }
              }
            }
          },
          "is_directly_discard": {
            "type": "boolean",
            "description": "为 true 时，命中的告警事件被完全丢弃；为 false 时，告警仍会被记录，但标记为被本策略静默。"
          },
          "is_auto_delete": {
            "type": "boolean",
            "description": "为 true 时，静默规则在时间窗结束后会被自动删除；默认为 false。"
          }
        }
      },
      "CreateStatusPageChangeRequest": {
        "type": "object",
        "description": "创建状态页故障或维护事件所需的参数。首条更新必须包含 `component_changes` 以声明受影响组件;回溯事件至少需要 2 条更新。",
        "required": [
          "page_id",
          "type",
          "title",
          "description",
          "status",
          "updates"
        ],
        "properties": {
          "page_id": {
            "type": "integer",
            "format": "int64",
            "description": "状态页 ID，可通过 `GET /status-page/list` 获取。"
          },
          "type": {
            "type": "string",
            "enum": [
              "incident",
              "maintenance"
            ],
            "description": "事件类型：`incident` 故障，`maintenance` 计划维护。"
          },
          "title": {
            "type": "string",
            "maxLength": 255,
            "description": "事件标题,最多 255 个字符。"
          },
          "description": {
            "type": "string",
            "description": "事件描述（支持 Markdown），必填，不能为空。"
          },
          "status": {
            "type": "string",
            "enum": [
              "investigating",
              "identified",
              "monitoring",
              "resolved",
              "scheduled",
              "ongoing",
              "completed"
            ],
            "description": "事件初始状态。故障事件支持 `investigating`/`identified`/`monitoring`/`resolved`;维护事件支持 `scheduled`/`ongoing`/`completed`。"
          },
          "start_at_seconds": {
            "type": "integer",
            "format": "int64",
            "description": "事件开始时间（Unix 秒）。存储的开始时间始终以第一条更新的 `at_seconds` 为准（该字段缺省时取当前时间）；对于开启 `auto_update_by_schedule` 的维护事件，本字段用于调度自动切换为 `ongoing` 的任务。"
          },
          "responders": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "事件负责成员的 ID 列表。"
          },
          "linked_changes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "关联的事件 ID 列表(相关故障、发布等)。"
          },
          "close_at_seconds": {
            "type": "integer",
            "format": "int64",
            "description": "事件结束时间（Unix 秒），必须大于或等于第一条更新的 `at_seconds`。回溯事件用它表示结束时间；对于开启 `auto_update_by_schedule` 的维护事件，它用于调度自动切换为 `completed` 的任务，且距当前时间不能超过 30 天。"
          },
          "updates": {
            "type": "array",
            "items": {
              "type": "object",
              "description": "时间线更新条目。",
              "properties": {
                "update_id": {
                  "type": "string",
                  "description": "更新 ID。创建时由服务端生成;回溯历史更新时可手动指定。"
                },
                "at_seconds": {
                  "type": "integer",
                  "format": "int64",
                  "description": "更新时间戳（Unix 秒）。第一条更新缺省或为 0 时取当前时间。"
                },
                "status": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "enum": [
                    "investigating",
                    "identified",
                    "monitoring",
                    "resolved",
                    "scheduled",
                    "ongoing",
                    "completed"
                  ],
                  "description": "更新后的事件状态。若整体状态未变化可省略。前四个值仅适用于 incident 类型，后三个仅适用于 maintenance 类型。\n| 值 | 含义 |\n|---|---|\n| `investigating` | 排查中（incident）。 |\n| `identified` | 已定位原因（incident）。 |\n| `monitoring` | 已修复，观察中（incident）。 |\n| `resolved` | 已解决（incident）。 |\n| `scheduled` | 已计划（maintenance）。 |\n| `ongoing` | 进行中（maintenance）。 |\n| `completed` | 已完成（maintenance）。 |"
                },
                "description": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "更新说明(支持 Markdown)。"
                },
                "component_changes": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "component_id",
                      "status"
                    ],
                    "properties": {
                      "component_id": {
                        "type": "string",
                        "description": "组件 ID，可通过 `GET /status-page/info` 获取。"
                      },
                      "status": {
                        "type": "string",
                        "enum": [
                          "operational",
                          "degraded",
                          "partial_outage",
                          "full_outage",
                          "under_maintenance"
                        ],
                        "description": "组件新状态。故障事件支持 `operational`/`degraded`/`partial_outage`/`full_outage`;维护事件支持 `operational`/`under_maintenance`。"
                      }
                    }
                  },
                  "description": "本次更新应用的组件状态变更。"
                }
              }
            },
            "description": "时间线更新列表。至少传 1 条，且至少有一条必须包含 `component_changes`。即时事件一般只传一条；回溯事件需传入全部历史更新。",
            "minItems": 1
          },
          "notify_subscribers": {
            "type": "boolean",
            "description": "是否通知订阅者本事件及其所有更新。"
          },
          "auto_update_by_schedule": {
            "type": "boolean",
            "description": "仅维护事件:根据计划窗口自动推进状态。"
          },
          "is_retrospective": {
            "type": "boolean",
            "description": "标记为回溯(历史)事件。"
          }
        }
      },
      "CreateStatusPageChangeTimelineRequest": {
        "type": "object",
        "description": "向状态页事件时间线追加一条更新所需的参数。",
        "required": [
          "page_id",
          "change_id",
          "status",
          "description"
        ],
        "properties": {
          "page_id": {
            "type": "integer",
            "format": "int64",
            "description": "状态页 ID，可通过 `GET /status-page/list` 获取。"
          },
          "change_id": {
            "type": "integer",
            "format": "int64",
            "description": "目标事件 ID，可通过 `GET /status-page/change/list` 获取。"
          },
          "at_seconds": {
            "type": "integer",
            "format": "int64",
            "description": "更新时间戳（Unix 秒），缺省或为 0 时取当前时间。"
          },
          "status": {
            "type": "string",
            "enum": [
              "investigating",
              "identified",
              "monitoring",
              "resolved",
              "scheduled",
              "ongoing",
              "completed"
            ],
            "description": "更新后的事件状态，需与事件类型匹配。当状态切换为 `resolved` 或 `completed` 时，所有受影响组件必须恢复为 `operational`。\n| 值 | 含义 |\n|---|---|\n| `investigating` | 排查中（incident）。 |\n| `identified` | 已定位原因（incident）。 |\n| `monitoring` | 已修复，观察中（incident）。 |\n| `resolved` | 已解决（incident）。 |\n| `scheduled` | 已计划（maintenance）。 |\n| `ongoing` | 进行中（maintenance）。 |\n| `completed` | 已完成（maintenance）。 |"
          },
          "description": {
            "type": "string",
            "description": "更新说明（支持 Markdown），必填，不能为空。"
          },
          "component_changes": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "component_id",
                "status"
              ],
              "properties": {
                "component_id": {
                  "type": "string",
                  "description": "组件 ID，可通过 `GET /status-page/info` 获取。"
                },
                "status": {
                  "type": "string",
                  "enum": [
                    "operational",
                    "degraded",
                    "partial_outage",
                    "full_outage",
                    "under_maintenance"
                  ],
                  "description": "组件新状态。故障事件支持 `operational`/`degraded`/`partial_outage`/`full_outage`;维护事件支持 `operational`/`under_maintenance`。"
                }
              }
            },
            "description": "本次更新应用的组件状态变更。组件 ID 不能重复。"
          }
        }
      },
      "CreateStatusPageDraftRequest": {
        "type": "object",
        "description": "存储状态页草稿的参数。`draft` 载荷将被原样存储，仅下列被校验的字段会被解析。",
        "required": [
          "draft"
        ],
        "properties": {
          "draft": {
            "type": "object",
            "description": "草稿载荷，原样存储，序列化后最大 64 KB。被校验的字段：`page_id`、`type`（`incident` 或 `maintenance`）、`name`、`message`；可选 `change_id`（大于 0 时表示向已有事件追加进展）、`status`、`affected_components`，以及 `start_time`/`end_time`（Unix epoch 秒，仅新建维护窗口时使用）。"
          },
          "source": {
            "type": "string",
            "maxLength": 64,
            "description": "草稿来源的不透明标记，例如 `ai_sre:sess_xxx`。最长 64 个字符。"
          }
        }
      },
      "CreateWarRoomRequest": {
        "type": "object",
        "description": "为故障开启 IM 作战室所需的参数。",
        "required": [
          "incident_id",
          "integration_id"
        ],
        "properties": {
          "incident_id": {
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "故障 ID(MongoDB ObjectID)。"
          },
          "integration_id": {
            "type": "integer",
            "format": "int64",
            "description": "IM 集成 ID。需开启作战室能力;当前支持飞书、钉钉、企业自建企业微信、Slack 与 Teams。"
          },
          "member_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "额外加入作战室的成员 ID 列表。"
          },
          "add_observers": {
            "type": "boolean",
            "description": "为 true 时同时将历史处理人员加入作战室作为观察员。"
          }
        }
      },
      "DeletePostMortemRequest": {
        "type": "object",
        "description": "删除复盘报告的参数。",
        "required": [
          "post_mortem_id"
        ],
        "properties": {
          "post_mortem_id": {
            "type": "string",
            "description": "复盘报告 ID，可通过 `POST /incident/post-mortem/list` 获取。"
          }
        }
      },
      "DeleteStatusPageChangeRequest": {
        "type": "object",
        "description": "删除状态页事件所需的参数。",
        "required": [
          "page_id",
          "change_id"
        ],
        "properties": {
          "page_id": {
            "type": "integer",
            "format": "int64",
            "description": "状态页 ID，可通过 `GET /status-page/list` 获取。"
          },
          "change_id": {
            "type": "integer",
            "format": "int64",
            "description": "目标事件 ID，可通过 `GET /status-page/change/list` 获取。"
          }
        }
      },
      "DeleteStatusPageChangeTimelineRequest": {
        "type": "object",
        "description": "删除状态页事件时间线条目所需的参数。",
        "required": [
          "page_id",
          "change_id",
          "update_id"
        ],
        "properties": {
          "page_id": {
            "type": "integer",
            "format": "int64",
            "description": "状态页 ID，可通过 `GET /status-page/list` 获取。"
          },
          "change_id": {
            "type": "integer",
            "format": "int64",
            "description": "所属事件 ID，可通过 `GET /status-page/change/list` 获取。"
          },
          "update_id": {
            "type": "string",
            "description": "要删除的时间线更新 ID，可通过 `GET /status-page/change/info` 获取。"
          }
        }
      },
      "DeleteWarRoomRequest": {
        "type": "object",
        "description": "删除故障战情室的参数。",
        "required": [
          "incident_id",
          "integration_id"
        ],
        "properties": {
          "incident_id": {
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "故障 ID（MongoDB ObjectID）。"
          },
          "integration_id": {
            "type": "integer",
            "format": "int64",
            "description": "IM 集成 ID，可通过 `POST /datasource/im/war-room-enabled/list` 获取。"
          }
        }
      },
      "DimensionInsightItem": {
        "allOf": [
          {
            "$ref": "#/components/schemas/MetricsBase"
          },
          {
            "type": "object",
            "description": "按账户/团队/协作空间聚合的故障与告警指标。",
            "properties": {
              "total_incident_cnt": {
                "type": "integer",
                "format": "int64",
                "description": "故障总数。"
              },
              "total_incidents_acknowledged": {
                "type": "integer",
                "format": "int64",
                "description": "有过认领的故障数。"
              },
              "total_incidents_closed": {
                "type": "integer",
                "format": "int64",
                "description": "已关闭的故障数。"
              },
              "total_incidents_auto_closed": {
                "type": "integer",
                "format": "int64",
                "description": "自动关闭的故障数（告警全部恢复触发）。"
              },
              "total_incidents_manually_closed": {
                "type": "integer",
                "format": "int64",
                "description": "人工关闭的故障数。"
              },
              "total_incidents_timeout_closed": {
                "type": "integer",
                "format": "int64",
                "description": "超时自动关闭的故障数。"
              },
              "total_incidents_escalated": {
                "type": "integer",
                "format": "int64",
                "description": "发生过升级的故障数。"
              },
              "total_incidents_manually_escalated": {
                "type": "integer",
                "format": "int64",
                "description": "发生过手动升级的故障数。"
              },
              "total_incidents_timeout_escalated": {
                "type": "integer",
                "format": "int64",
                "description": "发生过超时升级的故障数。"
              },
              "total_incidents_reassigned": {
                "type": "integer",
                "format": "int64",
                "description": "发生过改派的故障数。"
              },
              "total_interruptions": {
                "type": "integer",
                "format": "int64",
                "description": "打扰总次数：通过 App 推送、短信、电话语音发送的通知次数，同一处理人员 60 秒内的连续通知合并计为一次。"
              },
              "total_notifications": {
                "type": "integer",
                "format": "int64",
                "description": "通知发送总次数。"
              },
              "total_engaged_seconds": {
                "type": "integer",
                "format": "int64",
                "description": "处理耗时总和（秒）：各故障所有已认领处理人员的「关闭时间 − 本人认领时间」之和。"
              },
              "total_seconds_to_ack": {
                "type": "integer",
                "format": "int64",
                "description": "首次认领耗时总和（秒）。"
              },
              "total_seconds_to_close": {
                "type": "integer",
                "format": "int64",
                "description": "关闭耗时总和（秒）。"
              },
              "mean_seconds_to_ack": {
                "type": "number",
                "format": "double",
                "description": "平均首次认领耗时（秒）；桶内无已认领故障时为 0。"
              },
              "mean_seconds_to_close": {
                "type": "number",
                "format": "double",
                "description": "平均关闭耗时（秒）；桶内无已关闭故障时为 0。"
              },
              "noise_reduction_pct": {
                "type": "number",
                "format": "double",
                "description": "降噪比（%）：100 − 故障数 ÷ 告警事件数 × 100，保留两位小数；无告警事件数据或告警事件数不超过故障数时为 0。"
              },
              "acknowledgement_pct": {
                "type": "number",
                "format": "double",
                "description": "认领率（%）：已认领故障数 ÷ 故障总数 × 100，保留两位小数且不超过 100；桶内无故障时为 0。"
              },
              "total_alert_cnt": {
                "type": "integer",
                "format": "int64",
                "description": "告警总数。"
              },
              "total_alert_event_cnt": {
                "type": "integer",
                "format": "int64",
                "description": "告警事件总数。"
              }
            }
          }
        ]
      },
      "DimensionInsightResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DimensionInsightItem"
            },
            "description": "按接口维度（账户/团队/协作空间）聚合的洞察指标行；启用 `split_hours` 或 `aggregate_unit` 时会进一步按时段或时间桶拆分。"
          }
        }
      },
      "DisableIncidentMergeRequest": {
        "type": "object",
        "description": "禁用故障自动合并的参数。",
        "required": [
          "incident_ids"
        ],
        "properties": {
          "incident_ids": {
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "description": "需禁用自动合并的故障 ID 列表。",
            "minItems": 1
          }
        }
      },
      "DoIncidentCustomActionRequest": {
        "type": "object",
        "description": "对故障执行自定义操作集成的参数。",
        "required": [
          "incident_id",
          "integration_id"
        ],
        "properties": {
          "incident_id": {
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "故障 ID（MongoDB ObjectID）。"
          },
          "integration_id": {
            "type": "integer",
            "format": "int64",
            "description": "自定义操作集成 ID，必须已启用且关联故障所在协作空间。"
          }
        }
      },
      "DoIncidentCustomActionResponse": {
        "type": "object",
        "description": "自定义操作的执行结果。",
        "properties": {
          "message": {
            "type": "string",
            "description": "HTTP 调用失败时的错误信息，成功时不返回。"
          }
        }
      },
      "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": {}
      },
      "EnrichFilter": {
        "type": "object",
        "required": [
          "key",
          "oper",
          "vals"
        ],
        "description": "单个标签过滤条件。",
        "properties": {
          "key": {
            "type": "string",
            "description": "要匹配的事件键（如 `labels.severity`、`title`），不能为空。",
            "minLength": 1
          },
          "oper": {
            "type": "string",
            "enum": [
              "IN",
              "NOTIN"
            ],
            "description": "匹配操作符。`IN` 表示任一值匹配即通过；`NOTIN` 表示所有值均不匹配时通过。"
          },
          "vals": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "匹配值列表，至少包含 1 个。",
            "minItems": 1
          }
        }
      },
      "EnrichRule": {
        "type": "object",
        "required": [
          "kind",
          "settings"
        ],
        "description": "带可选条件的富化规则，包含特定类型配置。",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "extraction",
              "composition",
              "mapping",
              "drop"
            ],
            "description": "规则类型。\n| 值 | 含义 |\n|---|---|\n| `extraction` | 通过正则或 GJson 从告警的 `title`、`description` 或 `labels.*` 键提取值并写入标签。 |\n| `composition` | 用 Go `text/template` 对事件渲染模板，结果写入标签。 |\n| `mapping` | 从映射规则或外部映射 API 查找标签。 |\n| `drop` | 从告警中删除指定标签。 |"
          },
          "if": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "$ref": "#/components/schemas/EnrichFilter"
            },
            "description": "可选的 AND 过滤条件列表；所有条件都匹配时才执行该规则。无条件时为 `null`。过滤键来自告警/变更事件的键集合（如 `title`、`labels.severity`）。"
          },
          "settings": {
            "description": "与规则类型对应的配置，具体结构由 `kind` 字段决定。",
            "discriminator": {
              "propertyName": "kind",
              "mapping": {
                "extraction": "#/components/schemas/ErsExtraction",
                "composition": "#/components/schemas/ErsComposition",
                "mapping": "#/components/schemas/ErsMapping",
                "drop": "#/components/schemas/ErsDrop"
              }
            },
            "oneOf": [
              {
                "$ref": "#/components/schemas/ErsExtraction"
              },
              {
                "$ref": "#/components/schemas/ErsComposition"
              },
              {
                "$ref": "#/components/schemas/ErsMapping"
              },
              {
                "$ref": "#/components/schemas/ErsDrop"
              }
            ]
          }
        }
      },
      "EnrichmentInfoRequest": {
        "type": "object",
        "required": [
          "integration_id"
        ],
        "properties": {
          "integration_id": {
            "type": "integer",
            "format": "int64",
            "minimum": 1,
            "description": "待查询富化规则的集成 ID，必须大于 0。"
          }
        }
      },
      "EnrichmentItem": {
        "type": "object",
        "description": "集成的富化规则集。",
        "properties": {
          "integration_id": {
            "type": "integer",
            "format": "int64",
            "description": "集成 ID。"
          },
          "rules": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EnrichRule"
            },
            "description": "有序富化规则列表。"
          },
          "status": {
            "type": "string",
            "enum": [
              "enabled",
              "deleted"
            ],
            "description": "规则集状态：`enabled`（生效）或 `deleted`（已软删除）。读取接口会过滤软删除的规则集，响应中始终为 `enabled`。"
          },
          "updated_by": {
            "type": "integer",
            "format": "int64",
            "description": "最后更新者成员 ID。"
          },
          "creator_id": {
            "type": "integer",
            "format": "int64",
            "description": "创建者成员 ID。"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "description": "创建时间，Unix 时间戳（秒）。"
          },
          "updated_at": {
            "type": "integer",
            "format": "int64",
            "description": "最后更新时间，Unix 时间戳（秒）。"
          },
          "deleted_at": {
            "type": "integer",
            "format": "int64",
            "description": "删除时间，Unix 时间戳（秒）。规则集未删除时省略；读取接口不会返回已软删除的规则集，因此实际上始终省略。"
          }
        },
        "required": [
          "integration_id",
          "rules",
          "status",
          "updated_by",
          "creator_id",
          "created_at",
          "updated_at"
        ]
      },
      "EnrichmentListRequest": {
        "type": "object",
        "required": [
          "integration_ids"
        ],
        "properties": {
          "integration_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "待查询的集成 ID 列表，至少包含 1 个。",
            "minItems": 1
          }
        }
      },
      "EnrichmentListResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EnrichmentItem"
            },
            "description": "富化规则集列表。"
          }
        },
        "required": [
          "items"
        ]
      },
      "EnrichmentUpsertRequest": {
        "type": "object",
        "required": [
          "integration_id",
          "rules"
        ],
        "properties": {
          "integration_id": {
            "type": "integer",
            "format": "int64",
            "description": "待配置富化规则的集成 ID。"
          },
          "rules": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EnrichRule"
            },
            "description": "富化规则有序列表，将原子替换现有全部规则。"
          }
        }
      },
      "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",
            "description": "本次请求的唯一追踪 ID（trace ID），反馈问题时请提供该值以便检索日志。"
          },
          "error": {
            "$ref": "#/components/schemas/DutyError"
          }
        },
        "required": [
          "request_id",
          "error"
        ]
      },
      "ErsComposition": {
        "type": "object",
        "title": "composition",
        "required": [
          "result_label",
          "template"
        ],
        "properties": {
          "result_label": {
            "type": "string",
            "description": "组合值写入的目标标签键名，须匹配 `^[a-zA-Z_][a-zA-Z0-9_]*$`。",
            "pattern": "^[a-zA-Z_][a-zA-Z0-9_]*$"
          },
          "template": {
            "type": "string",
            "maxLength": 500,
            "description": "Go `text/template` 模板串（1–500 字符），基于事件结构体渲染，如 `{{.Title}}`、`{{.Description}}`、`{{.Labels.key}}`。示例：`{{.Labels.region}}-{{.Labels.env}}`。",
            "minLength": 1
          },
          "override": {
            "type": "boolean",
            "description": "为 `true` 时若标签已存在则覆盖，默认为 `false`。"
          }
        }
      },
      "ErsDrop": {
        "type": "object",
        "title": "drop",
        "required": [
          "drop_labels"
        ],
        "properties": {
          "drop_labels": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "待从告警中删除的标签键列表。"
          }
        }
      },
      "ErsExtraction": {
        "type": "object",
        "title": "extraction",
        "required": [
          "source_field",
          "result_label"
        ],
        "properties": {
          "source_field": {
            "type": "string",
            "description": "待提取的源字段。可为 `title`、`description` 或以 `labels.` 为前缀的标签键（如 `labels.env`）。"
          },
          "result_label": {
            "type": "string",
            "description": "提取值写入的目标标签键名，须匹配 `^[a-zA-Z_][a-zA-Z0-9_]*$`。",
            "pattern": "^[a-zA-Z_][a-zA-Z0-9_]*$"
          },
          "pattern": {
            "type": "string",
            "description": "应用于源值的 RE2 正则表达式，须至少包含一个捕获组；所有捕获组用空格连接后写入 `result_label`。与 `g_json` 互斥。"
          },
          "g_json": {
            "type": "string",
            "description": "GJson 路径表达式，用于从 JSON 编码的字段中提取值。与 `pattern` 互斥。"
          },
          "override": {
            "type": "boolean",
            "description": "为 `true` 时若标签已存在则覆盖，默认为 `false`。"
          }
        }
      },
      "ErsMapping": {
        "type": "object",
        "title": "mapping",
        "required": [
          "result_labels"
        ],
        "properties": {
          "result_labels": {
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[a-zA-Z_][a-zA-Z0-9_]*$"
            },
            "description": "映射查找结果要填充的标签键名，每个须匹配 `^[a-zA-Z_][a-zA-Z0-9_]*$`。"
          },
          "mapping_type": {
            "type": "string",
            "enum": [
              "schema",
              "api"
            ],
            "default": "schema",
            "description": "映射来源类型。`schema` 使用映射规则表；`api` 调用外部 HTTP API。"
          },
          "schema_id": {
            "type": "string",
            "description": "映射规则 ID（MongoDB ObjectID 十六进制）。`mapping_type` 为 `schema` 时必填。"
          },
          "api_id": {
            "type": "string",
            "description": "映射 API ID（MongoDB ObjectID 十六进制）。`mapping_type` 为 `api` 时必填。"
          },
          "override": {
            "type": "boolean",
            "description": "为 `true` 时若标签已存在则覆盖，默认为 `false`。"
          }
        }
      },
      "EscalateLayer": {
        "type": "object",
        "required": [
          "target"
        ],
        "properties": {
          "max_times": {
            "type": "integer",
            "minimum": 0,
            "maximum": 6,
            "description": "当前环节内的最大重复通知次数。"
          },
          "notify_step": {
            "type": "number",
            "format": "float",
            "minimum": 0.5,
            "maximum": 120,
            "description": "重复通知间隔，单位分钟。"
          },
          "target": {
            "$ref": "#/components/schemas/EscalateTarget"
          },
          "escalate_window": {
            "type": "integer",
            "minimum": 0,
            "maximum": 720,
            "description": "进入下一环节前的等待时间，单位分钟。"
          },
          "force_escalate": {
            "type": "boolean",
            "description": "为 true 时无论是否认领都强制升级。"
          }
        }
      },
      "EscalateRuleItem": {
        "type": "object",
        "required": [
          "account_id",
          "channel_id",
          "priority",
          "aggr_window",
          "rule_name",
          "description",
          "layers",
          "time_filters",
          "filters",
          "status",
          "template_id",
          "rule_id",
          "updated_by",
          "created_at",
          "updated_at"
        ],
        "properties": {
          "account_id": {
            "type": "integer",
            "format": "int64",
            "description": "所属账户 ID。"
          },
          "channel_id": {
            "type": "integer",
            "format": "int64",
            "description": "所属协作空间 ID。"
          },
          "priority": {
            "type": "integer",
            "description": "匹配优先级，数值越小越优先。"
          },
          "aggr_window": {
            "type": "integer",
            "description": "延迟窗口，单位秒。"
          },
          "rule_name": {
            "type": "string",
            "description": "策略名称。"
          },
          "description": {
            "type": "string",
            "description": "策略描述。"
          },
          "layers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EscalateLayer"
            },
            "description": "分派环节列表。"
          },
          "time_filters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TimeFilter"
            },
            "description": "策略生效的周期性时间窗口。"
          },
          "filters": {
            "$ref": "#/components/schemas/FilterGroup",
            "description": "故障级匹配条件（OR-of-AND 结构）：策略匹配的是告警聚合而成的故障，而不是告警本身。不传或为空时对空间内所有故障生效。"
          },
          "status": {
            "type": "string",
            "enum": [
              "enabled",
              "disabled",
              "deleted"
            ],
            "description": "策略状态：`enabled` 生效中，`disabled` 已暂停，`deleted` 已软删除（仅详情接口可能返回；列表接口不会返回已删除策略）。"
          },
          "template_id": {
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "通知模板 ID（MongoDB ObjectID）。"
          },
          "rule_id": {
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "分派策略 ID（MongoDB ObjectID）。"
          },
          "updated_by": {
            "type": "integer",
            "format": "int64",
            "description": "最近更新该策略的成员 ID。"
          },
          "deleted_at": {
            "type": "integer",
            "format": "int64",
            "description": "删除时间，Unix 秒时间戳。仅在策略被软删除时返回；已删除的策略不会出现在列表响应中。"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "description": "创建时间，Unix 秒时间戳。"
          },
          "updated_at": {
            "type": "integer",
            "format": "int64",
            "description": "最近更新时间，Unix 秒时间戳。"
          },
          "channel_name": {
            "type": "string",
            "description": "协作空间名称，跨空间列表响应会填充该字段。"
          }
        }
      },
      "EscalateTarget": {
        "type": "object",
        "description": "通知目标。`person_ids`、`team_ids`、`schedule_to_role_ids`、`emails` 至少设置一项，且 `by` 与 `webhooks` 至少设置一项。",
        "properties": {
          "person_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "直接通知的成员 ID 列表。"
          },
          "team_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "通知的团队 ID 列表。"
          },
          "schedule_to_role_ids": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int64"
              }
            },
            "description": "值班表 ID 到角色 ID 列表的映射，用于按值班角色通知。"
          },
          "emails": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "email"
            },
            "description": "邮箱地址列表（推送场景）。"
          },
          "by": {
            "type": "object",
            "description": "按告警等级配置的个人通知渠道。未提供 `webhooks` 时必填。",
            "properties": {
              "follow_preference": {
                "type": "boolean",
                "description": "为 true 时跟随处理人员的个人偏好，忽略下方列表。"
              },
              "critical": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Critical 级别使用的通知渠道。个人通知渠道：`sms`、`voice`、`email`、`push`；IM 群聊渠道：`feishu_app:<chat_id>`、`dingtalk_app:<chat_id>`、`wecom_app:<chat_id>`、`slack_app:<chat_id>`、`teams_app:<chat_id>`。"
              },
              "warning": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Warning 级别使用的通知渠道。取值同 `critical`。"
              },
              "info": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Info 级别使用的通知渠道。取值同 `critical`。"
              }
            }
          },
          "webhooks": {
            "type": "array",
            "description": "群聊/Webhook 通知目标。未提供 `by` 时必填。",
            "items": {
              "type": "object",
              "required": [
                "type",
                "settings"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "description": "Webhook 类型，可选值：`feishu`、`feishu_app`、`dingtalk`、`dingtalk_app`、`wecom`、`slack`、`slack_app`、`teams_app`、`telegram`、`zoom`。"
                },
                "settings": {
                  "type": "object",
                  "additionalProperties": true,
                  "description": "类型相关的配置参数（群聊 ID、URL 等）。"
                }
              }
            }
          }
        }
      },
      "ExportStatusPageSubscribersRequest": {
        "type": "object",
        "description": "导出状态页订阅者列表所需的参数。",
        "required": [
          "page_id"
        ],
        "properties": {
          "page_id": {
            "type": "integer",
            "format": "int64",
            "description": "状态页 ID，可通过 `GET /status-page/list` 获取。"
          },
          "component_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "可选：按组件 ID 过滤订阅者。"
          }
        }
      },
      "ExportedStatusPageSubscriberItem": {
        "type": "object",
        "description": "状态页订阅者，供订阅者列表和导出接口返回。",
        "required": [
          "recipient",
          "method",
          "components",
          "all"
        ],
        "properties": {
          "recipient": {
            "type": "string",
            "description": "订阅接收方：公开状态页为邮箱地址，内部状态页为用户 ID。"
          },
          "method": {
            "type": "string",
            "enum": [
              "email",
              "im"
            ],
            "description": "订阅通知方式。`email` 为邮件订阅（公开状态页）；`im` 为 IM 即时消息订阅（内部状态页）。取值由状态页类型决定。"
          },
          "components": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StatusPageComponentItem"
            },
            "description": "该订阅者订阅的组件列表。"
          },
          "all": {
            "type": "boolean",
            "description": "是否订阅全部组件。"
          },
          "locale": {
            "type": "string",
            "description": "通知的首选语言。为空时不返回。"
          }
        }
      },
      "FeedDetailAlertClose": {
        "type": "object",
        "description": "`a_close` 的详情数据，无字段。",
        "properties": {},
        "additionalProperties": false,
        "title": "a_close"
      },
      "FeedDetailAlertComment": {
        "type": "object",
        "description": "`a_comm` 的详情数据。",
        "properties": {
          "comment": {
            "type": "string",
            "description": "评论内容。"
          }
        },
        "title": "a_comm"
      },
      "FeedDetailAlertTrigger": {
        "type": "object",
        "description": "`a_new` 的详情数据。",
        "properties": {
          "severity": {
            "$ref": "#/components/schemas/FeedSeverity"
          },
          "status": {
            "$ref": "#/components/schemas/FeedSeverity"
          }
        },
        "title": "a_new"
      },
      "FeedDetailIncidentAck": {
        "type": "object",
        "description": "`i_ack` 的 detail 载荷。",
        "properties": {
          "progress": {
            "type": "string",
            "description": "认领时记录的处理进展。"
          },
          "comment": {
            "type": "string",
            "description": "写入时间线评论的表单摘要。未提交认领表单摘要时省略。"
          },
          "images": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Image"
            },
            "description": "认领表单提交的图片，仅写入时间线记录。未提交时省略。"
          }
        },
        "title": "i_ack"
      },
      "FeedDetailIncidentAddRspd": {
        "type": "object",
        "description": "`i_a_rspd` 的 detail 载荷。",
        "properties": {
          "to": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "新增为响应人的成员 ID 列表。"
          }
        },
        "title": "i_a_rspd"
      },
      "FeedDetailIncidentAssign": {
        "type": "object",
        "description": "`i_assign` 的 detail 载荷。在 `AssignedTo` 基础上附加目标成员 ID 列表。",
        "allOf": [
          {
            "$ref": "#/components/schemas/AssignedTo"
          },
          {
            "type": "object",
            "properties": {
              "to": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int64"
                },
                "description": "被分派的成员 ID 列表。"
              }
            }
          }
        ],
        "title": "i_assign"
      },
      "FeedDetailIncidentAutoRefreshCard": {
        "type": "object",
        "description": "`i_auto_refresh` 的 detail 载荷，无字段。",
        "properties": {},
        "additionalProperties": false,
        "title": "i_auto_refresh"
      },
      "FeedDetailIncidentComment": {
        "type": "object",
        "description": "`i_comm` 的 detail 载荷。",
        "properties": {
          "comment": {
            "type": "string",
            "description": "评论正文。"
          },
          "mute_reply": {
            "type": "boolean",
            "description": "是否静音该评论的回复。"
          },
          "comment_type_id": {
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "附加到评论的账户级评论类型 ObjectID。"
          },
          "comment_type": {
            "$ref": "#/components/schemas/IncidentCommentTypeDisplay"
          }
        },
        "title": "i_comm"
      },
      "FeedDetailIncidentCustomAction": {
        "type": "object",
        "description": "`i_custom` 的 detail 载荷。",
        "properties": {
          "integration_id": {
            "type": "integer",
            "format": "int64",
            "description": "执行动作的集成 ID。"
          },
          "integration_name": {
            "type": "string",
            "description": "集成显示名称。"
          }
        },
        "title": "i_custom"
      },
      "FeedDetailIncidentMerge": {
        "type": "object",
        "description": "`i_merge` 的 detail 载荷。",
        "properties": {
          "comment": {
            "type": "string",
            "description": "合并时的评论。"
          },
          "source_incidents": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IncidentShort"
            },
            "description": "被合并的源故障列表。"
          },
          "target_incident": {
            "$ref": "#/components/schemas/IncidentShort"
          },
          "owner_id": {
            "type": "integer",
            "format": "int64",
            "description": "执行合并操作的成员 ID。"
          },
          "title": {
            "type": "string",
            "description": "合并后的故障标题。"
          },
          "remove_source_incidents": {
            "type": "boolean",
            "description": "合并后是否移除源故障。"
          },
          "source_responders": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "从源故障继承的响应人成员 ID 列表。"
          }
        },
        "title": "i_merge"
      },
      "FeedDetailIncidentMuteByFlapping": {
        "type": "object",
        "description": "`i_m_flapping` 的 detail 载荷。",
        "properties": {
          "max_changes": {
            "type": "integer",
            "description": "窗口内允许的最大状态变化次数。"
          },
          "in_mins": {
            "type": "integer",
            "description": "统计窗口长度（分钟）。"
          },
          "mute_mins": {
            "type": "integer",
            "description": "触发抖动检测后的静音时长（分钟）。"
          }
        },
        "title": "i_m_flapping"
      },
      "FeedDetailIncidentMuteReply": {
        "type": "object",
        "description": "`i_m_reply` 的 detail 载荷，无字段。",
        "properties": {},
        "additionalProperties": false,
        "title": "i_m_reply"
      },
      "FeedDetailIncidentNew": {
        "type": "object",
        "description": "`i_new` 的 detail 载荷。",
        "properties": {
          "severity": {
            "$ref": "#/components/schemas/FeedSeverity"
          },
          "title": {
            "type": "string",
            "description": "故障初始标题。"
          },
          "reporter_email": {
            "type": "string",
            "description": "外部创建故障时的上报人邮箱。"
          }
        },
        "title": "i_new"
      },
      "FeedDetailIncidentNotify": {
        "type": "object",
        "description": "`i_notify` 的 detail 载荷。",
        "required": [
          "layer_idx"
        ],
        "properties": {
          "rid": {
            "type": "string",
            "description": "通知记录 ID。"
          },
          "msg_id": {
            "type": "string",
            "description": "投递渠道返回的上游消息 ID。"
          },
          "fire_type": {
            "type": "string",
            "enum": [
              "fire",
              "refire"
            ],
            "description": "首次触发或再次触发。`fire`：故障在该分派层级的首次通知；`refire`：故障一直未被处理时，按该层级的通知间隔对同一层级的再次催发，催发次数受层级配置的最大次数限制。"
          },
          "escalate_rule_name": {
            "type": "string",
            "description": "分派策略名称。"
          },
          "escalate_rule_id": {
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "分派策略 ID（MongoDB ObjectID）。"
          },
          "layer_idx": {
            "type": "integer",
            "description": "本次通知所处的环节索引。"
          },
          "by": {
            "type": "string",
            "description": "投递渠道或方式标签。"
          },
          "persons": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NotifyPerson"
            },
            "description": "个人投递记录。"
          },
          "chats": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NotifyChat"
            },
            "description": "群聊投递记录。"
          },
          "robots": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NotifyRobot"
            },
            "description": "机器人投递记录。"
          }
        },
        "title": "i_notify"
      },
      "FeedDetailIncidentReopen": {
        "type": "object",
        "description": "`i_reopen` 的 detail 载荷。",
        "properties": {
          "reason": {
            "type": "string",
            "description": "重新打开故障的原因。"
          }
        },
        "title": "i_reopen"
      },
      "FeedDetailIncidentResetDescription": {
        "type": "object",
        "description": "`i_r_desc` 的 detail 载荷，无字段。",
        "properties": {},
        "additionalProperties": false,
        "title": "i_r_desc"
      },
      "FeedDetailIncidentResetField": {
        "type": "object",
        "description": "`i_r_field` 的 detail 载荷。",
        "required": [
          "field_name"
        ],
        "properties": {
          "field_name": {
            "type": "string",
            "description": "被更新的自定义字段名称。"
          },
          "to": {
            "description": "自定义字段的新值，类型取决于字段定义。"
          }
        },
        "title": "i_r_field"
      },
      "FeedDetailIncidentResetImpact": {
        "type": "object",
        "description": "`i_r_impact` 的 detail 载荷，无字段。",
        "properties": {},
        "additionalProperties": false,
        "title": "i_r_impact"
      },
      "FeedDetailIncidentResetResolution": {
        "type": "object",
        "description": "`i_r_rsltn` 的 detail 载荷，无字段。",
        "properties": {},
        "additionalProperties": false,
        "title": "i_r_rsltn"
      },
      "FeedDetailIncidentResetRootCause": {
        "type": "object",
        "description": "`i_r_rc` 的 detail 载荷，无字段。",
        "properties": {},
        "additionalProperties": false,
        "title": "i_r_rc"
      },
      "FeedDetailIncidentResetSeverity": {
        "type": "object",
        "description": "`i_r_severity` 的 detail 载荷。",
        "properties": {
          "from": {
            "$ref": "#/components/schemas/FeedSeverity"
          },
          "to": {
            "$ref": "#/components/schemas/FeedSeverity"
          }
        },
        "title": "i_r_severity"
      },
      "FeedDetailIncidentResetTitle": {
        "type": "object",
        "description": "`i_r_title` 的 detail 载荷。",
        "properties": {
          "from": {
            "type": "string",
            "description": "变更前的标题。"
          },
          "to": {
            "type": "string",
            "description": "变更后的标题。"
          }
        },
        "title": "i_r_title"
      },
      "FeedDetailIncidentResolve": {
        "type": "object",
        "description": "`i_rslv` 的 detail 载荷。",
        "required": [
          "from"
        ],
        "properties": {
          "from": {
            "type": "string",
            "enum": [
              "voice",
              "console",
              "card",
              "wcard",
              "event",
              "autorslv",
              "autorefresh",
              "escalation"
            ],
            "description": "触发恢复操作的来源。\n| 值 | 含义 |\n|---|---|\n| `voice` | 语音电话按键操作。 |\n| `console` | 控制台（Web UI）操作。 |\n| `card` | IM 通知卡片按钮（钉钉/飞书/Slack/Teams）。 |\n| `wcard` | 企业微信通知卡片按钮。 |\n| `event` | 事件驱动：关联告警全部恢复 Ok 自动关闭，或外部 ITSM 系统同步的关闭。 |\n| `autorslv` | 自动恢复：超过协作空间配置的自动恢复时长无新告警，由系统关闭。 |\n| `autorefresh` | 卡片自动刷新（保留值，恢复动态中不会出现）。 |\n| `escalation` | 升级流程（保留值，恢复动态中不会出现）。 |"
          },
          "comment": {
            "type": "string",
            "description": "写入解决时间线评论的表单摘要。未提交解决表单摘要时省略。"
          },
          "images": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Image"
            },
            "description": "解决表单提交的图片，仅写入时间线记录。未提交时省略。"
          }
        },
        "title": "i_rslv"
      },
      "FeedDetailIncidentSnooze": {
        "type": "object",
        "description": "`i_snooze` 的 detail 载荷。",
        "properties": {
          "minutes": {
            "type": "integer",
            "format": "int64",
            "description": "暂停时长（分钟）。"
          }
        },
        "title": "i_snooze"
      },
      "FeedDetailIncidentStorm": {
        "type": "object",
        "description": "`i_storm` 的 detail 载荷。",
        "properties": {
          "threshold": {
            "type": "integer",
            "description": "触发的风暴阈值。"
          }
        },
        "title": "i_storm"
      },
      "FeedDetailIncidentUnack": {
        "type": "object",
        "description": "`i_unack` 的 detail 载荷。",
        "properties": {
          "progress": {
            "type": "string",
            "description": "取消认领时记录的处理进展。"
          }
        },
        "title": "i_unack"
      },
      "FeedDetailIncidentWake": {
        "type": "object",
        "description": "`i_wake` 的 detail 载荷。",
        "properties": {
          "snoozedBefore": {
            "type": "integer",
            "format": "int64",
            "description": "原本计划结束暂停的 Unix 时间戳。"
          }
        },
        "title": "i_wake"
      },
      "FeedDetailIncidentWarRoomCreate": {
        "type": "object",
        "description": "`i_wr_create` 的 detail 载荷。",
        "properties": {
          "integration_id": {
            "type": "integer",
            "format": "int64",
            "description": "承载作战室群聊的集成 ID。"
          },
          "chat_id": {
            "type": "string",
            "description": "群聊 ID。"
          },
          "chat_name": {
            "type": "string",
            "description": "群聊显示名称。"
          },
          "plugin_type": {
            "type": "string",
            "description": "聊天集成插件类型。"
          },
          "integration_name": {
            "type": "string",
            "description": "集成显示名称。"
          },
          "share_link": {
            "type": "string",
            "description": "作战室的可分享加入链接。"
          }
        },
        "title": "i_wr_create"
      },
      "FeedDetailIncidentWarRoomDelete": {
        "type": "object",
        "description": "`i_wr_delete` 的 detail 载荷。",
        "properties": {
          "integration_id": {
            "type": "integer",
            "format": "int64",
            "description": "承载作战室群聊的集成 ID。"
          },
          "chat_id": {
            "type": "string",
            "description": "群聊 ID。"
          },
          "chat_name": {
            "type": "string",
            "description": "群聊显示名称。"
          },
          "plugin_type": {
            "type": "string",
            "description": "聊天集成插件类型。"
          },
          "integration_name": {
            "type": "string",
            "description": "集成显示名称。"
          }
        },
        "title": "i_wr_delete"
      },
      "FeedItem": {
        "type": "object",
        "description": "单条告警动态记录。`detail` 字段依 `type` 判别；具体结构参见各 `FeedDetailAlert*` schema。",
        "required": [
          "ref_id",
          "type",
          "detail",
          "account_id",
          "creator_id",
          "created_at",
          "updated_at"
        ],
        "properties": {
          "ref_id": {
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "本条记录引用的告警 ObjectID。"
          },
          "type": {
            "$ref": "#/components/schemas/AlertFeedType"
          },
          "detail": {
            "description": "类型特定的详情数据，结构由 `type` 决定。对未存储详情的条目可能为 `null`。",
            "oneOf": [
              {
                "$ref": "#/components/schemas/FeedDetailAlertTrigger"
              },
              {
                "$ref": "#/components/schemas/FeedDetailAlertUpdate"
              },
              {
                "$ref": "#/components/schemas/FeedDetailAlertComment"
              },
              {
                "$ref": "#/components/schemas/FeedDetailAlertMerge"
              },
              {
                "$ref": "#/components/schemas/FeedDetailAlertMuteBySilence"
              },
              {
                "$ref": "#/components/schemas/FeedDetailAlertMuteByInhibit"
              },
              {
                "$ref": "#/components/schemas/FeedDetailAlertMuteByFlapping"
              },
              {
                "$ref": "#/components/schemas/FeedDetailAlertAck"
              },
              {
                "$ref": "#/components/schemas/FeedDetailAlertUnack"
              },
              {
                "$ref": "#/components/schemas/FeedDetailAlertClose"
              }
            ],
            "discriminator": {
              "propertyName": "type",
              "mapping": {
                "a_new": "#/components/schemas/FeedDetailAlertTrigger",
                "a_update": "#/components/schemas/FeedDetailAlertUpdate",
                "a_comm": "#/components/schemas/FeedDetailAlertComment",
                "a_merge": "#/components/schemas/FeedDetailAlertMerge",
                "a_m_silence": "#/components/schemas/FeedDetailAlertMuteBySilence",
                "a_m_inhibit": "#/components/schemas/FeedDetailAlertMuteByInhibit",
                "a_m_flapping": "#/components/schemas/FeedDetailAlertMuteByFlapping",
                "a_ack": "#/components/schemas/FeedDetailAlertAck",
                "a_unack": "#/components/schemas/FeedDetailAlertUnack",
                "a_close": "#/components/schemas/FeedDetailAlertClose"
              }
            }
          },
          "account_id": {
            "type": "integer",
            "format": "int64",
            "description": "账户 ID。"
          },
          "creator_id": {
            "type": "integer",
            "format": "int64",
            "description": "创建者成员 ID。系统生成的记录为 0。"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "description": "创建时间，Unix 毫秒时间戳。"
          },
          "updated_at": {
            "type": "integer",
            "format": "int64",
            "description": "最后更新时间，Unix 毫秒时间戳。"
          },
          "deleted_at": {
            "type": "integer",
            "format": "int64",
            "description": "软删除时间，Unix 时间戳（毫秒）。未删除时不返回该字段。"
          },
          "via": {
            "type": "string",
            "description": "由 AI SRE 代为写入该记录时的来源标识，目前只有 `ai_sre`；用户直接操作创建的记录不返回该字段。"
          },
          "agent_session_id": {
            "type": "string",
            "description": "写入该记录的 AI SRE 会话 ID；非智能体写入时不返回该字段。"
          }
        }
      },
      "FeedSeverity": {
        "type": "string",
        "enum": [
          "Ok",
          "Critical",
          "Warning",
          "Info"
        ],
        "description": "严重等级。"
      },
      "FilterCondition": {
        "type": "object",
        "required": [
          "key",
          "oper",
          "vals"
        ],
        "properties": {
          "key": {
            "type": "string",
            "description": "过滤字段名。内置告警字段使用字段名（如 `alert_severity`、`alert_key`、`check`、`resource`、`service`、`cluster`），自定义标签使用 `labels.<name>` 前缀（如 `labels.env`、`labels.region`）。"
          },
          "oper": {
            "type": "string",
            "enum": [
              "IN",
              "NOTIN"
            ],
            "description": "过滤操作符。`IN`：值必须匹配 `vals` 中的某一项；`NOTIN`：值不能匹配 `vals` 中任何一项。支持 `/pattern/` 格式的正则表达式。"
          },
          "vals": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "匹配值列表。每一项为普通字符串或 `/regex/` 正则模式。"
          }
        }
      },
      "FilterGroup": {
        "$ref": "#/components/schemas/OrFilterGroup"
      },
      "Flapping": {
        "type": "object",
        "description": "抖动检测配置。",
        "properties": {
          "is_disabled": {
            "type": "boolean",
            "description": "禁用抖动检测。"
          },
          "max_changes": {
            "type": "integer",
            "minimum": 2,
            "maximum": 100,
            "description": "`in_mins` 内允许的最大状态变更次数。"
          },
          "in_mins": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1440,
            "description": "观察窗口，单位分钟。"
          },
          "mute_mins": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1440,
            "description": "检测到抖动后的静音时长，单位分钟。"
          }
        }
      },
      "GetWarRoomDetailRequest": {
        "type": "object",
        "description": "获取战情室实时详情的参数。",
        "required": [
          "integration_id",
          "chat_id"
        ],
        "properties": {
          "integration_id": {
            "type": "integer",
            "format": "int64",
            "description": "托管该战情室的 IM 集成 ID。"
          },
          "chat_id": {
            "type": "string",
            "description": "作战室所在 IM 群的会话 ID，可通过 `POST /incident/war-room/list` 获取。"
          }
        }
      },
      "GetWebhookHistoryDetailRequest": {
        "type": "object",
        "description": "获取单条 Webhook 推送详情的参数。",
        "required": [
          "event_id",
          "integration_id"
        ],
        "properties": {
          "event_id": {
            "type": "string",
            "description": "由 `ListWebhookHistory` 返回的事件 ID。"
          },
          "integration_id": {
            "type": "integer",
            "format": "int64",
            "minimum": 1,
            "description": "事件所属的集成 ID，可从 `POST /webhook/history/list` 的返回项中获取。"
          }
        }
      },
      "Group": {
        "type": "object",
        "description": "告警聚合配置。",
        "required": [
          "method"
        ],
        "properties": {
          "method": {
            "type": "string",
            "enum": [
              "i",
              "p",
              "n"
            ],
            "description": "聚合方式：`i` 智能、`p` 规则、`n` 不聚合。"
          },
          "equals": {
            "type": "array",
            "items": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "maxItems": 5,
            "description": "用于聚合判定的 label 键分组。"
          },
          "cases": {
            "type": "array",
            "maxItems": 100,
            "description": "按过滤条件的聚合策略覆盖。",
            "items": {
              "type": "object",
              "description": "条件化聚合覆盖：命中 `if` 的已存告警按 `equals` 键聚合，而不使用顶层聚合键。",
              "required": [
                "if",
                "equals"
              ],
              "properties": {
                "if": {
                  "type": "array",
                  "description": "针对已存告警字段的匹配条件，条件之间为 AND 关系。",
                  "items": {
                    "$ref": "#/components/schemas/FilterCondition"
                  }
                },
                "equals": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "minItems": 1,
                  "maxItems": 5,
                  "description": "命中告警使用的聚合键。可选值：`title`、`description`、`severity` 或任意 `labels.<name>`。"
                }
              }
            }
          },
          "all_equals_required": {
            "type": "boolean",
            "description": "为 true 时要求所有键同时存在才能参与聚合。"
          },
          "time_window": {
            "type": "integer",
            "minimum": 0,
            "description": "聚合时间窗口，单位分钟。默认最大值为 1440 分钟（24 小时）；开启扩展功能的账号最大可设置 43200 分钟（30 天）。"
          },
          "window_type": {
            "type": "string",
            "enum": [
              "tumbling",
              "sliding"
            ],
            "description": "窗口类型，默认 `tumbling`。`tumbling` 为固定窗口，自故障创建时间起算，窗口到期后新告警会开启新故障；`sliding` 为滑动窗口，自故障最近一次告警时间起算，每有新告警并入即向后顺延。"
          },
          "storm_threshold": {
            "type": "integer",
            "minimum": 0,
            "maximum": 10000,
            "description": "告警风暴阈值。"
          },
          "storm_thresholds": {
            "type": "array",
            "items": {
              "type": "integer"
            },
            "maxItems": 5,
            "description": "多级告警风暴阈值。"
          },
          "i_keys": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "maxItems": 10,
            "description": "用于智能聚合向量化的 label 键。"
          },
          "i_score_threshold": {
            "type": "number",
            "format": "float",
            "minimum": 0.5,
            "maximum": 1,
            "description": "智能聚合相似度阈值。"
          }
        }
      },
      "Image": {
        "type": "object",
        "description": "图片或附件引用。",
        "required": [
          "src"
        ],
        "properties": {
          "src": {
            "type": "string",
            "description": "图片来源，可以是 `img_` 上传 token 或 `http(s)` URL。"
          },
          "href": {
            "type": "string",
            "description": "可选的图片跳转链接。"
          },
          "alt": {
            "type": "string",
            "description": "替代文本。"
          }
        }
      },
      "ImportStatusPageSubscriberItem": {
        "type": "object",
        "description": "单个待导入的订阅者。",
        "required": [
          "recipient"
        ],
        "properties": {
          "recipient": {
            "type": "string",
            "maxLength": 255,
            "description": "邮箱地址（公开状态页）或用户 ID（内部状态页）。"
          },
          "component_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "订阅者需要接收通知的组件 ID 列表。"
          },
          "change_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "订阅者需要接收通知的特定事件 ID 列表。"
          },
          "all": {
            "type": "boolean",
            "description": "为 true 时订阅所有组件。当 `component_ids` 与 `change_ids` 均为空时必须为 true。"
          },
          "locale": {
            "type": "string",
            "description": "通知的首选语言。留空时使用请求语言。"
          }
        }
      },
      "ImportStatusPageSubscribersRequest": {
        "type": "object",
        "description": "批量导入订阅者所需的参数。每个订阅者的 `recipient` 非空且不超过 255 字符；并且至少订阅一个组件/事件，或将 `all` 置为 true。",
        "required": [
          "page_id",
          "method"
        ],
        "properties": {
          "page_id": {
            "type": "integer",
            "format": "int64",
            "description": "目标状态页 ID，可通过 `GET /status-page/list` 获取。"
          },
          "method": {
            "type": "string",
            "enum": [
              "email",
              "im"
            ],
            "description": "订阅通知方式。`email` 仅适用于公开状态页，`im` 仅适用于内部状态页。"
          },
          "subscribers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ImportStatusPageSubscriberItem"
            },
            "description": "要导入的订阅者列表。"
          }
        }
      },
      "IncProgressCnts": {
        "type": "object",
        "required": [
          "Triggered",
          "Processing"
        ],
        "properties": {
          "Triggered": {
            "type": "integer",
            "format": "int64",
            "description": "近 30 天触发中的故障数量。"
          },
          "Processing": {
            "type": "integer",
            "format": "int64",
            "description": "近 30 天处理中的故障数量。"
          }
        }
      },
      "IncidentFeedItem": {
        "type": "object",
        "description": "单条故障时间线条目。`detail` 字段由 `type` 决定具体结构，详见各 `FeedDetail*` 结构。",
        "required": [
          "ref_id",
          "type",
          "detail",
          "account_id",
          "creator_id",
          "created_at",
          "updated_at"
        ],
        "properties": {
          "ref_id": {
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "引用对象 ObjectID，根据 type 不同可能指向故障或告警。"
          },
          "type": {
            "$ref": "#/components/schemas/IncidentFeedType"
          },
          "detail": {
            "description": "由 `type` 决定的具体载荷；条目无结构化详情时为 `null`。",
            "oneOf": [
              {
                "$ref": "#/components/schemas/FeedDetailIncidentNew"
              },
              {
                "$ref": "#/components/schemas/FeedDetailIncidentAssign"
              },
              {
                "$ref": "#/components/schemas/FeedDetailIncidentAddRspd"
              },
              {
                "$ref": "#/components/schemas/FeedDetailIncidentNotify"
              },
              {
                "$ref": "#/components/schemas/FeedDetailIncidentStorm"
              },
              {
                "$ref": "#/components/schemas/FeedDetailIncidentSnooze"
              },
              {
                "$ref": "#/components/schemas/FeedDetailIncidentWake"
              },
              {
                "$ref": "#/components/schemas/FeedDetailIncidentAck"
              },
              {
                "$ref": "#/components/schemas/FeedDetailIncidentUnack"
              },
              {
                "$ref": "#/components/schemas/FeedDetailIncidentComment"
              },
              {
                "$ref": "#/components/schemas/FeedDetailIncidentResolve"
              },
              {
                "$ref": "#/components/schemas/FeedDetailIncidentReopen"
              },
              {
                "$ref": "#/components/schemas/FeedDetailIncidentMerge"
              },
              {
                "$ref": "#/components/schemas/FeedDetailIncidentResetTitle"
              },
              {
                "$ref": "#/components/schemas/FeedDetailIncidentResetDescription"
              },
              {
                "$ref": "#/components/schemas/FeedDetailIncidentResetImpact"
              },
              {
                "$ref": "#/components/schemas/FeedDetailIncidentResetRootCause"
              },
              {
                "$ref": "#/components/schemas/FeedDetailIncidentResetResolution"
              },
              {
                "$ref": "#/components/schemas/FeedDetailIncidentResetSeverity"
              },
              {
                "$ref": "#/components/schemas/FeedDetailIncidentResetField"
              },
              {
                "$ref": "#/components/schemas/FeedDetailIncidentMuteByFlapping"
              },
              {
                "$ref": "#/components/schemas/FeedDetailIncidentMuteReply"
              },
              {
                "$ref": "#/components/schemas/FeedDetailIncidentCustomAction"
              },
              {
                "$ref": "#/components/schemas/FeedDetailIncidentWarRoomCreate"
              },
              {
                "$ref": "#/components/schemas/FeedDetailIncidentWarRoomDelete"
              },
              {
                "$ref": "#/components/schemas/FeedDetailIncidentAutoRefreshCard"
              },
              {
                "$ref": "#/components/schemas/FeedDetailWorkItemCreated"
              },
              {
                "$ref": "#/components/schemas/FeedDetailWorkItemUpdated"
              },
              {
                "$ref": "#/components/schemas/FeedDetailWorkItemAssigneesChanged"
              },
              {
                "$ref": "#/components/schemas/FeedDetailWorkItemCompleted"
              },
              {
                "$ref": "#/components/schemas/FeedDetailWorkItemConverted"
              },
              {
                "$ref": "#/components/schemas/FeedDetailWorkItemBound"
              },
              {
                "$ref": "#/components/schemas/FeedDetailWorkItemDeleted"
              },
              {
                "$ref": "#/components/schemas/FeedDetailAlertMerge"
              }
            ],
            "discriminator": {
              "propertyName": "type",
              "mapping": {
                "i_new": "#/components/schemas/FeedDetailIncidentNew",
                "i_assign": "#/components/schemas/FeedDetailIncidentAssign",
                "i_a_rspd": "#/components/schemas/FeedDetailIncidentAddRspd",
                "i_notify": "#/components/schemas/FeedDetailIncidentNotify",
                "i_storm": "#/components/schemas/FeedDetailIncidentStorm",
                "i_snooze": "#/components/schemas/FeedDetailIncidentSnooze",
                "i_wake": "#/components/schemas/FeedDetailIncidentWake",
                "i_ack": "#/components/schemas/FeedDetailIncidentAck",
                "i_unack": "#/components/schemas/FeedDetailIncidentUnack",
                "i_comm": "#/components/schemas/FeedDetailIncidentComment",
                "i_rslv": "#/components/schemas/FeedDetailIncidentResolve",
                "i_reopen": "#/components/schemas/FeedDetailIncidentReopen",
                "i_merge": "#/components/schemas/FeedDetailIncidentMerge",
                "i_r_title": "#/components/schemas/FeedDetailIncidentResetTitle",
                "i_r_desc": "#/components/schemas/FeedDetailIncidentResetDescription",
                "i_r_impact": "#/components/schemas/FeedDetailIncidentResetImpact",
                "i_r_rc": "#/components/schemas/FeedDetailIncidentResetRootCause",
                "i_r_rsltn": "#/components/schemas/FeedDetailIncidentResetResolution",
                "i_r_severity": "#/components/schemas/FeedDetailIncidentResetSeverity",
                "i_r_field": "#/components/schemas/FeedDetailIncidentResetField",
                "i_m_flapping": "#/components/schemas/FeedDetailIncidentMuteByFlapping",
                "i_m_reply": "#/components/schemas/FeedDetailIncidentMuteReply",
                "i_custom": "#/components/schemas/FeedDetailIncidentCustomAction",
                "i_wr_create": "#/components/schemas/FeedDetailIncidentWarRoomCreate",
                "i_wr_delete": "#/components/schemas/FeedDetailIncidentWarRoomDelete",
                "i_auto_refresh": "#/components/schemas/FeedDetailIncidentAutoRefreshCard",
                "i_wi_created": "#/components/schemas/FeedDetailWorkItemCreated",
                "i_wi_updated": "#/components/schemas/FeedDetailWorkItemUpdated",
                "i_wi_assignees": "#/components/schemas/FeedDetailWorkItemAssigneesChanged",
                "i_wi_completed": "#/components/schemas/FeedDetailWorkItemCompleted",
                "i_wi_converted": "#/components/schemas/FeedDetailWorkItemConverted",
                "i_wi_bound": "#/components/schemas/FeedDetailWorkItemBound",
                "i_wi_deleted": "#/components/schemas/FeedDetailWorkItemDeleted",
                "a_merge": "#/components/schemas/FeedDetailAlertMerge"
              }
            }
          },
          "account_id": {
            "type": "integer",
            "format": "int64",
            "description": "账号 ID。"
          },
          "creator_id": {
            "type": "integer",
            "format": "int64",
            "description": "操作人成员 ID，`0` 表示系统生成。"
          },
          "deleted_at": {
            "type": "integer",
            "format": "int64",
            "description": "软删除时间戳（毫秒），未删除时为 0。"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "description": "创建时间戳（毫秒）。"
          },
          "updated_at": {
            "type": "integer",
            "format": "int64",
            "description": "最后更新时间戳（毫秒）。"
          }
        }
      },
      "IncidentFeedType": {
        "type": "string",
        "description": "故障时间线条目类型。每个值对应一个生命周期事件，其 `detail` 载荷结构由该字段决定。故障级事件前缀为 `i_`；向上冒泡到故障时间线的告警级事件前缀为 `a_`。\n\n| 类型 | 含义 |\n|---|---|\n| `i_new` | 故障创建：系统自动或人工创建了新故障。 |\n| `i_assign` | 分派响应人：故障被分派给指定人员处理。 |\n| `i_a_rspd` | 添加响应人：有新的响应人被加入处理。 |\n| `i_notify` | 通过某个渠道在指定环节发送通知。 |\n| `i_storm` | 故障触发告警风暴阈值。 |\n| `i_snooze` | 暂停通知指定时长。 |\n| `i_wake` | 取消暂停并恢复通知。 |\n| `i_ack` | 确认故障：响应人确认已开始处理故障。 |\n| `i_unack` | 取消认领。 |\n| `i_comm` | 添加评论：响应人记录了处理进展或关键信息。 |\n| `i_rslv` | 解决故障：故障被标记为已解决。 |\n| `i_reopen` | 重新打开：已解决的故障被重新打开，可能问题复发。 |\n| `i_merge` | 合并故障：多个相关故障被合并为一个。 |\n| `i_r_title` | 标题更新。 |\n| `i_r_desc` | 描述更新。 |\n| `i_r_impact` | 影响范围更新。 |\n| `i_r_rc` | 根因更新。 |\n| `i_r_rsltn` | 解决方案更新。 |\n| `i_r_severity` | 严重等级变更：故障的严重程度被调整。 |\n| `i_r_field` | 自定义字段值更新。 |\n| `i_m_flapping` | 因抖动检测被静默。 |\n| `i_m_reply` | 评论静音回复标记。 |\n| `i_custom` | 执行动作：触发了自动化操作或脚本。 |\n| `i_wr_create` | 创建作战室：建立了即时通讯群组用于协作处理。 |\n| `i_wr_delete` | 删除作战室群组。 |\n| `i_auto_refresh` | 卡片自动刷新事件。 |\n| `i_wi_created` | 跟进事项创建：创建了行动项或后续行动。 |\n| `i_wi_updated` | 跟进事项更新：标题、描述、状态或优先级发生变化。 |\n| `i_wi_assignees` | 跟进事项负责人变更：负责人被更新。 |\n| `i_wi_completed` | 跟进事项完成：负责人将跟进事项标记为完成。 |\n| `i_wi_converted` | 跟进事项转化：行动项被转化为后续行动。 |\n| `i_wi_bound` | 跟进事项绑定：已转化的后续行动被绑定到故障复盘。 |\n| `i_wi_deleted` | 跟进事项删除：行动项或后续行动被软删除。 |\n| `a_merge` | 告警合并：一条告警被合并进已有故障。 |",
        "enum": [
          "i_new",
          "i_assign",
          "i_a_rspd",
          "i_notify",
          "i_storm",
          "i_snooze",
          "i_wake",
          "i_ack",
          "i_unack",
          "i_comm",
          "i_rslv",
          "i_reopen",
          "i_merge",
          "i_r_title",
          "i_r_desc",
          "i_r_impact",
          "i_r_rc",
          "i_r_rsltn",
          "i_r_severity",
          "i_r_field",
          "i_m_flapping",
          "i_m_reply",
          "i_custom",
          "i_wr_create",
          "i_wr_delete",
          "i_auto_refresh",
          "i_wi_created",
          "i_wi_updated",
          "i_wi_assignees",
          "i_wi_completed",
          "i_wi_converted",
          "i_wi_bound",
          "i_wi_deleted",
          "a_merge"
        ]
      },
      "IncidentInfo": {
        "type": "object",
        "description": "故障详细信息。",
        "required": [
          "incident_id",
          "account_id",
          "channel_id",
          "team_id",
          "integration_id",
          "integration_ids",
          "integration_types",
          "dedup_key",
          "equals_md5",
          "start_time",
          "end_time",
          "last_time",
          "ack_time",
          "close_time",
          "creator_id",
          "closer_id",
          "owner_id",
          "incident_status",
          "incident_severity",
          "progress",
          "title",
          "description",
          "ai_summary",
          "impact",
          "root_cause",
          "resolution",
          "num",
          "created_at",
          "updated_at",
          "snoozed_before",
          "group_method",
          "ever_muted",
          "labels",
          "fields",
          "assigned_to",
          "alert_cnt",
          "active_alert_cnt",
          "alert_event_cnt",
          "responders",
          "account_name",
          "account_locale",
          "account_time_zone",
          "channel_name",
          "channel_status",
          "detail_url",
          "silence_url",
          "post_mortem_id",
          "images",
          "manual_overrides"
        ],
        "properties": {
          "incident_id": {
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "故障 ID（MongoDB ObjectID）。"
          },
          "account_id": {
            "type": "integer",
            "format": "int64",
            "description": "所属账号 ID。"
          },
          "channel_id": {
            "type": "integer",
            "format": "int64",
            "description": "协作空间 ID，独立故障为 0。"
          },
          "team_id": {
            "type": "integer",
            "format": "int64",
            "description": "故障所属协作空间的团队 ID；协作空间无团队时为 0。"
          },
          "integration_id": {
            "type": "integer",
            "format": "int64",
            "description": "故障关联的首个集成 ID。"
          },
          "integration_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "所有为此故障贡献告警的集成 ID。"
          },
          "integration_types": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "所有相关集成的类型。"
          },
          "dedup_key": {
            "type": "string",
            "description": "合并告警时使用的去重键。"
          },
          "equals_md5": {
            "type": "string",
            "description": "用于内容比对的 MD5 哈希。"
          },
          "start_time": {
            "type": "integer",
            "format": "int64",
            "description": "故障开始的 Unix 时间戳（秒）。"
          },
          "end_time": {
            "type": "integer",
            "format": "int64",
            "description": "故障结束的 Unix 时间戳（秒），仍活跃时为 0。"
          },
          "last_time": {
            "type": "integer",
            "format": "int64",
            "description": "最近一次更新的 Unix 时间戳（秒）。"
          },
          "ack_time": {
            "type": "integer",
            "format": "int64",
            "description": "首次认领的 Unix 时间戳（秒），未认领时为 0。"
          },
          "close_time": {
            "type": "integer",
            "format": "int64",
            "description": "关闭时间的 Unix 时间戳（秒），仍开启时为 0。"
          },
          "creator_id": {
            "type": "integer",
            "format": "int64",
            "description": "创建者成员 ID，系统自动创建时为 0。"
          },
          "closer_id": {
            "type": "integer",
            "format": "int64",
            "description": "关闭者成员 ID，自动关闭时为 0。"
          },
          "owner_id": {
            "type": "integer",
            "format": "int64",
            "description": "主负责人成员 ID，无则为 0。"
          },
          "incident_status": {
            "type": "string",
            "enum": [
              "Critical",
              "Warning",
              "Info",
              "Ok"
            ],
            "description": "当前故障状态，由告警状态推导。"
          },
          "incident_severity": {
            "type": "string",
            "enum": [
              "Critical",
              "Warning",
              "Info",
              "Ok"
            ],
            "description": "配置的故障严重程度。"
          },
          "progress": {
            "type": "string",
            "enum": [
              "Triggered",
              "Processing",
              "Closed"
            ],
            "description": "故障进展状态。`Triggered` 已触发待认领；`Processing` 已认领处理中（取消认领会回到 `Triggered`）；`Closed` 已关闭。"
          },
          "title": {
            "type": "string",
            "description": "故障标题。"
          },
          "description": {
            "type": "string",
            "description": "故障描述。"
          },
          "ai_summary": {
            "type": "string",
            "description": "AI 生成的故障摘要。"
          },
          "impact": {
            "type": "string",
            "description": "影响范围描述。"
          },
          "root_cause": {
            "type": "string",
            "description": "根因分析。"
          },
          "resolution": {
            "type": "string",
            "description": "解决方案说明。"
          },
          "num": {
            "type": "string",
            "description": "短标识，可能重复。"
          },
          "frequency": {
            "type": "string",
            "description": "频率分布桶，用于分析故障发生模式：`frequent`（频繁）或 `rare`（偶发）。",
            "enum": [
              "frequent",
              "rare"
            ]
          },
          "deleted_at": {
            "type": "integer",
            "format": "int64",
            "description": "软删除时间戳（秒），未删除时为 0。"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "description": "创建时间戳（秒）。"
          },
          "updated_at": {
            "type": "integer",
            "format": "int64",
            "description": "最后更新时间戳（秒）。"
          },
          "snoozed_before": {
            "type": "integer",
            "format": "int64",
            "description": "通知暂停截止时间（Unix 秒），0 表示未暂停。"
          },
          "group_method": {
            "type": "string",
            "description": "构建故障时使用的告警聚合方法：`i` 智能聚合、`p` 规则聚合、`n` 不聚合。",
            "enum": [
              "i",
              "p",
              "n"
            ]
          },
          "ever_muted": {
            "type": "boolean",
            "description": "该故障是否曾被静默。"
          },
          "labels": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "从告警继承的标签。"
          },
          "fields": {
            "type": "object",
            "additionalProperties": true,
            "description": "自定义字段取值，按字段名索引。"
          },
          "assigned_to": {
            "$ref": "#/components/schemas/AssignedTo",
            "description": "故障当前的指派对象。"
          },
          "reporter_email": {
            "type": "string",
            "description": "手工创建故障时的上报者邮箱。"
          },
          "alert_cnt": {
            "type": "integer",
            "format": "int64",
            "description": "合并到此故障的告警总数。"
          },
          "active_alert_cnt": {
            "type": "integer",
            "format": "int64",
            "description": "当前处于 Critical/Warning/Info 状态的告警数量。"
          },
          "alert_event_cnt": {
            "type": "integer",
            "format": "int64",
            "description": "所有合并告警的原始事件总数。"
          },
          "alerts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AlertInfo"
            },
            "description": "关联告警列表，仅在通知模板与自定义动作中填充。"
          },
          "closer": {
            "$ref": "#/components/schemas/PersonShort",
            "description": "关闭人信息。"
          },
          "creator": {
            "$ref": "#/components/schemas/PersonShort",
            "description": "创建人信息。"
          },
          "owner": {
            "$ref": "#/components/schemas/PersonShort",
            "description": "负责人信息，可能已废弃。",
            "deprecated": true
          },
          "responders": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Responder"
            },
            "description": "当前处理人员列表。"
          },
          "account_name": {
            "type": "string",
            "description": "账号名称。"
          },
          "account_locale": {
            "type": "string",
            "description": "账号语言。"
          },
          "account_time_zone": {
            "type": "string",
            "description": "账号时区。"
          },
          "channel_name": {
            "type": "string",
            "description": "协作空间名称。"
          },
          "channel_status": {
            "type": "string",
            "description": "协作空间状态。"
          },
          "detail_url": {
            "type": "string",
            "description": "前端详情页地址。"
          },
          "silence_url": {
            "type": "string",
            "description": "快速静默页面地址。"
          },
          "links": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LinkItem"
            },
            "description": "协作空间配置的链接集成。"
          },
          "integration_type": {
            "type": "string",
            "description": "首个告警的集成类型，详情页用于标签映射。"
          },
          "post_mortem_id": {
            "type": "string",
            "description": "关联的复盘报告 ID，一条故障只能关联一份复盘报告。"
          },
          "images": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Image"
            },
            "description": "附加图片。"
          },
          "manual_overrides": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "被手工覆盖过的字段名列表。"
          },
          "data_source_id": {
            "type": "integer",
            "format": "int64",
            "description": "已废弃。请使用 `integration_id`。",
            "deprecated": true
          },
          "data_source_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "已废弃。请使用 `integration_ids`。",
            "deprecated": true
          },
          "data_source_type": {
            "type": "string",
            "description": "已废弃。请使用 `integration_type`。",
            "deprecated": true
          },
          "data_source_types": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "已废弃。请使用 `integration_types`。",
            "deprecated": true
          }
        }
      },
      "IncidentInfoRequest": {
        "type": "object",
        "description": "单个故障查询参数。incident_id 与 num 二者择一传入。",
        "properties": {
          "incident_id": {
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "故障 ID（MongoDB ObjectID）。"
          },
          "num": {
            "type": "string",
            "description": "故障短 ID（界面上展示的 6 位大写 ID）。不唯一——命中多个时返回最近一个。incident_id 与 num 二者择一传入。"
          }
        }
      },
      "IncidentListResponse": {
        "type": "object",
        "description": "故障分页列表。",
        "required": [
          "items",
          "total",
          "has_next_page"
        ],
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IncidentInfo"
            },
            "description": "当前页故障列表。"
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "description": "命中总数。"
          },
          "has_next_page": {
            "type": "boolean",
            "description": "是否还有更多页。"
          },
          "search_after_ctx": {
            "type": "string",
            "description": "下一页翻页游标。"
          }
        }
      },
      "IncidentRawItem": {
        "type": "object",
        "description": "分析看板故障列表返回的原始故障记录，附带每条故障的处理效能指标。",
        "properties": {
          "incident_id": {
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "故障 ID，账户内唯一。"
          },
          "title": {
            "type": "string",
            "description": "故障标题。"
          },
          "description": {
            "type": "string",
            "description": "故障描述；为空时不返回。"
          },
          "team_id": {
            "type": "integer",
            "format": "int64",
            "description": "故障归属团队的 ID。"
          },
          "team_name": {
            "type": "string",
            "description": "故障归属团队的名称。"
          },
          "channel_id": {
            "type": "integer",
            "format": "int64",
            "description": "故障所属协作空间的 ID。"
          },
          "channel_name": {
            "type": "string",
            "description": "故障所属协作空间的名称。"
          },
          "progress": {
            "type": "string",
            "description": "故障处理状态——`Triggered`（触发）、`Processing`（处理中）、`Closed`（已关闭）之一。",
            "enum": [
              "Triggered",
              "Processing",
              "Closed"
            ]
          },
          "severity": {
            "type": "string",
            "enum": [
              "Critical",
              "Warning",
              "Info"
            ],
            "description": "故障严重程度。"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "description": "故障创建时间，Unix 时间戳（秒）。"
          },
          "alert_cnt": {
            "type": "integer",
            "format": "int64",
            "description": "故障聚合的告警总数。"
          },
          "active_alert_cnt": {
            "type": "integer",
            "format": "int64",
            "description": "仍处于活跃（未恢复）状态的告警数量。"
          },
          "alert_event_cnt": {
            "type": "integer",
            "format": "int64",
            "description": "故障关联的告警事件总数；一条告警的每次上报计为一个事件。"
          },
          "closed_by": {
            "type": "string",
            "enum": [
              "",
              "auto",
              "timeout",
              "manually"
            ],
            "description": "关闭方式：`auto` 自动关闭、`timeout` 超时关闭、`manually` 人工关闭；未关闭时为空字符串。"
          },
          "owner_id": {
            "type": "integer",
            "format": "int64",
            "description": "故障负责人的成员 ID。为 0（无负责人）时不返回。"
          },
          "owner_name": {
            "type": "string",
            "description": "故障负责人的显示名。为空时不返回。"
          },
          "creator_id": {
            "type": "integer",
            "format": "int64",
            "description": "故障创建人的成员 ID。"
          },
          "creator_name": {
            "type": "string",
            "description": "故障创建人的显示名称。"
          },
          "closer_id": {
            "type": "integer",
            "format": "int64",
            "description": "关闭人的成员 ID。为 0（非人工关闭）时不返回。"
          },
          "closer_name": {
            "type": "string",
            "description": "关闭人的显示名。为空时不返回。"
          },
          "seconds_to_ack": {
            "type": "integer",
            "format": "int64",
            "description": "从故障创建到首次认领的耗时（秒）；从未认领时为 0。"
          },
          "seconds_to_close": {
            "type": "integer",
            "format": "int64",
            "description": "从故障创建到关闭的耗时（秒）；未关闭时为 0。"
          },
          "engaged_seconds": {
            "type": "integer",
            "format": "int64",
            "description": "处理耗时总和（秒）：所有已认领处理人员的「关闭时间 − 本人认领时间」之和；未关闭时为 0。"
          },
          "hours": {
            "type": "string",
            "enum": [
              "work",
              "off",
              "sleep"
            ],
            "description": "故障创建时刻在账户时区下所处的时段：`work` 工作日 08:00–19:00，`sleep` 每日 23:00–次日 08:00，`off` 其余时间。"
          },
          "snoozed_before": {
            "type": "integer",
            "format": "int64",
            "description": "故障静默到的截止时间，Unix 时间戳（秒）。未静默时不返回该字段。"
          },
          "ever_muted": {
            "type": "boolean",
            "description": "故障是否曾被降噪收敛。为 false 时不返回。"
          },
          "frequency": {
            "type": "string",
            "enum": [
              "frequent",
              "rare"
            ],
            "description": "频率分类：`frequent`（高频）或 `rare`（低频）。未分类时不返回。"
          },
          "responders": {
            "type": "array",
            "description": "处理人员列表，记录每个人的分派与认领时间。",
            "items": {
              "type": "object",
              "properties": {
                "person_id": {
                  "type": "integer",
                  "format": "int64",
                  "description": "处理人员的成员 ID。"
                },
                "assigned_at": {
                  "type": "integer",
                  "format": "int64",
                  "description": "被分派的时间，Unix 时间戳（秒）。"
                },
                "acknowledged_at": {
                  "type": "integer",
                  "format": "int64",
                  "description": "认领时间，Unix 时间戳（秒）；未认领时为 0。"
                },
                "person_name": {
                  "type": "string",
                  "description": "处理人员的显示名称；为空时不返回。"
                },
                "email": {
                  "type": "string",
                  "description": "处理人员的邮箱；为空时不返回。"
                },
                "as": {
                  "type": "string",
                  "description": "处理人员在外部协作 IM（如 Slack）中的标识；仅在外部系统回填时返回。"
                }
              }
            }
          },
          "assigned_to": {
            "type": [
              "object",
              "null"
            ],
            "description": "故障的当前分派信息；无分派记录时为 `null`。",
            "properties": {
              "person_ids": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int64"
                },
                "description": "直接分派给该故障的成员 ID 列表。"
              },
              "escalate_rule_id": {
                "type": "string",
                "pattern": "^[0-9a-fA-F]{24}$",
                "description": "驱动分派的升级规则 ID（MongoDB ObjectID）。"
              },
              "escalate_rule_name": {
                "type": "string",
                "description": "升级规则的显示名称。"
              },
              "layer_idx": {
                "type": "integer",
                "description": "升级规则中的当前级别索引。"
              },
              "type": {
                "type": "string",
                "enum": [
                  "assign",
                  "reassign",
                  "escalate",
                  "reopen"
                ],
                "description": "分派类型。\n| 值 | 含义 |\n|---|---|\n| `assign` | 手动创建故障时的首次指派。 |\n| `reassign` | 对已有故障的再次指派。 |\n| `escalate` | 分派策略升级触发的指派。 |\n| `reopen` | 故障重新打开后从第一环节重新开始的分派。 |"
              },
              "assigned_at": {
                "type": "integer",
                "format": "int64",
                "description": "本次分派发生的时间戳（Unix 秒）。"
              },
              "id": {
                "type": "string",
                "description": "内部分派记录 ID。"
              }
            }
          },
          "labels": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "故障标签键值对。本接口响应中始终不返回（仅供导出使用）。"
          },
          "fields": {
            "type": "object",
            "additionalProperties": true,
            "description": "故障自定义字段。本接口响应中始终不返回（仅供导出使用）。"
          },
          "notifications": {
            "type": "integer",
            "format": "int64",
            "description": "通知发送总次数。"
          },
          "interruptions": {
            "type": "integer",
            "format": "int64",
            "description": "打扰次数：通过 App 推送、短信、电话语音渠道发送的通知次数；同一处理人员 60 秒内的连续通知合并计为一次。"
          },
          "assignments": {
            "type": "integer",
            "format": "int64",
            "description": "分派次数。"
          },
          "reassignments": {
            "type": "integer",
            "format": "int64",
            "description": "改派（重新分派）次数。"
          },
          "acknowledgements": {
            "type": "integer",
            "format": "int64",
            "description": "认领次数。"
          },
          "escalations": {
            "type": "integer",
            "format": "int64",
            "description": "升级总次数，等于 `timeout_escalations` 与 `manual_escalations` 之和。"
          },
          "timeout_escalations": {
            "type": "integer",
            "format": "int64",
            "description": "超时未处理触发的升级次数。"
          },
          "manual_escalations": {
            "type": "integer",
            "format": "int64",
            "description": "人工手动触发的升级次数。"
          }
        }
      },
      "IncidentShort": {
        "type": "object",
        "description": "嵌入告警中的故障简要信息。",
        "properties": {
          "incident_id": {
            "type": "string",
            "description": "故障 ID（ObjectID 十六进制字符串）。"
          },
          "title": {
            "type": "string",
            "description": "故障标题。"
          },
          "progress": {
            "type": "string",
            "description": "故障处理进度——`Triggered`、`Processing`、`Closed` 之一。"
          }
        }
      },
      "InhibitRuleItem": {
        "type": "object",
        "required": [
          "account_id",
          "channel_id",
          "rule_name",
          "description",
          "source_filters",
          "target_filters",
          "equals",
          "is_directly_discard",
          "status",
          "rule_id",
          "updated_by",
          "created_at",
          "updated_at"
        ],
        "properties": {
          "account_id": {
            "type": "integer",
            "format": "int64",
            "description": "规则所属账户 ID。"
          },
          "channel_id": {
            "type": "integer",
            "format": "int64",
            "description": "规则所属协作空间 ID。"
          },
          "rule_name": {
            "type": "string",
            "description": "规则名称。"
          },
          "description": {
            "type": "string",
            "description": "规则描述。"
          },
          "source_filters": {
            "$ref": "#/components/schemas/FilterGroup",
            "description": "源告警需要满足的条件，针对已存的活跃告警求值。支持的键：`status`、`incident_status`、`alert_status`、`severity`、`incident_severity`、`alert_severity`、`title`、`description` 或任意 `labels.<name>`。为空时策略不生效。"
          },
          "target_filters": {
            "$ref": "#/components/schemas/FilterGroup",
            "description": "目标（被抑制）告警事件需要满足的条件；为空表示所有事件都是抑制目标。"
          },
          "equals": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "源（抑制方）告警与目标（被抑制）告警之间必须取值相等的字段键，例如 `data_source_id` 或 `labels.cluster`。"
          },
          "is_directly_discard": {
            "type": "boolean",
            "description": "为 true 时，命中的告警事件被完全丢弃；为 false 时，告警仍会被记录，但标记为被本策略静默。"
          },
          "status": {
            "type": "string",
            "enum": [
              "enabled",
              "disabled"
            ],
            "description": "规则状态：`enabled` 启用，`disabled` 停用；已删除的规则不会出现在列表中。"
          },
          "rule_id": {
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "规则 ID（MongoDB ObjectID）。"
          },
          "updated_by": {
            "type": "integer",
            "format": "int64",
            "description": "最近一次更新该规则的用户 ID。"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "description": "创建时间，Unix 时间戳（秒）。"
          },
          "updated_at": {
            "type": "integer",
            "format": "int64",
            "description": "最近更新时间，Unix 时间戳（秒）。"
          },
          "deleted_at": {
            "type": "integer",
            "format": "int64",
            "description": "删除时间，Unix 秒时间戳。仅在策略被软删除时返回；已删除的策略不会出现在列表响应中。"
          }
        }
      },
      "InsightAlertByLabelItem": {
        "type": "object",
        "properties": {
          "label": {
            "type": "string",
            "description": "聚合键取值（check 名或 resource 标识）。"
          },
          "hours": {
            "type": "string",
            "description": "启用 `split_hours` 时的小时桶：`work`、`sleep` 或 `off`。`split_hours` 为 false 时不返回。",
            "enum": [
              "work",
              "sleep",
              "off"
            ]
          },
          "total_alert_cnt": {
            "type": "integer",
            "format": "int64",
            "description": "该 label 取值桶内的告警总数。"
          },
          "total_alert_event_cnt": {
            "type": "integer",
            "format": "int64",
            "description": "该 label 取值桶内的原始告警事件总数。"
          }
        }
      },
      "InsightAlertByLabelResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InsightAlertByLabelItem"
            },
            "description": "按指定 label 取值聚合的 Top-K 统计行。"
          }
        }
      },
      "InsightFilter": {
        "type": "object",
        "description": "洞察与导出接口共享的过滤参数。`severities` 至多 3 项，team/channel/responder/incident 过滤条件每项至多 100 条，时间范围不能超过一年。",
        "required": [
          "start_time",
          "end_time"
        ],
        "properties": {
          "start_time": {
            "type": "integer",
            "format": "int64",
            "description": "起始时间，Unix 秒。必须大于 0。",
            "exclusiveMinimum": 0
          },
          "end_time": {
            "type": "integer",
            "format": "int64",
            "description": "结束时间，Unix 秒，必须大于 `start_time`。"
          },
          "team_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "按团队 ID 过滤，至多 100 项。",
            "maxItems": 100
          },
          "channel_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "按协作空间 ID 过滤，至多 100 项。",
            "maxItems": 100
          },
          "responder_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "按处理人员 ID 过滤，至多 100 项。",
            "maxItems": 100
          },
          "severities": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "Critical",
                "Warning",
                "Info",
                "Ok"
              ]
            },
            "description": "按严重程度过滤，至多 3 项。",
            "maxItems": 3
          },
          "incident_ids": {
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "description": "按故障 ID（MongoDB ObjectID）过滤，至多 100 项。",
            "maxItems": 100
          },
          "query": {
            "type": "string",
            "description": "对故障标题做子串匹配（SQL `LIKE %query%`）。"
          },
          "labels": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "标签过滤（精确匹配）。"
          },
          "fields": {
            "type": "object",
            "additionalProperties": true,
            "description": "自定义字段过滤（精确匹配）。"
          },
          "orderby": {
            "type": "string",
            "enum": [
              "created_at"
            ],
            "description": "故障列表的排序字段，目前仅支持 `created_at`（故障创建时间）。仅 `/insight/incident/list` 使用。"
          },
          "asc": {
            "type": "boolean",
            "description": "为 `true` 时升序，否则降序。仅 `/insight/incident/list` 使用。"
          },
          "is_my_team": {
            "type": "boolean",
            "description": "是否仅返回调用者所属团队的数据。若调用者无任何团队，返回空集合。"
          },
          "time_zone": {
            "type": "string",
            "description": "用于划分 日/周/月 聚合桶的 IANA 时区名（如 `Asia/Shanghai`）。可选，默认 UTC；仅 `/insight/incident/export` 例外：缺省时依次回退到账户时区、`Asia/Shanghai`。"
          },
          "seconds_to_close_from": {
            "type": "integer",
            "format": "int64",
            "description": "解决时长下界（秒，包含）。",
            "minimum": 0
          },
          "seconds_to_close_to": {
            "type": "integer",
            "format": "int64",
            "description": "解决时长上界（秒，不包含）。两端同时设置时，必须大于 `seconds_to_close_from`。",
            "minimum": 0
          },
          "seconds_to_ack_from": {
            "type": "integer",
            "format": "int64",
            "description": "认领时长下界（秒，包含）。",
            "minimum": 0
          },
          "seconds_to_ack_to": {
            "type": "integer",
            "format": "int64",
            "description": "认领时长上界（秒，不包含）。两端同时设置时，必须大于 `seconds_to_ack_from`。",
            "minimum": 0
          },
          "export_fields": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "导出 CSV 的列 key 列表，按给定顺序输出；未知或重复的 key 会被拒绝。各导出接口支持的 key 集合不同，见对应接口的描述。仅导出接口使用；最多 50 个。",
            "maxItems": 50
          },
          "description_html_to_text": {
            "type": "boolean",
            "description": "导出时是否将描述列中的 HTML 标签转换为纯文本。"
          },
          "include_ever_muted": {
            "type": "boolean",
            "description": "是否包含曾被收敛的故障；默认不包含。"
          }
        }
      },
      "InsightIncidentExportRequest": {
        "$ref": "#/components/schemas/InsightFilter"
      },
      "InsightIncidentListRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/InsightFilter"
          },
          {
            "type": "object",
            "description": "故障分页列表请求。在 InsightFilter 基础上增加分页字段。",
            "properties": {
              "p": {
                "type": [
                  "integer",
                  "null"
                ],
                "minimum": 0,
                "default": 1,
                "description": "页码，从 1 开始。仅在未提供 `search_after_ctx` 时生效；`p * limit` 不能超过 10,000 条。"
              },
              "limit": {
                "type": [
                  "integer",
                  "null"
                ],
                "minimum": 0,
                "maximum": 100,
                "default": 20,
                "description": "每页条数，最大 100，默认 20。"
              },
              "search_after_ctx": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "上一页返回的分页游标（该页最后一行的故障 ID），传入以获取下一页。"
              }
            }
          }
        ]
      },
      "InsightIncidentListResponse": {
        "type": "object",
        "properties": {
          "total": {
            "type": "integer",
            "format": "int64",
            "description": "匹配的故障总数。"
          },
          "has_next_page": {
            "type": "boolean",
            "description": "是否还有下一页。"
          },
          "search_after_ctx": {
            "type": "string",
            "description": "下一页游标——本页最后一行的故障 ID。仅在 `has_next_page` 为 true 时返回。"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IncidentRawItem"
            },
            "description": "故障明细列表。"
          }
        }
      },
      "InsightQueryRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/InsightFilter"
          },
          {
            "type": "object",
            "description": "洞察维度聚合请求。在 InsightFilter 基础上增加聚合控制字段。",
            "properties": {
              "split_hours": {
                "type": "boolean",
                "description": "为 `true` 时将指标拆分为 `work`/`sleep`/`off` 时段。"
              },
              "aggregate_unit": {
                "type": "string",
                "enum": [
                  "day",
                  "week",
                  "month"
                ],
                "description": "将指标按时间粒度聚合。设置后时间范围须不少于 24 小时；`day` 粒度时范围不得超过 31 天。`day` 按自然日、`week` 按自然周、`month` 按自然月切分聚合桶，边界按 `time_zone` 对齐。"
              }
            }
          }
        ]
      },
      "InsightTopkAlertByLabelRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/InsightQueryRequest"
          },
          {
            "type": "object",
            "required": [
              "label"
            ],
            "properties": {
              "label": {
                "type": "string",
                "enum": [
                  "check",
                  "resource"
                ],
                "description": "聚合维度。`check` 按告警事件的 `labels.check` 标签（监控检查项）取值聚合；`resource` 按 `labels.resource` 标签（监控资源标识）取值聚合。"
              },
              "k": {
                "type": "integer",
                "description": "返回的前 K 条记录数，1 到 100，默认 20。",
                "minimum": 1,
                "maximum": 100,
                "default": 20
              },
              "orderby": {
                "type": "string",
                "enum": [
                  "total_alert_cnt",
                  "total_alert_event_cnt"
                ],
                "description": "排序字段。`total_alert_cnt` 按告警数排序；`total_alert_event_cnt` 按原始告警事件数排序（默认）。"
              },
              "asc": {
                "type": "boolean",
                "description": "为 `true` 时升序，否则降序。"
              }
            }
          }
        ]
      },
      "LinkItem": {
        "type": "object",
        "description": "协作空间级别的链接集成，通过模板渲染生成。",
        "required": [
          "name",
          "endpoint",
          "open_type"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "链接显示名称。"
          },
          "endpoint": {
            "type": "string",
            "description": "渲染后的链接 URL。"
          },
          "open_type": {
            "type": "string",
            "enum": [
              "popup",
              "tab"
            ],
            "description": "链接打开方式。`popup` 在故障详情页内以弹窗打开；`tab` 在新浏览器标签页打开。"
          }
        }
      },
      "ListChannelsRequest": {
        "type": "object",
        "properties": {
          "p": {
            "type": "integer",
            "minimum": 1,
            "description": "页码，从 1 开始。"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 100,
            "description": "每页大小，未传时默认为 100。"
          },
          "orderby": {
            "type": "string",
            "enum": [
              "ranking",
              "created_at",
              "updated_at",
              "channel_name",
              "last_incident_at"
            ],
            "description": "排序字段。默认为 `created_at`。"
          },
          "asc": {
            "type": "boolean",
            "description": "为 true 时升序排列；默认为 false（降序）。"
          },
          "is_my_managed": {
            "type": "boolean",
            "description": "为 true 时仅返回当前用户可管理的协作空间。"
          },
          "is_my_starred": {
            "type": "boolean",
            "description": "为 true 时仅返回当前用户收藏的协作空间，与 `is_my_team` 互斥。"
          },
          "is_brief": {
            "type": "boolean",
            "description": "为 true 时仅返回 `channel_id`、`channel_name`、`description` 和 `status` 字段，且不分页，一次返回全部匹配结果。"
          },
          "is_my_team": {
            "type": "boolean",
            "description": "为 true 时仅返回当前用户所在团队持有的协作空间，与 `is_my_starred` 互斥。"
          },
          "team_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "按团队 ID 过滤。"
          },
          "query": {
            "type": "string",
            "description": "针对协作空间名称和描述的不区分大小写正则匹配；正则语法非法时按字面量匹配。必须为合法 UTF-8，非法字节序列会返回 `InvalidParameter`。"
          },
          "channel_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "按指定协作空间 ID 过滤。"
          },
          "channel_name": {
            "type": "string",
            "description": "协作空间名称精确匹配，优先级高于 `query` 的名称过滤。必须为合法 UTF-8，非法字节序列会返回 `InvalidParameter`。"
          }
        }
      },
      "ListChannelsResponse": {
        "type": "object",
        "required": [
          "items",
          "total",
          "has_next_page"
        ],
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ChannelItem"
            },
            "description": "当前页的协作空间列表。"
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "description": "匹配到的协作空间总数。"
          },
          "has_next_page": {
            "type": "boolean",
            "description": "是否还有下一页。"
          }
        }
      },
      "ListDropRulesResponse": {
        "type": "object",
        "required": [
          "items"
        ],
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UnsubscribeRuleItem"
            },
            "description": "该协作空间下的全部排除规则（不含已删除），按创建时间升序。"
          }
        }
      },
      "ListEscalationRulesResponse": {
        "type": "object",
        "required": [
          "items"
        ],
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EscalateRuleItem"
            },
            "description": "该协作空间下的全部升级规则（不含已删除），按优先级升序。"
          }
        }
      },
      "ListIncidentAlertsRequest": {
        "type": "object",
        "description": "查询故障关联告警的过滤条件。",
        "required": [
          "incident_id"
        ],
        "properties": {
          "incident_id": {
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "故障 ID（MongoDB ObjectID）。"
          },
          "include_events": {
            "type": "boolean",
            "description": "为 true 时，在每条告警中最多返回最新 20 条原始事件作为预览。"
          },
          "is_active": {
            "type": [
              "boolean",
              "null"
            ],
            "description": "true 时只返回活跃告警（Critical/Warning/Info），false 时只返回已恢复告警（Ok），不传则返回全部。"
          },
          "limit": {
            "type": "integer",
            "format": "int64",
            "minimum": 0,
            "maximum": 1000,
            "default": 1000,
            "description": "分页大小，最大 1000。"
          },
          "p": {
            "type": "integer",
            "format": "int64",
            "minimum": 0,
            "default": 1,
            "description": "页码，从 1 开始。"
          }
        }
      },
      "ListIncidentAlertsResponse": {
        "type": "object",
        "description": "故障下的告警分页列表。",
        "required": [
          "items",
          "total"
        ],
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AlertInfo"
            },
            "description": "告警列表。"
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "description": "命中总数。"
          }
        }
      },
      "ListIncidentFeedRequest": {
        "type": "object",
        "description": "获取故障时间线的参数。",
        "required": [
          "incident_id"
        ],
        "properties": {
          "incident_id": {
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "故障 ID（MongoDB ObjectID）。"
          },
          "p": {
            "type": "integer",
            "format": "int64",
            "minimum": 1,
            "description": "页码，从 1 开始。"
          },
          "limit": {
            "type": "integer",
            "format": "int64",
            "minimum": 1,
            "maximum": 100,
            "default": 20,
            "description": "分页大小，最大 100。"
          },
          "asc": {
            "type": "boolean",
            "description": "true 为按时间升序。"
          },
          "types": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IncidentFeedType"
            },
            "description": "可选类型过滤，仅返回指定类型的时间线条目。"
          }
        }
      },
      "ListIncidentFeedResponse": {
        "type": "object",
        "description": "故障时间线分页结果。",
        "required": [
          "has_next_page",
          "items"
        ],
        "properties": {
          "has_next_page": {
            "type": "boolean",
            "description": "是否还有更多条目。"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IncidentFeedItem"
            },
            "description": "当前页的时间线条目。"
          }
        }
      },
      "ListIncidentsByIdsRequest": {
        "type": "object",
        "description": "按 ID 批量查询故障的参数。",
        "required": [
          "incident_ids"
        ],
        "properties": {
          "incident_ids": {
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "description": "待查询的故障 ID 列表，可通过 `POST /incident/list` 获取。"
          }
        }
      },
      "ListIncidentsRequest": {
        "type": "object",
        "description": "查询故障列表的过滤条件。`start_time` 与 `end_time` 必填，时间窗口不超过 31 天。",
        "required": [
          "start_time",
          "end_time"
        ],
        "properties": {
          "start_time": {
            "type": "integer",
            "format": "int64",
            "description": "时间窗口起点（Unix 秒）。与 `end_time` 构成的窗口最长 31 天，按故障发生时间过滤。"
          },
          "end_time": {
            "type": "integer",
            "format": "int64",
            "description": "时间窗口终点（Unix 秒），必须大于 `start_time` 且不超过 31 天。"
          },
          "asc": {
            "type": "boolean",
            "description": "true 为升序。"
          },
          "is_snoozed": {
            "type": "boolean",
            "description": "true 时仅返回已暂停通知的故障。"
          },
          "is_my_team": {
            "type": "boolean",
            "description": "true 时仅返回用户所属团队管理的协作空间中的故障。"
          },
          "is_my_channel": {
            "type": "boolean",
            "description": "true 时仅返回用户个人管理的协作空间中的故障。"
          },
          "ever_muted": {
            "type": "boolean",
            "description": "true 时仅返回曾被静默的故障。"
          },
          "is_rare": {
            "type": "boolean",
            "description": "true 时仅返回新奇故障。"
          },
          "progress": {
            "type": "string",
            "description": "进展状态过滤，逗号分隔（如 `Triggered,Processing`）。"
          },
          "query": {
            "type": "string",
            "description": "全文搜索关键词。"
          },
          "incident_severity": {
            "type": "string",
            "description": "严重程度过滤，逗号分隔（`Critical,Warning,Info`）。"
          },
          "channel_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "协作空间 ID 列表，0 表示独立故障。"
          },
          "team_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "团队 ID 列表，通过协作空间所属团队进行解析。"
          },
          "responder_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "按处理人过滤，取值为成员 ID，可通过 `POST /member/list` 获取。"
          },
          "acker_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "按认领人过滤，取值为成员 ID，可通过 `POST /member/list` 获取。"
          },
          "creator_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "创建人员成员 ID，0 表示自动创建。"
          },
          "closer_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "关闭人员成员 ID，0 表示自动关闭。"
          },
          "incident_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "指定故障 ID 列表进行过滤。"
          },
          "nums": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "按故障短编号过滤，即控制台故障标题前展示的编号。"
          },
          "p": {
            "type": "integer",
            "format": "int64",
            "minimum": 0,
            "description": "页码，从 1 开始。"
          },
          "limit": {
            "type": "integer",
            "format": "int64",
            "minimum": 0,
            "maximum": 100,
            "default": 20,
            "description": "分页大小，最大 100。"
          },
          "search_after_ctx": {
            "type": "string",
            "description": "上一次响应返回的翻页游标。"
          }
        }
      },
      "ListInhibitRulesResponse": {
        "type": "object",
        "required": [
          "items"
        ],
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InhibitRuleItem"
            },
            "description": "该协作空间下的全部抑制规则（不含已删除），按创建时间升序。"
          }
        }
      },
      "ListPastIncidentsRequest": {
        "type": "object",
        "description": "查询历史相似故障的参数。",
        "required": [
          "incident_id"
        ],
        "properties": {
          "incident_id": {
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "基准故障 ID（MongoDB ObjectID）。"
          },
          "limit": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64",
            "minimum": 0,
            "maximum": 100,
            "default": 5,
            "description": "返回的相似故障最大数量。"
          }
        }
      },
      "ListPastIncidentsResponse": {
        "type": "object",
        "description": "历史相似故障列表，按相关性排序。",
        "required": [
          "items"
        ],
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PastIncidentItem"
            },
            "description": "相似故障及其评分。"
          }
        }
      },
      "ListPostMortemsRequest": {
        "type": "object",
        "description": "查询复盘报告列表的过滤条件。",
        "properties": {
          "status": {
            "type": "string",
            "enum": [
              "drafting",
              "published"
            ],
            "description": "可选的复盘状态过滤：`drafting` 仅返回草稿，`published` 仅返回已发布。缺省时返回全部状态的复盘。"
          },
          "team_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "限定查询的团队 ID。"
          },
          "channel_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "限定查询的协作空间 ID。"
          },
          "created_at_start_seconds": {
            "type": "integer",
            "format": "int64",
            "minimum": 0,
            "description": "复盘创建时间下界（Unix 秒）。"
          },
          "created_at_end_seconds": {
            "type": "integer",
            "format": "int64",
            "minimum": 0,
            "description": "复盘创建时间上界（Unix 秒）。"
          },
          "order_by": {
            "type": "string",
            "enum": [
              "created_at_seconds",
              "updated_at_seconds"
            ],
            "description": "排序字段。"
          },
          "asc": {
            "type": "boolean",
            "description": "true 为升序。"
          },
          "p": {
            "type": "integer",
            "format": "int64",
            "minimum": 0,
            "description": "页码，从 1 开始。"
          },
          "limit": {
            "type": "integer",
            "format": "int64",
            "minimum": 0,
            "maximum": 100,
            "default": 20,
            "description": "分页大小，最大 100。"
          },
          "search_after_ctx": {
            "type": "string",
            "description": "上一次响应返回的翻页游标。"
          }
        }
      },
      "ListPostMortemsResponse": {
        "type": "object",
        "description": "复盘报告分页列表。",
        "required": [
          "items",
          "total",
          "has_next_page"
        ],
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PostMortemMeta"
            },
            "description": "当前页复盘元信息。"
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "description": "命中总数。"
          },
          "has_next_page": {
            "type": "boolean",
            "description": "是否还有更多页。"
          },
          "search_after_ctx": {
            "type": "string",
            "description": "翻页游标。"
          }
        }
      },
      "ListRoutesRequest": {
        "type": "object",
        "description": "批量查询多个集成路由规则所需的参数。",
        "required": [
          "integration_ids"
        ],
        "properties": {
          "integration_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "需要查询路由规则的集成 ID 列表。",
            "minItems": 1
          }
        }
      },
      "ListRoutesResponse": {
        "type": "object",
        "description": "路由规则列表的响应包装。",
        "required": [
          "items"
        ],
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RouteItem"
            },
            "description": "已请求集成的路由规则列表。未配置规则的集成不会出现在结果中。"
          }
        }
      },
      "ListSilenceRulesResponse": {
        "type": "object",
        "required": [
          "items"
        ],
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SilenceRuleItem"
            },
            "description": "该协作空间下的全部静默规则（不含已删除），按创建时间升序。"
          }
        }
      },
      "ListWarRoomsRequest": {
        "type": "object",
        "description": "查询故障战情室列表的参数。",
        "required": [
          "incident_id"
        ],
        "properties": {
          "incident_id": {
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "故障 ID（MongoDB ObjectID）。"
          },
          "integration_id": {
            "type": "integer",
            "format": "int64",
            "description": "可选过滤：仅返回指定 IM 集成下的战情室。"
          }
        }
      },
      "ListWarRoomsResponse": {
        "type": "object",
        "description": "故障关联战情室列表。",
        "required": [
          "items"
        ],
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WarRoomItem"
            },
            "description": "战情室记录列表。"
          }
        }
      },
      "ListWebhookHistoryRequest": {
        "type": "object",
        "description": "出站 Webhook 推送历史的筛选参数。查询必须指定毫秒级的时间窗口；使用 `search_after_ctx` 进行游标分页。",
        "required": [
          "limit",
          "start_time",
          "end_time"
        ],
        "properties": {
          "search_after_ctx": {
            "type": "string",
            "description": "上一次调用返回的不透明游标，用于获取下一页。"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "每页数量。"
          },
          "asc": {
            "type": "boolean",
            "description": "为 true 时按 `event_time` 升序排序，否则降序。"
          },
          "orderby": {
            "type": "string",
            "enum": [
              "event_time"
            ],
            "description": "排序字段，目前仅支持 `event_time`。"
          },
          "ref_id": {
            "type": "string",
            "maxLength": 128,
            "description": "按引用 ID 过滤（故障或告警 ID）。"
          },
          "integration_id": {
            "type": "integer",
            "format": "int64",
            "minimum": 0,
            "description": "按 Webhook 集成 ID 过滤。"
          },
          "event_types": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "按事件类型过滤，取值为动态类型代码（如 `i_new` 故障创建、`a_new` 告警触发）。"
          },
          "status": {
            "type": "string",
            "enum": [
              "success",
              "failed"
            ],
            "description": "按投递状态过滤：`success` 成功，`failed` 失败。"
          },
          "start_time": {
            "type": "integer",
            "format": "int64",
            "minimum": 1000000000000,
            "maximum": 9999999999999,
            "description": "时间窗口起始时间（Unix 毫秒）。"
          },
          "end_time": {
            "type": "integer",
            "format": "int64",
            "minimum": 1000000000000,
            "maximum": 9999999999999,
            "description": "时间窗口结束时间（Unix 毫秒），必须大于 `start_time`。"
          }
        }
      },
      "ListWebhookHistoryResponse": {
        "type": "object",
        "description": "分页的 Webhook 推送历史。",
        "required": [
          "items",
          "total",
          "search_after_ctx"
        ],
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WebhookHistoryItem"
            },
            "description": "当前页的 Webhook 推送记录。"
          },
          "total": {
            "type": "integer",
            "description": "匹配记录总数。",
            "format": "int64"
          },
          "search_after_ctx": {
            "type": "string",
            "description": "下一页游标，传入下次请求的 `search_after_ctx`。无更多数据时为空。"
          }
        }
      },
      "MappingAPICreateRequest": {
        "type": "object",
        "required": [
          "api_name",
          "url"
        ],
        "properties": {
          "api_name": {
            "type": "string",
            "maxLength": 199,
            "description": "唯一的 API 名称（最多 199 个字符）。"
          },
          "description": {
            "type": "string",
            "description": "可选描述，超过 500 字符会被静默截断。"
          },
          "url": {
            "type": "string",
            "format": "uri",
            "maxLength": 500,
            "description": "HTTP/HTTPS 端点 URL（最多 500 个字符）。"
          },
          "insecure_skip_verify": {
            "type": "boolean",
            "description": "是否跳过 TLS 证书验证，默认 `false`。"
          },
          "headers": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "自定义 HTTP 请求头。SaaS 模式下安全敏感的请求头名（`authorization`、`cookie`、`x-forwarded-for` 等）会被拒绝；键须为 RFC 7230 token 字符（最长 1024），值最长 4096 字符。"
          },
          "timeout": {
            "type": "integer",
            "description": "请求超时秒数（1–3），默认 2。",
            "minimum": 1,
            "maximum": 3
          },
          "retry_count": {
            "type": "integer",
            "description": "失败重试次数（0–1），默认 0。",
            "minimum": 0,
            "maximum": 1
          },
          "team_id": {
            "type": "integer",
            "format": "int64",
            "description": "所属团队 ID，可通过 `POST /team/list` 获取。"
          }
        }
      },
      "MappingAPICreateResponse": {
        "type": "object",
        "properties": {
          "api_id": {
            "type": "string",
            "description": "创建的映射 API ID（MongoDB ObjectID 十六进制）。"
          },
          "api_name": {
            "type": "string",
            "description": "API 名称。"
          }
        },
        "required": [
          "api_id",
          "api_name"
        ]
      },
      "MappingAPIIDRequest": {
        "type": "object",
        "required": [
          "api_id"
        ],
        "properties": {
          "api_id": {
            "type": "string",
            "description": "映射 API ID（MongoDB ObjectID 十六进制）。"
          }
        }
      },
      "MappingAPIItem": {
        "type": "object",
        "description": "映射 API 配置。",
        "properties": {
          "api_id": {
            "type": "string",
            "description": "API ID（MongoDB ObjectID 十六进制）。"
          },
          "api_name": {
            "type": "string",
            "description": "API 名称。"
          },
          "description": {
            "type": "string",
            "description": "描述。"
          },
          "url": {
            "type": "string",
            "description": "端点 URL。"
          },
          "headers": {
            "type": [
              "object",
              "null"
            ],
            "additionalProperties": {
              "type": "string"
            },
            "description": "自定义请求头，未配置时为 `null`。"
          },
          "timeout": {
            "type": "integer",
            "description": "请求超时秒数。"
          },
          "retry_count": {
            "type": "integer",
            "description": "重试次数。"
          },
          "insecure_skip_verify": {
            "type": "boolean",
            "description": "是否跳过 TLS 验证。"
          },
          "status": {
            "type": "string",
            "enum": [
              "enabled",
              "deleted"
            ],
            "description": "API 状态：`enabled`（生效）或 `deleted`（已软删除）。list 接口不返回 `deleted`，info 接口可能返回。"
          },
          "team_id": {
            "type": "integer",
            "format": "int64",
            "description": "所属团队 ID。"
          },
          "creator_id": {
            "type": "integer",
            "format": "int64",
            "description": "创建者成员 ID。"
          },
          "updated_by": {
            "type": "integer",
            "format": "int64",
            "description": "最后更新者成员 ID。"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "description": "创建时间，Unix 时间戳（秒）。为 0（历史数据）时省略。"
          },
          "updated_at": {
            "type": "integer",
            "format": "int64",
            "description": "最后更新时间，Unix 时间戳（秒）。为 0（历史数据）时省略。"
          },
          "deleted_at": {
            "type": "integer",
            "format": "int64",
            "description": "删除时间，Unix 时间戳（秒）。未软删除时省略。"
          }
        },
        "required": [
          "api_id",
          "api_name",
          "description",
          "url",
          "headers",
          "timeout",
          "retry_count",
          "insecure_skip_verify",
          "status",
          "team_id",
          "updated_by",
          "creator_id"
        ]
      },
      "MappingAPIListResponse": {
        "type": "object",
        "properties": {
          "total": {
            "type": "integer",
            "description": "映射 API 总数。"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MappingAPIItem"
            },
            "description": "映射 API 列表。"
          }
        },
        "required": [
          "total",
          "items"
        ]
      },
      "MappingAPIUpdateRequest": {
        "type": "object",
        "required": [
          "api_id"
        ],
        "properties": {
          "api_id": {
            "type": "string",
            "description": "映射 API ID（MongoDB ObjectID 十六进制）。"
          },
          "api_name": {
            "type": [
              "string",
              "null"
            ],
            "maxLength": 199,
            "description": "新 API 名称（最多 199 个字符）。"
          },
          "description": {
            "type": [
              "string",
              "null"
            ],
            "description": "新描述。"
          },
          "url": {
            "type": [
              "string",
              "null"
            ],
            "format": "uri",
            "maxLength": 500,
            "description": "新端点 URL（最多 500 个字符）。"
          },
          "insecure_skip_verify": {
            "type": [
              "boolean",
              "null"
            ],
            "description": "新 TLS 跳过验证设置。"
          },
          "headers": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "自定义 HTTP 请求头。SaaS 模式下安全敏感的请求头名（`authorization`、`cookie`、`x-forwarded-for` 等）会被拒绝；键须为 RFC 7230 token 字符（最长 1024），值最长 4096 字符。"
          },
          "timeout": {
            "type": [
              "integer",
              "null"
            ],
            "description": "新超时秒数。",
            "minimum": 1,
            "maximum": 3
          },
          "retry_count": {
            "type": [
              "integer",
              "null"
            ],
            "description": "新重试次数。",
            "minimum": 0,
            "maximum": 1
          },
          "team_id": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64",
            "description": "新所属团队 ID，可通过 `POST /team/list` 获取。"
          }
        }
      },
      "MappingDataDeleteRequest": {
        "type": "object",
        "required": [
          "schema_id",
          "keys"
        ],
        "properties": {
          "schema_id": {
            "type": "string",
            "description": "映射规则 ID（MongoDB ObjectID 十六进制）。"
          },
          "keys": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "maxItems": 100,
            "description": "待删除的数据行键名列表。"
          }
        }
      },
      "MappingDataItem": {
        "type": "object",
        "description": "单条映射数据行。",
        "properties": {
          "key": {
            "type": "string",
            "description": "数据行的组合键——来源标签值（按标签名排序、以 `:` 连接）的 MD5。为空时省略。"
          },
          "fields": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "该行的全部标签键值对，为空时省略。"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "description": "创建时间，Unix 时间戳（秒），为 0 时省略。"
          },
          "updated_at": {
            "type": "integer",
            "format": "int64",
            "description": "最后更新时间，Unix 时间戳（秒），为 0 时省略。"
          }
        }
      },
      "MappingDataListRequest": {
        "type": "object",
        "required": [
          "schema_id"
        ],
        "properties": {
          "schema_id": {
            "type": "string",
            "description": "映射规则 ID（MongoDB ObjectID 十六进制）。"
          },
          "query": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "按来源标签值精确过滤。不属于来源标签的键会被静默忽略；一旦指定，必须包含全部来源标签。"
          },
          "orderby": {
            "type": "string",
            "enum": [
              "created_at",
              "updated_at"
            ],
            "description": "排序字段，默认 `updated_at`。"
          },
          "asc": {
            "type": "boolean",
            "description": "为 `true` 时升序排列。"
          },
          "p": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64",
            "description": "页码（从 1 开始），用于页码分页；省略、`null` 或 0 时默认为 1。设置 `search_after_ctx` 时忽略该参数。页码分页最多可取 10,000 行（`p * limit <= 10000`）。",
            "minimum": 0
          },
          "limit": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64",
            "description": "每页数量（0–100）；省略、`null` 或 0 时默认为 20。",
            "minimum": 0,
            "maximum": 100
          },
          "search_after_ctx": {
            "type": [
              "string",
              "null"
            ],
            "description": "游标分页使用的不透明游标——传入上一次响应中的 `search_after_ctx`。须为 MongoDB ObjectID 十六进制字符串；设置后忽略 `p`。"
          }
        }
      },
      "MappingDataListResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MappingDataItem"
            },
            "description": "数据行列表。"
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "description": "匹配的总行数。"
          },
          "has_next_page": {
            "type": "boolean",
            "description": "是否存在更多页。"
          },
          "search_after_ctx": {
            "type": "string",
            "description": "下一页游标（本页最后一行的 ObjectID 十六进制）。没有下一页时省略。"
          }
        },
        "required": [
          "items",
          "total",
          "has_next_page"
        ]
      },
      "MappingDataUpsertRequest": {
        "type": "object",
        "required": [
          "schema_id",
          "docs"
        ],
        "properties": {
          "schema_id": {
            "type": "string",
            "description": "映射规则 ID（MongoDB ObjectID 十六进制）。"
          },
          "docs": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            },
            "maxItems": 1000,
            "description": "待插入或更新的数据行。每行须包含所有来源标签和结果标签；未知标签会被静默丢弃；单个值超过 2048 字符将被拒绝。"
          }
        }
      },
      "MappingDataUpsertResponse": {
        "type": "object",
        "properties": {
          "keys": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "已 Upsert 数据行的组合键列表。"
          }
        },
        "required": [
          "keys"
        ]
      },
      "MappingSchemaCreateRequest": {
        "type": "object",
        "required": [
          "schema_name",
          "source_labels",
          "result_labels"
        ],
        "properties": {
          "schema_name": {
            "type": "string",
            "maxLength": 39,
            "description": "唯一的映射规则名称（最多 39 个字符）。"
          },
          "description": {
            "type": "string",
            "maxLength": 500,
            "description": "可选描述（最多 500 个字符）。"
          },
          "team_id": {
            "type": "integer",
            "format": "int64",
            "description": "所属团队 ID，`0` 表示无团队。"
          },
          "source_labels": {
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[a-zA-Z_][a-zA-Z0-9_]*$"
            },
            "maxItems": 3,
            "description": "查找键标签名（1–3 个）。每个须匹配 `^[a-zA-Z_][a-zA-Z0-9_]*$`；列表内不得重复，且不得与 `result_labels` 重叠。",
            "uniqueItems": true
          },
          "result_labels": {
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[a-zA-Z_][a-zA-Z0-9_]*$"
            },
            "maxItems": 10,
            "description": "匹配后写入的输出标签名（1–10 个）。每个须匹配 `^[a-zA-Z_][a-zA-Z0-9_]*$`；列表内不得重复，且不得与 `source_labels` 重叠。",
            "uniqueItems": true
          }
        }
      },
      "MappingSchemaCreateResponse": {
        "type": "object",
        "properties": {
          "schema_id": {
            "type": "string",
            "description": "创建的映射规则 ID（MongoDB ObjectID 十六进制）。"
          },
          "schema_name": {
            "type": "string",
            "description": "映射规则名称。"
          }
        },
        "required": [
          "schema_id",
          "schema_name"
        ]
      },
      "MappingSchemaIDRequest": {
        "type": "object",
        "required": [
          "schema_id"
        ],
        "properties": {
          "schema_id": {
            "type": "string",
            "description": "映射规则 ID（MongoDB ObjectID 十六进制）。"
          }
        }
      },
      "MappingSchemaItem": {
        "type": "object",
        "description": "映射规则定义。",
        "properties": {
          "schema_id": {
            "type": "string",
            "description": "映射规则 ID（MongoDB ObjectID 十六进制）。"
          },
          "schema_name": {
            "type": "string",
            "description": "映射规则名称。"
          },
          "description": {
            "type": "string",
            "description": "描述。"
          },
          "source_labels": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "查找键标签名。"
          },
          "result_labels": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "输出标签名。"
          },
          "status": {
            "type": "string",
            "enum": [
              "enabled",
              "deleted"
            ],
            "description": "映射规则状态：`enabled`（生效）或 `deleted`（已软删除）。list 接口不返回 `deleted`，info 接口可能返回。"
          },
          "team_id": {
            "type": "integer",
            "format": "int64",
            "description": "所属团队 ID。"
          },
          "creator_id": {
            "type": "integer",
            "format": "int64",
            "description": "创建者成员 ID。"
          },
          "updated_by": {
            "type": "integer",
            "format": "int64",
            "description": "最后更新者成员 ID。"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "description": "创建时间，Unix 时间戳（秒）。为 0（历史数据）时省略。"
          },
          "updated_at": {
            "type": "integer",
            "format": "int64",
            "description": "最后更新时间，Unix 时间戳（秒）。为 0（历史数据）时省略。"
          },
          "deleted_at": {
            "type": "integer",
            "format": "int64",
            "description": "删除时间，Unix 时间戳（秒）。未软删除时省略。"
          }
        },
        "required": [
          "schema_id",
          "schema_name",
          "description",
          "source_labels",
          "result_labels",
          "status",
          "team_id",
          "updated_by",
          "creator_id"
        ]
      },
      "MappingSchemaListResponse": {
        "type": "object",
        "properties": {
          "total": {
            "type": "integer",
            "description": "映射规则总数。"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MappingSchemaItem"
            },
            "description": "映射规则列表。"
          }
        },
        "required": [
          "total",
          "items"
        ]
      },
      "MappingSchemaUpdateRequest": {
        "type": "object",
        "required": [
          "schema_id"
        ],
        "properties": {
          "schema_id": {
            "type": "string",
            "description": "映射规则 ID（MongoDB ObjectID 十六进制）。"
          },
          "schema_name": {
            "type": [
              "string",
              "null"
            ],
            "maxLength": 39,
            "description": "新的映射规则名称（最多 39 个字符）。"
          },
          "description": {
            "type": [
              "string",
              "null"
            ],
            "maxLength": 500,
            "description": "新的描述（最多 500 个字符）。"
          },
          "team_id": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64",
            "description": "新的所属团队 ID，`0` 表示移除团队关联。"
          }
        }
      },
      "MergeIncidentsRequest": {
        "type": "object",
        "description": "合并故障的参数。",
        "required": [
          "source_incident_ids",
          "target_incident_id"
        ],
        "properties": {
          "source_incident_ids": {
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "minItems": 1,
            "maxItems": 100,
            "description": "待合并的源故障 ID 列表。若其中包含目标故障 ID，系统会自动去除。"
          },
          "target_incident_id": {
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "合并目标故障 ID，可通过 `POST /incident/list` 获取。"
          },
          "title": {
            "type": "string",
            "maxLength": 512,
            "description": "可选，为目标故障设置新标题。"
          },
          "comment": {
            "type": "string",
            "maxLength": 1024,
            "description": "可选，合并时间线上的备注。"
          },
          "owner_id": {
            "type": "integer",
            "format": "int64",
            "description": "仅为兼容保留，服务端当前忽略该字段；合并不会修改目标故障的负责人。"
          },
          "remove_source_incidents": {
            "type": "boolean",
            "description": "为 true 时合并后软删除源故障，否则将源故障关闭。"
          }
        }
      },
      "MetricsBase": {
        "type": "object",
        "description": "每条聚合洞察行都带有的共享维度字段。",
        "properties": {
          "hours": {
            "type": "string",
            "enum": [
              "work",
              "sleep",
              "off"
            ],
            "description": "启用 `split_hours` 时的小时桶。`work` 为周一至周五 08:00–19:00，`sleep` 为每天 23:00–08:00，`off` 为其余时间，均按账户时区计算（`sleep` 优先于 `work`）。`split_hours` 为 false 时不返回。"
          },
          "ts": {
            "type": "integer",
            "format": "int64",
            "description": "聚合桶的起始时间，Unix 时间戳（秒）。未使用 `aggregate_unit` 时等于 `start_time`。"
          },
          "channel_id": {
            "type": "integer",
            "format": "int64",
            "description": "协作空间 ID，仅在按协作空间聚合（`/insight/channel`）时返回。"
          },
          "team_id": {
            "type": "integer",
            "format": "int64",
            "description": "团队 ID，仅在按团队聚合（`/insight/team`）时返回。"
          },
          "responder_id": {
            "type": "integer",
            "format": "int64",
            "description": "处理人员（个人）ID，仅在按处理人员聚合（`/insight/responder`）时返回。"
          },
          "team_name": {
            "type": "string",
            "description": "团队名称，按团队聚合时返回；名称查不到（如团队已删除）时省略。"
          },
          "channel_name": {
            "type": "string",
            "description": "协作空间名称，按协作空间聚合时返回；名称查不到时省略。"
          },
          "responder_name": {
            "type": "string",
            "description": "处理人员姓名，按处理人员聚合时返回；姓名查不到时省略。"
          }
        }
      },
      "MigrateStatusPageEmailSubscribersRequest": {
        "type": "object",
        "description": "启动 Atlassian Statuspage 邮件订阅者迁移任务所需的参数。",
        "required": [
          "api_key",
          "source_page_id",
          "target_page_id"
        ],
        "properties": {
          "api_key": {
            "type": "string",
            "description": "可访问源状态页的 Atlassian Statuspage API Key。"
          },
          "source_page_id": {
            "type": "string",
            "description": "Atlassian Statuspage 源状态页 ID。"
          },
          "target_page_id": {
            "type": "integer",
            "format": "int64",
            "description": "接收导入订阅者的 Flashduty 目标状态页 ID。"
          }
        }
      },
      "MigrateStatusPageStructureRequest": {
        "type": "object",
        "description": "启动 Atlassian Statuspage 结构与历史迁移任务所需的参数。",
        "required": [
          "api_key",
          "source_page_id"
        ],
        "properties": {
          "api_key": {
            "type": "string",
            "description": "可访问源状态页的 Atlassian Statuspage API Key。"
          },
          "source_page_id": {
            "type": "string",
            "description": "Atlassian Statuspage 源状态页 ID。"
          },
          "url_name": {
            "type": [
              "string",
              "null"
            ],
            "description": "新状态页的目标 URL 名称，会被规范化为 URL 安全的别名（最长 255 字符）。省略或传 null 时根据源状态页名称生成；显式传空字符串会被拒绝。",
            "maxLength": 255
          }
        }
      },
      "NotifyChat": {
        "type": "object",
        "description": "群聊通知投递记录。",
        "properties": {
          "data_source_id": {
            "type": "integer",
            "format": "int64",
            "description": "发送通知所用的集成数据源 ID。"
          },
          "chat_id": {
            "type": "string",
            "description": "群聊 ID。"
          },
          "chat_name": {
            "type": "string",
            "description": "群聊显示名称。"
          },
          "failed_reason": {
            "type": "string",
            "description": "投递失败原因。"
          }
        }
      },
      "NotifyPerson": {
        "type": "object",
        "description": "个人通知投递记录。",
        "properties": {
          "person_id": {
            "type": "integer",
            "format": "int64",
            "description": "接收人成员 ID。"
          },
          "failed_reason": {
            "type": "string",
            "description": "投递失败原因。"
          },
          "sms_content": {
            "type": "string",
            "description": "短信投递时发送的短信内容。"
          }
        }
      },
      "NotifyRobot": {
        "type": "object",
        "description": "机器人 webhook 通知投递记录。",
        "properties": {
          "token": {
            "type": "string",
            "description": "机器人 token 或标识。"
          },
          "alias": {
            "type": "string",
            "description": "机器人别名。"
          },
          "failed_reason": {
            "type": "string",
            "description": "投递失败原因。"
          }
        }
      },
      "OnceTimeFilter": {
        "type": "object",
        "description": "以 Unix 秒定义的一次性时间窗口。",
        "required": [
          "start_time",
          "end_time"
        ],
        "properties": {
          "start_time": {
            "type": "integer",
            "format": "int64",
            "description": "窗口起始时间（Unix 秒），必须大于 0 且小于 `end_time`。",
            "exclusiveMinimum": 0
          },
          "end_time": {
            "type": "integer",
            "format": "int64",
            "description": "窗口结束时间（Unix 秒），必须大于 0。",
            "exclusiveMinimum": 0
          }
        }
      },
      "OrFilterGroup": {
        "type": "array",
        "description": "OR-of-AND 过滤树。外层数组为 AND 组列表，任意一个 AND 组匹配即通过；AND 组内所有条件须同时满足。",
        "items": {
          "type": "array",
          "description": "AND 组——组内所有条件须同时满足。",
          "items": {
            "$ref": "#/components/schemas/FilterCondition"
          }
        }
      },
      "PastIncidentItem": {
        "allOf": [
          {
            "$ref": "#/components/schemas/IncidentInfo"
          },
          {
            "type": "object",
            "required": [
              "score"
            ],
            "properties": {
              "score": {
                "type": "number",
                "format": "float",
                "description": "向量检索返回的相似度分值。"
              }
            }
          }
        ]
      },
      "PersonShort": {
        "type": "object",
        "description": "Flashduty 成员信息。",
        "properties": {
          "person_id": {
            "type": "integer",
            "format": "int64",
            "description": "成员 ID。"
          },
          "person_name": {
            "type": "string",
            "description": "成员显示名称。"
          },
          "email": {
            "type": "string",
            "format": "email",
            "description": "成员邮箱。"
          },
          "as": {
            "type": "string",
            "description": "成员在当前上下文中的角色标签。"
          }
        }
      },
      "PostMortemContentResetResponse": {
        "type": "object",
        "description": "故障复盘正文完整重置成功后的结果。",
        "required": [
          "post_mortem_id",
          "generation",
          "revision",
          "previous_generation",
          "previous_revision",
          "markdown_bytes",
          "markdown_sha256"
        ],
        "properties": {
          "post_mortem_id": {
            "type": "string",
            "description": "已重置的故障复盘报告 ID。"
          },
          "generation": {
            "type": "integer",
            "format": "int64",
            "description": "重置后的协作文档新 generation。"
          },
          "revision": {
            "type": "integer",
            "format": "int64",
            "description": "重置后的正文新修订版本。"
          },
          "previous_generation": {
            "type": "integer",
            "format": "int64",
            "description": "重置前的协作文档 generation。"
          },
          "previous_revision": {
            "type": "integer",
            "format": "int64",
            "description": "重置前的正文修订版本。"
          },
          "markdown_bytes": {
            "type": "integer",
            "format": "int64",
            "description": "服务端接受的 Markdown 内容 UTF-8 字节数。"
          },
          "markdown_sha256": {
            "type": "string",
            "description": "服务端接受的 Markdown 内容 SHA-256 十六进制摘要。"
          }
        }
      },
      "PostMortemItem": {
        "type": "object",
        "description": "完整复盘报告，包含基础信息、正文与跟进项。",
        "required": [
          "meta",
          "basics",
          "content",
          "follow_ups"
        ],
        "properties": {
          "meta": {
            "$ref": "#/components/schemas/PostMortemMeta"
          },
          "basics": {
            "type": "object",
            "required": [
              "incidents_highest_severity",
              "incidents_earliest_start_seconds",
              "incidents_latest_close_seconds",
              "incidents_total_duration_seconds",
              "responders"
            ],
            "properties": {
              "incidents_highest_severity": {
                "type": "string",
                "description": "关联故障的最高严重程度。"
              },
              "incidents_earliest_start_seconds": {
                "type": "integer",
                "format": "int64",
                "description": "关联故障中最早的开始时间（秒）。"
              },
              "incidents_latest_close_seconds": {
                "type": "integer",
                "format": "int64",
                "description": "关联故障中最晚的关闭时间（秒）。"
              },
              "incidents_total_duration_seconds": {
                "type": "integer",
                "format": "int64",
                "description": "累计持续时长（秒）。"
              },
              "responders": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Responder"
                },
                "description": "参与处理的成员。"
              }
            },
            "description": "由关联故障自动汇总的基础信息：最高严重程度、最早开始/最晚关闭时间、累计持续时长与参与人。"
          },
          "content": {
            "type": "object",
            "required": [
              "content"
            ],
            "properties": {
              "content": {
                "type": "string",
                "description": "正文内容（BlockNote JSON）。"
              }
            },
            "description": "复盘正文，对象内仅含一个 `content` 字段，值为 BlockNote JSON 字符串。"
          },
          "follow_ups": {
            "type": "string",
            "description": "跟进行动项，单字符串表示。"
          }
        }
      },
      "PostMortemMeta": {
        "type": "object",
        "description": "复盘报告元信息（列表中使用的精简结构）。",
        "required": [
          "account_id",
          "title",
          "status",
          "post_mortem_id",
          "template_id",
          "incident_ids",
          "media_count",
          "author_ids",
          "team_id",
          "channel_id",
          "is_private",
          "generation",
          "revision",
          "channel_name",
          "created_at_seconds",
          "updated_at_seconds"
        ],
        "properties": {
          "account_id": {
            "type": "integer",
            "format": "int64",
            "description": "账号 ID。"
          },
          "title": {
            "type": "string",
            "description": "复盘标题。"
          },
          "status": {
            "type": "string",
            "enum": [
              "drafting",
              "published"
            ],
            "description": "复盘状态。`drafting` 草稿中，可继续编辑；`published` 已发布。"
          },
          "post_mortem_id": {
            "type": "string",
            "description": "按账号和故障 ID 确定性派生的复盘报告 ID。"
          },
          "template_id": {
            "type": "string",
            "description": "初始化时使用的模板 ID。"
          },
          "incident_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "关联的故障 ID 列表。"
          },
          "media_count": {
            "type": "integer",
            "description": "已上传的媒体文件数量。"
          },
          "author_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "贡献过该复盘的成员 ID 列表。"
          },
          "team_id": {
            "type": "integer",
            "format": "int64",
            "description": "所属团队 ID，为 0 表示无。"
          },
          "channel_id": {
            "type": "integer",
            "format": "int64",
            "description": "所属协作空间 ID，为 0 表示无。"
          },
          "is_private": {
            "type": "boolean",
            "description": "为 true 时仅团队成员和管理员可查看。"
          },
          "generation": {
            "type": "integer",
            "format": "int64",
            "description": "协作文档代次。每次正文完整重置（content/reset）+1；存量旧文档为 0。"
          },
          "revision": {
            "type": "integer",
            "format": "int64",
            "description": "正文乐观并发修订号，全局单调递增；协作保存和正文重置都会使其递增。"
          },
          "channel_name": {
            "type": "string",
            "description": "协作空间名称，由服务端填充。"
          },
          "created_at_seconds": {
            "type": "integer",
            "format": "int64",
            "description": "创建时间戳（秒）。"
          },
          "updated_at_seconds": {
            "type": "integer",
            "format": "int64",
            "description": "最后更新时间戳（秒）。"
          }
        }
      },
      "RemoveIncidentRequest": {
        "type": "object",
        "description": "永久删除故障的参数。",
        "required": [
          "incident_ids"
        ],
        "properties": {
          "incident_ids": {
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "maxItems": 100,
            "description": "待删除的故障 ID 列表，单次最多 100 条。调用方必须拥有所有故障所在协作空间的访问权限。",
            "minItems": 1
          }
        }
      },
      "ReopenIncidentRequest": {
        "type": "object",
        "description": "重新打开故障的参数。",
        "required": [
          "incident_ids"
        ],
        "properties": {
          "incident_ids": {
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "maxItems": 100,
            "description": "待重开的故障 ID 列表，单次最多 100 条。",
            "minItems": 1
          },
          "reason": {
            "type": "string",
            "maxLength": 1024,
            "description": "可选，记录到时间线的重开原因。"
          }
        }
      },
      "ResetIncidentFieldRequest": {
        "type": "object",
        "description": "更新故障自定义字段值的参数。",
        "required": [
          "incident_id",
          "field_name"
        ],
        "properties": {
          "incident_id": {
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "故障 ID（MongoDB ObjectID）。"
          },
          "field_name": {
            "type": "string",
            "description": "自定义字段名称，必须与账号下定义的字段匹配。"
          },
          "field_value": {
            "description": "字段新值，类型需与字段定义一致。"
          }
        }
      },
      "ResolveIncidentRequest": {
        "type": "object",
        "description": "恢复故障的参数。",
        "required": [
          "incident_ids"
        ],
        "properties": {
          "incident_ids": {
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "maxItems": 100,
            "description": "待恢复的故障 ID 列表，单次最多 100 条。",
            "minItems": 1
          },
          "root_cause": {
            "type": [
              "string",
              "null"
            ],
            "maxLength": 1024,
            "description": "可选，应用到所有故障的根因说明。"
          },
          "resolution": {
            "type": [
              "string",
              "null"
            ],
            "maxLength": 1024,
            "description": "可选，应用到所有故障的解决方案说明。"
          },
          "description": {
            "type": [
              "string",
              "null"
            ],
            "maxLength": 6144,
            "description": "新的故障描述，最多 6,144 个字符。提供后会在故障关闭前替换当前描述。"
          },
          "custom_fields": {
            "$ref": "#/components/schemas/CustomFieldValues",
            "description": "解决表单的自定义字段值。允许的字段和值取决于该故障当前可见的表单。"
          },
          "images": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IncidentActionImage"
            },
            "description": "附加到解决故障时间线记录的图片。"
          },
          "summary": {
            "type": "string",
            "description": "写入时间线评论的表单摘要。仅在解决表单包含摘要元素时接受。"
          }
        }
      },
      "Responder": {
        "type": "object",
        "description": "故障处理人员，包含指派与认领时间戳。",
        "required": [
          "person_id",
          "assigned_at",
          "acknowledged_at"
        ],
        "properties": {
          "person_id": {
            "type": "integer",
            "format": "int64",
            "description": "处理人员成员 ID。"
          },
          "assigned_at": {
            "type": "integer",
            "format": "int64",
            "description": "被指派时的 Unix 时间戳（秒）。"
          },
          "acknowledged_at": {
            "type": "integer",
            "format": "int64",
            "description": "认领故障的 Unix 时间戳（秒），未认领时为 0。"
          },
          "person_name": {
            "type": "string",
            "description": "成员名称，由服务端填充。"
          },
          "email": {
            "type": "string",
            "format": "email",
            "description": "成员邮箱，由服务端填充。"
          },
          "as": {
            "type": "string",
            "description": "处理人员角色标签。"
          }
        }
      },
      "ResponderInsightItem": {
        "allOf": [
          {
            "$ref": "#/components/schemas/MetricsBase"
          },
          {
            "type": "object",
            "description": "按单个处理人员聚合的故障指标。",
            "properties": {
              "total_incident_cnt": {
                "type": "integer",
                "format": "int64",
                "description": "该处理人员参与的故障数。"
              },
              "total_incidents_acknowledged": {
                "type": "integer",
                "format": "int64",
                "description": "该人员认领过的故障数。"
              },
              "total_incidents_reassigned": {
                "type": "integer",
                "format": "int64",
                "description": "该人员被改派的故障数。"
              },
              "total_incidents_escalated": {
                "type": "integer",
                "format": "int64",
                "description": "该人员的故障中发生过升级的故障数。"
              },
              "total_incidents_timeout_escalated": {
                "type": "integer",
                "format": "int64",
                "description": "该人员的故障中超时升级的故障数。"
              },
              "total_incidents_manually_escalated": {
                "type": "integer",
                "format": "int64",
                "description": "该人员的故障中手动升级的故障数。"
              },
              "total_interruptions": {
                "type": "integer",
                "format": "int64",
                "description": "该人员的打扰次数：通过 App 推送、短信、电话语音发送的通知次数，60 秒内的连续通知合并计为一次。"
              },
              "total_notifications": {
                "type": "integer",
                "format": "int64",
                "description": "发给该人员的通知总次数。"
              },
              "total_engaged_seconds": {
                "type": "integer",
                "format": "int64",
                "description": "该人员的处理耗时总和（秒）：各故障的「关闭时间 − 本人认领时间」之和。"
              },
              "total_seconds_to_ack": {
                "type": "integer",
                "format": "int64",
                "description": "该人员的认领耗时总和（秒）：各故障的「认领时间 − 分派时间」之和。"
              },
              "mean_seconds_to_ack": {
                "type": "number",
                "format": "double",
                "description": "该响应人的平均认领耗时（秒）；无认领记录时为 0。"
              },
              "acknowledgement_pct": {
                "type": "number",
                "format": "double",
                "description": "该响应人的认领率（%）：已认领故障数 ÷ 涉及故障数 × 100，保留两位小数且不超过 100；无故障时为 0。"
              }
            }
          }
        ]
      },
      "ResponderInsightResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ResponderInsightItem"
            },
            "description": "按处理人员聚合的故障响应指标行；启用 `split_hours` 或 `aggregate_unit` 时会进一步按时段或时间桶拆分。"
          }
        }
      },
      "RouteCase": {
        "type": "object",
        "description": "路由规则中的单个 case 分支。当其全部条件命中后,告警将分发到所配置的协作空间。",
        "required": [
          "if"
        ],
        "properties": {
          "if": {
            "type": "array",
            "description": "匹配条件列表,条件之间为 AND 关系。",
            "items": {
              "$ref": "#/components/schemas/RouteMatchCondition"
            }
          },
          "channel_ids": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "目标协作空间 ID。当 `routing_mode` 为 `standard`（或为空）时必填；`name_mapping` 模式下返回 `null`。"
          },
          "fallthrough": {
            "type": "boolean",
            "description": "为 `true` 时,本 case 命中后继续向下匹配;为 `false` 则在首次命中后停止。"
          },
          "routing_mode": {
            "type": "string",
            "enum": [
              "standard",
              "name_mapping"
            ],
            "description": "路由模式。`standard`（默认，留空时亦按此处理）按固定的协作空间 ID 路由；`name_mapping` 通过读取告警事件中某个标签的值来动态匹配协作空间名称。"
          },
          "name_mapping_label": {
            "type": "string",
            "description": "用作目标协作空间名的标签键。当 `routing_mode` 为 `name_mapping` 时必填。"
          }
        }
      },
      "RouteDefault": {
        "type": "object",
        "description": "默认分支。当所有 case 均未命中(或命中的 case 没有有效协作空间)时使用。",
        "properties": {
          "channel_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "兜底使用的协作空间 ID 列表。"
          }
        }
      },
      "RouteInfoRequest": {
        "type": "object",
        "description": "查询单个集成路由规则所需的参数。",
        "required": [
          "integration_id"
        ],
        "properties": {
          "integration_id": {
            "type": "integer",
            "format": "int64",
            "description": "集成 ID,必须大于 0。",
            "exclusiveMinimum": 0
          }
        }
      },
      "RouteItem": {
        "type": "object",
        "description": "集成的路由规则。告警按 `cases` 顺序依次匹配，未命中的将进入 `default` 分支。当集成未配置规则时返回 `null`。",
        "required": [
          "version",
          "updated_by",
          "creator_id"
        ],
        "properties": {
          "integration_id": {
            "type": "integer",
            "format": "int64",
            "description": "所属集成 ID。"
          },
          "cases": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RouteCase"
            },
            "description": "有序的 case 分支列表。"
          },
          "sections": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RouteSection"
            },
            "description": "可选的分区,用于将多个 case 进行视觉分组。"
          },
          "default": {
            "$ref": "#/components/schemas/RouteDefault"
          },
          "status": {
            "type": "string",
            "enum": [
              "enabled",
              "deleted"
            ],
            "description": "规则状态。`enabled` 生效中；`deleted` 已删除，仅在历史版本中可见。"
          },
          "version": {
            "type": "integer",
            "format": "int64",
            "description": "单调递增的版本号,每次更新加 1,可用于乐观并发控制。"
          },
          "updated_by": {
            "type": "integer",
            "format": "int64",
            "description": "最后一次修改人员 ID。"
          },
          "creator_id": {
            "type": "integer",
            "format": "int64",
            "description": "创建人员 ID。"
          },
          "deleted_at": {
            "type": "integer",
            "format": "int64",
            "description": "软删除时间戳（Unix 秒）。规则有效时不返回此字段。"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "description": "创建时间,Unix 秒级时间戳。"
          },
          "updated_at": {
            "type": "integer",
            "format": "int64",
            "description": "最后更新时间,Unix 秒级时间戳。"
          }
        }
      },
      "RouteMatchCondition": {
        "type": "object",
        "description": "单个匹配条件。同一 case 内的所有条件之间为 AND 关系。",
        "required": [
          "key",
          "oper",
          "vals"
        ],
        "properties": {
          "key": {
            "type": "string",
            "description": "用于与告警事件比对的字段键(如 `alert_severity`、`labels.service`)。"
          },
          "oper": {
            "type": "string",
            "enum": [
              "IN",
              "NOTIN"
            ],
            "description": "匹配运算符。`IN` 表示字段值命中 `vals` 中任一项;`NOTIN` 表示均不命中。"
          },
          "vals": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "用于比对的值列表。每项支持字面量、通配符（`*`、`?`）、以斜杠包裹的正则表达式（`/pattern/`）、CIDR（`cidr:10.0.0.0/8`）以及数值比较（`num:lt:100`）。"
          }
        }
      },
      "RouteSection": {
        "type": "object",
        "description": "用于将连续的多个 case 在视觉上分组的逻辑分区。",
        "required": [
          "name",
          "position"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "分区名称,在同一规则内必须唯一。"
          },
          "position": {
            "type": "integer",
            "description": "分区在 `cases` 中的起始下标,取值范围为 0 到 `cases` 长度。"
          }
        }
      },
      "RuleCreateResponse": {
        "type": "object",
        "required": [
          "rule_id",
          "rule_name"
        ],
        "properties": {
          "rule_id": {
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "新建规则的 ID（MongoDB ObjectID）。"
          },
          "rule_name": {
            "type": "string",
            "description": "请求中回显的规则名称。"
          }
        }
      },
      "ScheduleCalculatedLayer": {
        "type": "object",
        "description": "单个分层的计算结果。",
        "required": [
          "layer_name",
          "name",
          "mode",
          "schedules"
        ],
        "properties": {
          "layer_name": {
            "type": "string",
            "description": "分层显示名称。"
          },
          "name": {
            "type": "string",
            "description": "分层内部名称。"
          },
          "mode": {
            "type": "integer",
            "description": "分层模式：0 = 普通轮转，1 = 覆盖。"
          },
          "schedules": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "$ref": "#/components/schemas/ScheduleCalculatedSchedule"
            },
            "description": "计算出的班次；该层无排班时为 null。"
          }
        }
      },
      "ScheduleCalculatedSchedule": {
        "type": "object",
        "description": "分层内计算出的值班时段。",
        "required": [
          "start",
          "end",
          "group",
          "index"
        ],
        "properties": {
          "start": {
            "type": "integer",
            "format": "int64",
            "description": "时段开始时间（Unix 秒）。"
          },
          "end": {
            "type": "integer",
            "format": "int64",
            "description": "时段结束时间（Unix 秒）。"
          },
          "group": {
            "$ref": "#/components/schemas/ScheduleGroup",
            "description": "覆盖该班次的值班组；null 表示覆盖空档。"
          },
          "index": {
            "type": "integer",
            "description": "轮转内索引。"
          }
        }
      },
      "ScheduleDayMask": {
        "type": "object",
        "description": "按星期几生效的掩码配置。",
        "properties": {
          "repeat": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "integer",
              "minimum": 0,
              "maximum": 6
            },
            "description": "参与轮转的星期数（0 = 周日）。与 restrict_mode = 2（按周）互斥。"
          }
        }
      },
      "ScheduleEmptyObject": {
        "type": "object",
        "description": "空响应。",
        "properties": {}
      },
      "ScheduleFixedTimeNotifyInfo": {
        "type": "object",
        "description": "固定时间通知配置。",
        "required": [
          "cycle",
          "start"
        ],
        "properties": {
          "cycle": {
            "type": "string",
            "description": "通知周期：`day` 每天发送；`week` 在 `days` 列出的星期发送；`month` 在 `days` 列出的每月日期发送。",
            "enum": [
              "day",
              "week",
              "month"
            ]
          },
          "start": {
            "type": "string",
            "description": "发送时间，格式 `HH:MM`（24 小时制）。"
          },
          "days": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "通知发送日，按值班表时区的墙钟计算。`week` 为星期几（0-6，0 表示周日）；`month` 为每月第几日（1-31，当月没有该日则跳过）。`cycle` 为 `week` 或 `month` 时必填，为 `day` 时忽略。"
          }
        }
      },
      "ScheduleGroup": {
        "type": "object",
        "description": "值班分层内的值班组。",
        "required": [
          "group_name",
          "name",
          "members",
          "start",
          "end"
        ],
        "properties": {
          "group_name": {
            "type": [
              "string",
              "null"
            ],
            "description": "值班组显示名称，仅设置旧字段 name 时为 null。"
          },
          "name": {
            "type": "string",
            "description": "值班组内部名称。"
          },
          "members": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ScheduleMember"
            },
            "description": "值班组成员。"
          },
          "start": {
            "type": "integer",
            "format": "int64",
            "description": "值班组开始时间（Unix 秒）。"
          },
          "end": {
            "type": "integer",
            "format": "int64",
            "description": "值班组结束时间（Unix 秒）。"
          }
        }
      },
      "ScheduleIDResponse": {
        "type": "object",
        "description": "创建值班表后返回的 ID 响应。",
        "required": [
          "schedule_id"
        ],
        "properties": {
          "schedule_id": {
            "type": "integer",
            "format": "int64",
            "description": "新建值班表的 ID。"
          }
        }
      },
      "ScheduleIDsBodyRequest": {
        "type": "object",
        "description": "携带值班表 ID 列表的请求体（删除/启用/禁用使用）。",
        "required": [
          "schedule_ids"
        ],
        "properties": {
          "schedule_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "要操作的值班表 ID 列表，可通过 `POST /schedule/list` 获取。"
          }
        }
      },
      "ScheduleIDsRequest": {
        "type": "object",
        "description": "批量查询值班表使用的请求体。",
        "required": [
          "schedule_ids"
        ],
        "properties": {
          "schedule_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "值班表 ID 列表，可通过 `POST /schedule/list` 获取。"
          }
        }
      },
      "ScheduleImNotify": {
        "type": "object",
        "description": "IM Webhook 通知条目。",
        "required": [
          "type",
          "settings"
        ],
        "properties": {
          "type": {
            "type": "string",
            "description": "IM 提供方类型（如 feishu_app、dingtalk_app、wecom_app、teams_app、slack_app）。"
          },
          "settings": {
            "$ref": "#/components/schemas/ScheduleImNotifySettings",
            "description": "Webhook 渠道配置。"
          }
        }
      },
      "ScheduleImNotifySettings": {
        "type": "object",
        "description": "IM Webhook 通知通道配置。",
        "required": [
          "token",
          "alias",
          "data_source_id",
          "chat_ids",
          "verify_token",
          "sign_secret"
        ],
        "properties": {
          "token": {
            "type": "string",
            "description": "Webhook token。"
          },
          "alias": {
            "type": "string",
            "description": "通道别名。"
          },
          "data_source_id": {
            "type": "integer",
            "format": "int64",
            "description": "数据源 ID。"
          },
          "chat_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "会话 ID 列表。"
          },
          "verify_token": {
            "type": "string",
            "description": "验签 token。"
          },
          "sign_secret": {
            "type": "string",
            "description": "签名密钥。"
          }
        }
      },
      "ScheduleInfoRequest": {
        "type": "object",
        "description": "值班表详情请求。start/end 指定计算值班分层的时间窗口，跨度必须小于 45 天。",
        "required": [
          "schedule_id",
          "start",
          "end"
        ],
        "properties": {
          "schedule_id": {
            "type": "integer",
            "format": "int64",
            "description": "值班表 ID，可通过 `POST /schedule/list` 获取。"
          },
          "start": {
            "type": "integer",
            "format": "int64",
            "description": "窗口开始时间（Unix 秒，10 位）。"
          },
          "end": {
            "type": "integer",
            "format": "int64",
            "description": "窗口结束时间（Unix 秒，10 位）。"
          }
        }
      },
      "ScheduleItem": {
        "type": "object",
        "description": "/schedule/info、/schedule/preview、/schedule/list 返回的完整值班表详情。",
        "required": [
          "id",
          "name",
          "account_id",
          "group_id",
          "disabled",
          "create_at",
          "create_by",
          "update_at",
          "update_by",
          "layers",
          "schedule_layers",
          "final_schedule",
          "notify",
          "schedule_id",
          "schedule_name",
          "team_id",
          "description",
          "layer_schedules",
          "status",
          "cur_oncall",
          "next_oncall"
        ],
        "properties": {
          "id": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64",
            "description": "值班表 ID。/schedule/preview 返回时为 null。"
          },
          "name": {
            "type": [
              "string",
              "null"
            ],
            "description": "旧版值班表名称字段（与 schedule_name 同义）。/schedule/preview 返回时为 null。"
          },
          "account_id": {
            "type": "integer",
            "format": "int64",
            "description": "账户 ID。"
          },
          "group_id": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64",
            "description": "旧版团队/组 ID。/schedule/preview 返回时为 null。"
          },
          "disabled": {
            "type": [
              "integer",
              "null"
            ],
            "description": "禁用标记（0 = 启用，1 = 禁用），已废弃。/schedule/preview 返回时为 null。"
          },
          "create_at": {
            "type": "integer",
            "format": "int64",
            "description": "创建时间（Unix 秒）。"
          },
          "create_by": {
            "type": "integer",
            "format": "int64",
            "description": "创建人 ID。"
          },
          "update_at": {
            "type": "integer",
            "format": "int64",
            "description": "更新时间（Unix 秒）。"
          },
          "update_by": {
            "type": "integer",
            "format": "int64",
            "description": "更新人 ID。"
          },
          "layers": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "$ref": "#/components/schemas/ScheduleLayer"
            },
            "description": "值班表定义的轮转层。未加载层信息时为 null（例如 `/schedule/infos`，或未传 start/end 的 `/schedule/list`）。"
          },
          "field": {
            "type": "string",
            "description": "旧版字段更新接口使用的字段名。"
          },
          "schedule_layers": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "$ref": "#/components/schemas/ScheduleCalculatedLayer"
            },
            "description": "按请求时间窗口计算出的各层排班，未计算时为 null。"
          },
          "final_schedule": {
            "$ref": "#/components/schemas/ScheduleCalculatedLayer",
            "description": "所有分层合并后的最终值班结果。"
          },
          "start": {
            "type": "integer",
            "format": "int64",
            "description": "时间窗口开始（Unix 秒）。为 0（未请求窗口）时省略。"
          },
          "end": {
            "type": "integer",
            "format": "int64",
            "description": "时间窗口结束（Unix 秒）。为 0（未请求窗口）时省略。"
          },
          "notify": {
            "$ref": "#/components/schemas/ScheduleNotify",
            "description": "通知配置，未配置时为 null。"
          },
          "schedule_id": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64",
            "description": "值班表 ID。`/schedule/preview` 返回时为 null。"
          },
          "schedule_name": {
            "type": [
              "string",
              "null"
            ],
            "description": "值班表显示名称。/schedule/preview 返回时为 null。"
          },
          "team_id": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64",
            "description": "所属团队 ID。/schedule/preview 返回时为 null。"
          },
          "description": {
            "type": [
              "string",
              "null"
            ],
            "description": "值班表描述。/schedule/preview 返回时为 null。"
          },
          "layer_schedules": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "$ref": "#/components/schemas/ScheduleCalculatedLayer"
            },
            "description": "schedule_layers 的兼容别名，未计算时为 null。"
          },
          "status": {
            "type": [
              "integer",
              "null"
            ],
            "description": "旧版状态字段，已废弃。/schedule/preview 返回时为 null。"
          },
          "cur_oncall": {
            "$ref": "#/components/schemas/ScheduleOncallGroup",
            "description": "当前正在值班的组，无人值班时为 null。"
          },
          "next_oncall": {
            "$ref": "#/components/schemas/ScheduleOncallGroup",
            "description": "下一次值班的组，未知时为 null。"
          }
        }
      },
      "ScheduleLayer": {
        "type": "object",
        "description": "值班表中的单个分层。",
        "required": [
          "account_id",
          "name",
          "schedule_id",
          "hidden",
          "mode",
          "weight",
          "groups",
          "rotation_duration",
          "handoff_time",
          "enable_time",
          "expire_time",
          "restrict_mode",
          "restrict_start",
          "restrict_end",
          "restrict_periods",
          "day_mask",
          "create_at",
          "create_by",
          "update_at",
          "update_by",
          "fair_rotation",
          "rotation_unit",
          "rotation_value",
          "mask_continuous_enabled"
        ],
        "properties": {
          "account_id": {
            "type": "integer",
            "format": "int64",
            "description": "账户 ID。"
          },
          "name": {
            "type": "string",
            "description": "分层内部名称。"
          },
          "schedule_id": {
            "type": "integer",
            "format": "int64",
            "description": "所属值班表 ID。"
          },
          "hidden": {
            "type": "integer",
            "description": "是否在页面上隐藏（0 = 否，1 = 是）。"
          },
          "mode": {
            "type": "integer",
            "description": "分层模式：0 = 普通轮转，1 = 覆盖。",
            "enum": [
              0,
              1
            ]
          },
          "weight": {
            "type": "integer",
            "description": "分层权重，用于排序。"
          },
          "groups": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "$ref": "#/components/schemas/ScheduleGroup"
            },
            "description": "参与轮转的值班组，未设置时为 null。"
          },
          "rotation_duration": {
            "type": "integer",
            "format": "int64",
            "description": "轮转周期（秒）。"
          },
          "handoff_time": {
            "type": "integer",
            "format": "int64",
            "description": "轮转交接时间，以一周内的秒数偏移表示（星期 x 86400 + 当日秒数），不是 Unix 绝对时间戳。"
          },
          "enable_time": {
            "type": "integer",
            "format": "int64",
            "description": "分层生效时间（Unix 秒）。"
          },
          "expire_time": {
            "type": "integer",
            "format": "int64",
            "description": "分层失效时间（Unix 秒，0 表示永不过期）。"
          },
          "restrict_mode": {
            "type": "integer",
            "description": "限制模式：0 = 不限制，1 = day，2 = week。",
            "enum": [
              0,
              1,
              2
            ]
          },
          "restrict_start": {
            "type": "integer",
            "format": "int64",
            "description": "旧版限制区间开始偏移（秒）。"
          },
          "restrict_end": {
            "type": "integer",
            "format": "int64",
            "description": "旧版限制区间结束偏移（秒）。"
          },
          "restrict_periods": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "$ref": "#/components/schemas/ScheduleRestrictPeriod"
            },
            "description": "每个轮转周期内的限制时段，未设置时为 null。"
          },
          "day_mask": {
            "$ref": "#/components/schemas/ScheduleDayMask",
            "description": "星期掩码。"
          },
          "create_at": {
            "type": "integer",
            "format": "int64",
            "description": "创建时间（Unix 秒）。"
          },
          "create_by": {
            "type": "integer",
            "format": "int64",
            "description": "创建人 ID。"
          },
          "update_at": {
            "type": "integer",
            "format": "int64",
            "description": "更新时间（Unix 秒）。"
          },
          "update_by": {
            "type": "integer",
            "format": "int64",
            "description": "更新人 ID。"
          },
          "layer_name": {
            "type": [
              "string",
              "null"
            ],
            "description": "面向用户的层名称，未设置时为 null。"
          },
          "fair_rotation": {
            "type": "boolean",
            "description": "是否启用公平轮转。"
          },
          "layer_start": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64",
            "description": "层生效时间（Unix 秒），未设置时为 null。"
          },
          "layer_end": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64",
            "description": "分层结束时间（Unix 秒）。null 表示无结束时间。"
          },
          "rotation_unit": {
            "type": "string",
            "description": "轮转单位。值班人按该单位依次轮换。\n| 值 | 含义 |\n|---|---|\n| `hour` | 按小时轮转。 |\n| `day` | 按天轮转。 |\n| `week` | 按周轮转。 |\n| `month` | 按月轮转。 |",
            "enum": [
              "hour",
              "day",
              "week",
              "month"
            ]
          },
          "rotation_value": {
            "type": "integer",
            "format": "int64",
            "description": "轮转数量（每周期的 rotation_unit 个数）。",
            "minimum": 0
          },
          "mask_continuous_enabled": {
            "type": "boolean",
            "description": "是否启用连续掩码。"
          }
        }
      },
      "ScheduleListRequest": {
        "type": "object",
        "description": "值班表列表请求。limit 默认 10、最大 100，p 默认 1。is_my_team 与 is_my_manage 不能同时为 true。",
        "properties": {
          "query": {
            "type": "string",
            "description": "按值班表名称或描述匹配的关键字。"
          },
          "p": {
            "type": "integer",
            "description": "页码（从 1 开始）。",
            "default": 1
          },
          "limit": {
            "type": "integer",
            "description": "每页条数，默认 10、最大 100。",
            "default": 10,
            "maximum": 100
          },
          "is_my_team": {
            "type": "boolean",
            "description": "仅返回当前用户所在团队的值班表。"
          },
          "is_my_manage": {
            "type": "boolean",
            "description": "仅返回当前用户在其团队内创建的值班表。"
          },
          "team_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "按团队 ID 过滤。"
          },
          "start": {
            "type": "integer",
            "format": "int64",
            "description": "与 end 同时传入时，响应会包含计算后的分层值班结果；跨度必须小于 45 天。"
          },
          "end": {
            "type": "integer",
            "format": "int64",
            "description": "窗口结束时间（Unix 秒）。"
          }
        }
      },
      "ScheduleListResponse": {
        "type": "object",
        "description": "值班表列表响应。",
        "required": [
          "items",
          "total"
        ],
        "properties": {
          "items": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "$ref": "#/components/schemas/ScheduleItem"
            },
            "description": "当前页的值班表；无匹配时为 null。"
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "description": "符合过滤条件的总条数。"
          }
        }
      },
      "ScheduleMember": {
        "type": "object",
        "description": "值班组内成员条目。",
        "required": [
          "role_id",
          "person_ids"
        ],
        "properties": {
          "role_id": {
            "type": "integer",
            "format": "int64",
            "description": "值班角色 ID。",
            "minimum": 0
          },
          "person_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "该角色下的用户 ID 列表。",
            "minItems": 1
          }
        }
      },
      "ScheduleNotify": {
        "type": "object",
        "description": "值班表的通知配置。",
        "required": [
          "fixed_time",
          "by",
          "webhooks"
        ],
        "properties": {
          "advance_in_time": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64",
            "description": "提前通知时间（秒）；为 `0` 时在排班开始时通知；不传则不发送提前通知。"
          },
          "fixed_time": {
            "$ref": "#/components/schemas/ScheduleFixedTimeNotifyInfo",
            "description": "定时通知配置，未配置时为 null。"
          },
          "by": {
            "$ref": "#/components/schemas/ScheduleNotifyBy",
            "description": "接收人通知偏好，未配置时为 null。"
          },
          "im": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "旧版 IM 类型到 token 的映射。"
          },
          "webhooks": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "$ref": "#/components/schemas/ScheduleImNotify"
            },
            "description": "IM Webhook 通知渠道，未配置时为 null。"
          }
        }
      },
      "ScheduleNotifyBy": {
        "type": "object",
        "description": "接收人的通知偏好。",
        "required": [
          "follow_preference",
          "personal_channels"
        ],
        "properties": {
          "follow_preference": {
            "type": "boolean",
            "description": "是否跟随个人通知偏好。"
          },
          "personal_channels": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "个人通知通道列表。"
          }
        }
      },
      "ScheduleOncallGroup": {
        "type": "object",
        "description": "当前或下一次值班组快照。",
        "required": [
          "start",
          "end",
          "group",
          "update_at",
          "weight",
          "index"
        ],
        "properties": {
          "start": {
            "type": "integer",
            "format": "int64",
            "description": "时段开始时间（Unix 秒）。"
          },
          "end": {
            "type": "integer",
            "format": "int64",
            "description": "时段结束时间（Unix 秒）。"
          },
          "group": {
            "$ref": "#/components/schemas/ScheduleGroup",
            "description": "该班次正在值班的值班组。"
          },
          "update_at": {
            "type": "integer",
            "format": "int64",
            "description": "更新时间（Unix 秒）。"
          },
          "weight": {
            "type": "integer",
            "description": "来源分层权重。"
          },
          "index": {
            "type": "integer",
            "description": "轮转内索引。"
          }
        }
      },
      "ScheduleRestrictPeriod": {
        "type": "object",
        "description": "轮转周期内的限制时段。restrict_start 与 restrict_end 为秒级偏移，除非都为 0，否则不能相等。",
        "required": [
          "restrict_start",
          "restrict_end"
        ],
        "properties": {
          "restrict_start": {
            "type": "integer",
            "format": "int64",
            "description": "限制区间开始偏移。"
          },
          "restrict_end": {
            "type": "integer",
            "format": "int64",
            "description": "限制区间结束偏移。"
          }
        }
      },
      "ScheduleSelfRequest": {
        "type": "object",
        "description": "查询当前用户值班表的参数。start 和 end 为必填的 10 位 Unix 秒级时间戳，时间窗口不得超过 45 天。",
        "properties": {
          "start": {
            "type": "integer",
            "format": "int64",
            "description": "时间窗口开始时间（Unix 秒，10 位），必填。"
          },
          "end": {
            "type": "integer",
            "format": "int64",
            "description": "时间窗口结束时间（Unix 秒，10 位），必填，与 start 的差值不得超过 45 天。"
          }
        },
        "required": [
          "start",
          "end"
        ]
      },
      "ScheduleSelfResponse": {
        "type": "object",
        "description": "/schedule/self 与 /schedule/infos 的响应，仅返回 items。",
        "required": [
          "items"
        ],
        "properties": {
          "items": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "$ref": "#/components/schemas/ScheduleItem"
            },
            "description": "分配给当前用户的值班表（或匹配请求 ID 的值班表）；无时为 null。"
          }
        }
      },
      "ScheduleUpsertRequest": {
        "type": "object",
        "description": "值班表创建/更新/预览请求体。服务端接受与值班表详情模型相同的结构，此处仅列出关键字段。创建时必填 `schedule_name`（或旧字段 `name`），更新时必填 `schedule_id`，预览时必填 `start` 和 `end`。",
        "properties": {
          "schedule_id": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64",
            "description": "值班表 ID，更新时必填，可通过 `POST /schedule/list` 获取。"
          },
          "schedule_name": {
            "type": [
              "string",
              "null"
            ],
            "description": "值班表显示名称，最长 40 字符。",
            "maxLength": 40
          },
          "name": {
            "type": [
              "string",
              "null"
            ],
            "description": "旧版名称字段，当 schedule_name 为空时使用。",
            "maxLength": 40
          },
          "description": {
            "type": [
              "string",
              "null"
            ],
            "description": "值班表描述，最长 500 字符。",
            "maxLength": 500
          },
          "team_id": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64",
            "description": "所属团队 ID，可通过 `POST /team/list` 获取。"
          },
          "layers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ScheduleLayer"
            },
            "description": "轮转分层。"
          },
          "notify": {
            "$ref": "#/components/schemas/ScheduleNotify",
            "description": "值班轮换通知配置。"
          },
          "start": {
            "type": "integer",
            "format": "int64",
            "description": "预览窗口开始时间（Unix 秒，10 位），/schedule/preview 必填。"
          },
          "end": {
            "type": "integer",
            "format": "int64",
            "description": "预览窗口结束时间（Unix 秒，10 位），/schedule/preview 必填，且距 start 不超过 45 天。"
          },
          "disabled": {
            "type": [
              "integer",
              "null"
            ],
            "description": "0 = 启用，1 = 禁用。缺省时为启用。"
          }
        }
      },
      "SilenceRuleItem": {
        "type": "object",
        "required": [
          "account_id",
          "channel_id",
          "rule_name",
          "description",
          "time_filters",
          "time_filter",
          "filters",
          "is_directly_discard",
          "status",
          "rule_id",
          "updated_by",
          "created_at",
          "updated_at",
          "is_effective"
        ],
        "properties": {
          "account_id": {
            "type": "integer",
            "format": "int64",
            "description": "规则所属账户 ID。"
          },
          "channel_id": {
            "type": "integer",
            "format": "int64",
            "description": "规则所属协作空间 ID。"
          },
          "rule_name": {
            "type": "string",
            "description": "规则名称。"
          },
          "description": {
            "type": "string",
            "description": "规则描述。"
          },
          "from_incident_id": {
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "策略关联的故障 ID。始终返回；零值 ObjectID `000000000000000000000000` 表示该策略并非从故障创建。"
          },
          "time_filters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TimeFilter"
            },
            "description": "周期性静默窗口。当策略使用一次性 `time_filter` 时为空。"
          },
          "time_filter": {
            "$ref": "#/components/schemas/OnceTimeFilter",
            "description": "一次性静默窗口。当策略使用周期性 `time_filters` 时，该字段以零值返回。"
          },
          "filters": {
            "$ref": "#/components/schemas/FilterGroup",
            "description": "告警事件匹配条件；命中的事件在时间窗口内被静默。"
          },
          "is_directly_discard": {
            "type": "boolean",
            "description": "为 true 时静默的告警直接丢弃，不会生成故障。"
          },
          "status": {
            "type": "string",
            "enum": [
              "enabled",
              "disabled"
            ],
            "description": "规则状态：`enabled` 启用，`disabled` 停用；已删除的规则不会出现在列表中。"
          },
          "rule_id": {
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "规则 ID（MongoDB ObjectID）。"
          },
          "updated_by": {
            "type": "integer",
            "format": "int64",
            "description": "最近一次更新该规则的用户 ID。"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "description": "创建时间，Unix 时间戳（秒）。"
          },
          "updated_at": {
            "type": "integer",
            "format": "int64",
            "description": "最近更新时间，Unix 时间戳（秒）。"
          },
          "is_effective": {
            "type": "boolean",
            "description": "策略的时间窗口是否覆盖当前时刻（按响应时刻计算）。"
          },
          "is_auto_delete": {
            "type": "boolean",
            "description": "为 true 时，静默规则在时间窗结束后会被自动删除；默认为 false。"
          },
          "deleted_at": {
            "type": "integer",
            "format": "int64",
            "description": "删除时间，Unix 秒时间戳。仅在策略被软删除时返回；已删除的策略不会出现在列表响应中。"
          }
        }
      },
      "SnoozeIncidentRequest": {
        "type": "object",
        "description": "暂停故障通知的参数。",
        "required": [
          "incident_ids",
          "minutes"
        ],
        "properties": {
          "incident_ids": {
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "maxItems": 100,
            "description": "待暂停的故障 ID 列表，单次最多 100 条。",
            "minItems": 1
          },
          "minutes": {
            "type": "integer",
            "format": "int64",
            "exclusiveMinimum": 0,
            "maximum": 43200,
            "description": "暂停时长（分钟），必须大于 0 且不超过 43,200（30 天）。"
          }
        }
      },
      "StatusPageChangeCreateResponse": {
        "type": "object",
        "description": "创建状态页事件的结果。",
        "required": [
          "change_id",
          "change_name"
        ],
        "properties": {
          "change_id": {
            "type": "integer",
            "format": "int64",
            "description": "新创建的事件 ID。"
          },
          "change_name": {
            "type": "string",
            "description": "事件标题（来自请求）。"
          }
        }
      },
      "StatusPageChangeItem": {
        "type": "object",
        "description": "状态页事件（故障或维护）。",
        "required": [
          "change_id",
          "type",
          "title"
        ],
        "properties": {
          "change_id": {
            "type": "integer",
            "format": "int64",
            "description": "事件 ID。"
          },
          "page_id": {
            "type": "integer",
            "format": "int64",
            "description": "所属状态页 ID。为 0 时不返回（已存储事件必有值）。"
          },
          "type": {
            "type": "string",
            "enum": [
              "incident",
              "maintenance"
            ],
            "description": "事件类型。`incident` 为非计划的故障事件；`maintenance` 为计划内的维护事件。类型决定可用的状态取值。"
          },
          "title": {
            "type": "string",
            "description": "事件标题。"
          },
          "description": {
            "type": "string",
            "description": "事件描述（Markdown）。为空时不返回。"
          },
          "status": {
            "type": "string",
            "enum": [
              "investigating",
              "identified",
              "monitoring",
              "resolved",
              "scheduled",
              "ongoing",
              "completed"
            ],
            "description": "事件当前状态。故障事件支持 `investigating`/`identified`/`monitoring`/`resolved`；维护事件支持 `scheduled`/`ongoing`/`completed`。为空时不返回（已存储事件必有值）。"
          },
          "affected_components": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AffectedStatusPageComponentItem"
            },
            "description": "当前受此事件影响的组件及其状态。无受影响组件时不返回。"
          },
          "responder_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "事件负责成员 ID 列表。未指派负责成员时不返回。"
          },
          "linked_change_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "关联的事件 ID 列表（相关故障、发布等）。为空时不返回。"
          },
          "start_at_seconds": {
            "type": "integer",
            "format": "int64",
            "description": "事件开始时间（Unix 秒），取自第一条时间线更新。为 0 时不返回。"
          },
          "close_at_seconds": {
            "type": "integer",
            "format": "int64",
            "description": "事件结束时间（Unix 秒）。维护事件为计划结束时间；已关闭事件为进入终态（`resolved`/`completed`）的时间。未设置时不返回。"
          },
          "is_retrospective": {
            "type": "boolean",
            "description": "是否为回溯（历史）事件。为 false 时不返回。"
          },
          "updates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StatusPageChangeUpdateItem"
            },
            "description": "事件的时间线更新列表，按时间排序。事件无时间线更新时不返回。"
          },
          "notify_subscribers": {
            "type": "boolean",
            "description": "创建本事件时是否通知订阅者。为 false 时不返回。"
          },
          "auto_update_by_schedule": {
            "type": "boolean",
            "description": "仅维护事件：是否按计划窗口自动推进状态。为 false 时不返回。"
          }
        }
      },
      "StatusPageChangeListResponse": {
        "type": "object",
        "description": "状态页事件列表。",
        "required": [
          "items"
        ],
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StatusPageChangeItem"
            },
            "description": "符合过滤条件的状态页事件（故障/维护）列表。"
          }
        }
      },
      "StatusPageChangeTimelineCreateResponse": {
        "type": "object",
        "description": "向状态页事件追加时间线更新的结果。",
        "required": [
          "update_id"
        ],
        "properties": {
          "update_id": {
            "type": "string",
            "description": "新创建的更新 ID。"
          }
        }
      },
      "StatusPageChangeUpdateItem": {
        "type": "object",
        "description": "状态页事件的单条时间线更新。",
        "required": [
          "update_id",
          "at_seconds"
        ],
        "properties": {
          "update_id": {
            "type": "string",
            "description": "更新 ID。"
          },
          "at_seconds": {
            "type": "integer",
            "format": "int64",
            "description": "更新时间戳（Unix 秒）。"
          },
          "status": {
            "type": "string",
            "enum": [
              "investigating",
              "identified",
              "monitoring",
              "resolved",
              "scheduled",
              "ongoing",
              "completed"
            ],
            "description": "本次更新后的事件状态。当更新不改变整体状态时省略。前四个值仅适用于 incident 类型，后三个仅适用于 maintenance 类型。\n| 值 | 含义 |\n|---|---|\n| `investigating` | 排查中（incident）。 |\n| `identified` | 已定位原因（incident）。 |\n| `monitoring` | 已修复，观察中（incident）。 |\n| `resolved` | 已解决（incident）。 |\n| `scheduled` | 已计划（maintenance）。 |\n| `ongoing` | 进行中（maintenance）。 |\n| `completed` | 已完成（maintenance）。 |"
          },
          "description": {
            "type": "string",
            "description": "更新说明（Markdown）。为空时不返回。"
          },
          "component_changes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StatusPageComponentChangeItem"
            },
            "description": "本次更新应用的组件状态变更。本次更新无组件状态变更时不返回。"
          }
        }
      },
      "StatusPageComponentChangeItem": {
        "type": "object",
        "description": "时间线更新中的组件状态变更。",
        "required": [
          "component_id",
          "status"
        ],
        "properties": {
          "component_id": {
            "type": "string",
            "description": "组件 ID。"
          },
          "component_name": {
            "type": "string",
            "description": "组件显示名称。读取时由后端填充，写入时忽略。为空时不返回。"
          },
          "status": {
            "type": "string",
            "enum": [
              "operational",
              "degraded",
              "partial_outage",
              "full_outage",
              "under_maintenance"
            ],
            "description": "组件新状态。故障事件支持 `operational`/`degraded`/`partial_outage`/`full_outage`；维护事件支持 `operational`/`under_maintenance`。"
          }
        }
      },
      "StatusPageComponentItem": {
        "type": "object",
        "description": "状态页组件。",
        "required": [
          "name"
        ],
        "properties": {
          "component_id": {
            "type": "string",
            "description": "组件 ID。为空时不返回。"
          },
          "section_id": {
            "type": "string",
            "description": "所属区域 ID。组件位于顶层（不属于任何分组）时不返回。"
          },
          "name": {
            "type": "string",
            "description": "组件显示名称。"
          },
          "description": {
            "type": "string",
            "description": "组件描述。为空时不返回。"
          },
          "available_since_seconds": {
            "type": "integer",
            "format": "int64",
            "description": "组件可用起始时间（Unix 时间戳，秒）。为 0 时不返回。"
          },
          "order_id": {
            "type": "integer",
            "format": "int64",
            "description": "在所属区域内的显示顺序。为 0 时不返回。"
          },
          "hide_uptime": {
            "type": "boolean",
            "description": "为 true 时在摘要响应中隐藏可用率数据。为 false 时不返回。"
          },
          "hide_all": {
            "type": "boolean",
            "description": "为 true 时从摘要接口中完全隐藏该组件。为 false 时不返回。"
          }
        }
      },
      "StatusPageDraftCreateResponse": {
        "type": "object",
        "description": "存储状态页草稿的结果。",
        "required": [
          "draft_id",
          "created_at"
        ],
        "properties": {
          "draft_id": {
            "type": "string",
            "description": "草稿 ID，格式为 `draft_[A-Za-z0-9]{22}`；控制台审核链接会携带它。"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "description": "创建时间，Unix epoch 秒。"
          }
        }
      },
      "StatusPageMigrationJob": {
        "type": "object",
        "description": "迁移任务的当前状态及进度。",
        "required": [
          "job_id",
          "account_id",
          "source_page_id",
          "target_page_id",
          "phase",
          "status",
          "progress",
          "created_at",
          "updated_at"
        ],
        "properties": {
          "job_id": {
            "type": "string",
            "description": "迁移任务 ID。"
          },
          "account_id": {
            "type": "integer",
            "format": "int64",
            "description": "所属账户 ID。"
          },
          "source_page_id": {
            "type": "string",
            "description": "Atlassian Statuspage 源状态页 ID。"
          },
          "target_page_id": {
            "type": "integer",
            "format": "int64",
            "description": "Flashduty 目标状态页 ID。任务产出后设置，或由订阅者迁移接口上游传入。"
          },
          "phase": {
            "type": "string",
            "enum": [
              "structure",
              "history",
              "subscribers"
            ],
            "description": "当前迁移阶段。`structure` 迁移页面结构（分区与组件）；`history` 迁移历史故障、维护记录与事件模板；`subscribers` 迁移邮件订阅者。"
          },
          "status": {
            "type": "string",
            "enum": [
              "running",
              "completed",
              "failed",
              "cancelled"
            ],
            "description": "任务当前状态。\n| 值 | 含义 |\n|---|---|\n| `running` | 执行中。 |\n| `completed` | 已全部完成。 |\n| `failed` | 执行失败，`error` 字段含失败原因。 |\n| `cancelled` | 已被取消。 |"
          },
          "progress": {
            "$ref": "#/components/schemas/StatusPageMigrationProgress",
            "description": "按实体类型的进度计数。"
          },
          "error": {
            "type": "string",
            "description": "`status` 为 `failed` 时的终态错误信息。任务未失败时不返回该字段。"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "description": "任务创建时间（Unix 时间戳，秒）。"
          },
          "updated_at": {
            "type": "integer",
            "format": "int64",
            "description": "任务最近一次状态更新时间（Unix 时间戳，秒）。"
          }
        }
      },
      "StatusPageMigrationProgress": {
        "type": "object",
        "description": "迁移任务的进度计数。",
        "required": [
          "total_steps",
          "completed_steps",
          "components_imported",
          "sections_imported",
          "incidents_imported",
          "maintenances_imported",
          "subscribers_imported",
          "templates_imported",
          "subscribers_skipped"
        ],
        "properties": {
          "total_steps": {
            "type": "integer",
            "description": "任务包含的总步骤数。"
          },
          "completed_steps": {
            "type": "integer",
            "description": "已完成的步骤数。"
          },
          "components_imported": {
            "type": "integer",
            "description": "已从源状态页导入的组件数量。"
          },
          "sections_imported": {
            "type": "integer",
            "description": "已从源状态页导入的分区（对应 Atlassian component group）数量。"
          },
          "incidents_imported": {
            "type": "integer",
            "description": "已导入的历史故障数量。"
          },
          "maintenances_imported": {
            "type": "integer",
            "description": "已导入的计划维护数量。"
          },
          "subscribers_imported": {
            "type": "integer",
            "description": "已成功导入的邮件订阅者数量。"
          },
          "templates_imported": {
            "type": "integer",
            "description": "已成功导入的事件模板数量；导入失败的模板会被跳过并记入 `warnings`。"
          },
          "subscribers_skipped": {
            "type": "integer",
            "description": "跳过的订阅者数量（例如重复）。"
          },
          "warnings": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "任务执行过程中记录的非致命警告。无告警时不返回该字段。"
          }
        }
      },
      "StatusPageMigrationStartResponse": {
        "type": "object",
        "description": "启动迁移任务的结果。",
        "required": [
          "job_id"
        ],
        "properties": {
          "job_id": {
            "type": "string",
            "description": "迁移任务 ID。用于查询状态或请求取消。"
          }
        }
      },
      "StatusPageSubscriberExportResponse": {
        "type": "string",
        "format": "binary",
        "description": "CSV 文件（Content-Type: text/csv; charset=utf-8），包含列：Method、Recipient、Components、Subscribe All、Locale。"
      },
      "StatusPageSubscriberListResponse": {
        "type": "object",
        "description": "状态页订阅者分页列表。",
        "required": [
          "total",
          "has_next_page",
          "items"
        ],
        "properties": {
          "total": {
            "type": "integer",
            "format": "int64",
            "description": "匹配的订阅者总数。"
          },
          "has_next_page": {
            "type": "boolean",
            "description": "当前页之后是否还有下一页。"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExportedStatusPageSubscriberItem"
            },
            "description": "当前页的订阅者列表。"
          }
        }
      },
      "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"
        ]
      },
      "TemplateCreateRequest": {
        "type": "object",
        "description": "创建通知模板。",
        "required": [
          "template_name"
        ],
        "properties": {
          "team_id": {
            "type": "integer",
            "format": "int64",
            "description": "团队归属。0 表示账户全局共享。",
            "default": 0
          },
          "template_name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 39,
            "description": "模板名称，同一账户内唯一，长度 1–39 个字符。",
            "example": "Prod incident default"
          },
          "description": {
            "type": "string",
            "maxLength": 500,
            "description": "自定义描述。最多 500 字符。"
          },
          "email": {
            "type": "string",
            "description": "邮件正文模板源（Go `html/template` 语法）。"
          },
          "sms": {
            "type": "string",
            "description": "短信模板源（Go `text/template` 语法）。"
          },
          "voice": {
            "type": "string",
            "description": "语音呼叫脚本模板源。"
          },
          "dingtalk": {
            "type": "string",
            "description": "钉钉群机器人消息模板源。"
          },
          "wecom": {
            "type": "string",
            "description": "企业微信群机器人消息模板源。"
          },
          "wecom_markdown_v2_enabled": {
            "type": "boolean",
            "description": "企业微信群机器人通知使用 `markdown_v2` 消息格式，而非普通 markdown。"
          },
          "feishu": {
            "type": "string",
            "description": "飞书群机器人消息模板源。"
          },
          "feishu_app": {
            "type": "string",
            "description": "飞书应用消息模板源。"
          },
          "feishu_app_card_v2_table_enabled": {
            "type": "boolean",
            "default": false,
            "description": "是否在飞书应用卡片中以表格渲染告警标签，默认关闭。"
          },
          "feishu_app_card_v2_preserve_blank_lines": {
            "type": "boolean",
            "description": "飞书应用卡片 v2 消息保留正文中的空行。"
          },
          "feishu_app_war_room_enabled": {
            "type": "boolean",
            "description": "飞书应用卡片展示「创建作战室」按钮。"
          },
          "dingtalk_app_war_room_enabled": {
            "type": "boolean",
            "description": "钉钉应用卡片展示「创建作战室」按钮。"
          },
          "slack_app_war_room_enabled": {
            "type": "boolean",
            "description": "Slack 应用卡片展示「创建作战室」按钮。"
          },
          "dingtalk_app": {
            "type": "string",
            "description": "钉钉应用消息模板源。"
          },
          "wecom_app": {
            "type": "string",
            "description": "企业微信应用消息模板源。"
          },
          "slack_app": {
            "type": "string",
            "description": "Slack 应用消息模板源。"
          },
          "teams_app": {
            "type": "string",
            "description": "Microsoft Teams 应用消息模板源。"
          },
          "telegram": {
            "type": "string",
            "description": "Telegram 机器人消息模板源。"
          },
          "slack": {
            "type": "string",
            "description": "Slack 机器人消息模板源。"
          },
          "zoom": {
            "type": "string",
            "description": "Zoom 机器人消息模板源。"
          },
          "incident_card_closed_action_apps": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "feishu_app",
                "dingtalk_app",
                "wecom_app",
                "slack_app",
                "teams_app"
              ]
            },
            "description": "已关闭故障的卡片仍保留自定义操作按钮的 IM 应用。可选值：`feishu_app`、`dingtalk_app`、`wecom_app`、`slack_app`、`teams_app`；空列表表示所有应用都隐藏这些按钮。"
          },
          "incident_card_hidden_fields": {
            "$ref": "#/components/schemas/IncidentCardHiddenFields",
            "description": "按 IM 应用类型隐藏的故障卡片字段。"
          }
        }
      },
      "TemplateCreateResponse": {
        "type": "object",
        "required": [
          "template_id",
          "template_name"
        ],
        "properties": {
          "template_id": {
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "新创建的模板 ID。",
            "example": "6605a1b2c3d4e5f6a7b8c9d0"
          },
          "template_name": {
            "type": "string",
            "description": "从请求中回显的模板名称。",
            "example": "Prod incident default"
          }
        },
        "description": "创建模板响应。"
      },
      "TemplateIDRequest": {
        "type": "object",
        "required": [
          "template_id"
        ],
        "properties": {
          "template_id": {
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "目标模板 ID。传入 `6321aad26c12104586a88916` 可访问内置预设模板。",
            "example": "6605a1b2c3d4e5f6a7b8c9d0"
          }
        },
        "description": "携带模板 ID 的请求体。"
      },
      "TemplateItem": {
        "type": "object",
        "description": "一个通知模板。每个通道字段中存放该通道的模板源字符串；空字符串表示该通道没有自定义模板。",
        "required": [
          "account_id",
          "team_id",
          "template_id",
          "template_name",
          "description",
          "email",
          "sms",
          "voice",
          "dingtalk",
          "wecom",
          "feishu",
          "feishu_app",
          "feishu_app_card_v2_table_enabled",
          "wecom_markdown_v2_enabled",
          "feishu_app_card_v2_preserve_blank_lines",
          "feishu_app_war_room_enabled",
          "dingtalk_app_war_room_enabled",
          "slack_app_war_room_enabled",
          "dingtalk_app",
          "wecom_app",
          "slack_app",
          "teams_app",
          "telegram",
          "slack",
          "zoom",
          "status",
          "creator_id",
          "updated_by",
          "created_at",
          "updated_at",
          "incident_card_closed_action_apps",
          "incident_card_hidden_fields"
        ],
        "properties": {
          "account_id": {
            "type": "integer",
            "format": "int64",
            "description": "所属账户 ID。"
          },
          "team_id": {
            "type": "integer",
            "format": "int64",
            "description": "所属团队 ID，0 表示账户全局共享。"
          },
          "template_id": {
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "模板 ID。",
            "example": "6605a1b2c3d4e5f6a7b8c9d0"
          },
          "template_name": {
            "type": "string",
            "description": "模板名称，同一账户内唯一。"
          },
          "description": {
            "type": "string",
            "description": "自定义描述。"
          },
          "email": {
            "type": "string",
            "description": "邮件正文模板源（Go `html/template` 语法）。"
          },
          "sms": {
            "type": "string",
            "description": "短信模板源（Go `text/template` 语法）。"
          },
          "voice": {
            "type": "string",
            "description": "语音呼叫脚本模板源。"
          },
          "dingtalk": {
            "type": "string",
            "description": "钉钉群机器人消息模板源。"
          },
          "wecom": {
            "type": "string",
            "description": "企业微信群机器人消息模板源。"
          },
          "wecom_markdown_v2_enabled": {
            "type": "boolean",
            "description": "企业微信群机器人通知是否使用 `markdown_v2` 消息格式。"
          },
          "feishu": {
            "type": "string",
            "description": "飞书群机器人消息模板源。"
          },
          "feishu_app": {
            "type": "string",
            "description": "飞书应用消息模板源。"
          },
          "feishu_app_card_v2_table_enabled": {
            "type": "boolean",
            "description": "是否在飞书应用卡片中以表格渲染告警标签。"
          },
          "feishu_app_card_v2_preserve_blank_lines": {
            "type": "boolean",
            "description": "飞书应用卡片 v2 消息是否保留正文中的空行。"
          },
          "feishu_app_war_room_enabled": {
            "type": "boolean",
            "description": "飞书应用卡片是否展示「创建作战室」按钮；故障无响应人时不展示。"
          },
          "dingtalk_app_war_room_enabled": {
            "type": "boolean",
            "description": "钉钉应用卡片是否展示「创建作战室」按钮；故障已关闭或无响应人时不展示。"
          },
          "slack_app_war_room_enabled": {
            "type": "boolean",
            "description": "Slack 应用卡片是否展示「创建作战室」按钮；故障已关闭或无响应人时不展示。"
          },
          "dingtalk_app": {
            "type": "string",
            "description": "钉钉应用消息模板源。"
          },
          "wecom_app": {
            "type": "string",
            "description": "企业微信应用消息模板源。"
          },
          "slack_app": {
            "type": "string",
            "description": "Slack 应用消息模板源。"
          },
          "teams_app": {
            "type": "string",
            "description": "Microsoft Teams 应用消息模板源。"
          },
          "telegram": {
            "type": "string",
            "description": "Telegram 机器人消息模板源。"
          },
          "slack": {
            "type": "string",
            "description": "Slack 机器人消息模板源。"
          },
          "zoom": {
            "type": "string",
            "description": "Zoom 机器人消息模板源。"
          },
          "incident_card_closed_action_apps": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "feishu_app",
                "dingtalk_app",
                "wecom_app",
                "slack_app",
                "teams_app"
              ]
            },
            "description": "已关闭故障的卡片仍保留自定义操作按钮的 IM 应用。可选值：`feishu_app`、`dingtalk_app`、`wecom_app`、`slack_app`、`teams_app`；空列表表示所有应用都隐藏这些按钮。"
          },
          "incident_card_hidden_fields": {
            "$ref": "#/components/schemas/IncidentCardHiddenFields",
            "description": "按 IM 应用类型配置的故障卡片隐藏字段，未配置时为空对象。"
          },
          "status": {
            "type": "string",
            "description": "模板生命周期状态。`enabled` 启用中，可被分派策略引用发送通知；`disabled` 停用，不再用于新通知；`deleted` 已删除，列表接口不返回。",
            "enum": [
              "enabled",
              "disabled",
              "deleted"
            ]
          },
          "creator_id": {
            "type": "integer",
            "format": "int64",
            "description": "创建人成员 ID。"
          },
          "updated_by": {
            "type": "integer",
            "format": "int64",
            "description": "最后修改人成员 ID。"
          },
          "deleted_at": {
            "type": "integer",
            "format": "int64",
            "description": "软删除时间（Unix 秒）。模板未删除时字段缺省（omitempty）。"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "description": "创建时间（Unix 秒）。"
          },
          "updated_at": {
            "type": "integer",
            "format": "int64",
            "description": "最近更新时间（Unix 秒）。"
          }
        }
      },
      "TemplateListRequest": {
        "type": "object",
        "description": "分页过滤条件。默认 p=1、limit=20，limit 上限为 100。",
        "properties": {
          "p": {
            "type": "integer",
            "description": "页码，从 1 开始。",
            "minimum": 1,
            "default": 1,
            "example": 1
          },
          "limit": {
            "type": "integer",
            "description": "分页大小，最大 100。",
            "minimum": 1,
            "maximum": 100,
            "default": 20,
            "example": 20
          },
          "orderby": {
            "type": "string",
            "description": "排序字段。",
            "enum": [
              "created_at",
              "updated_at"
            ]
          },
          "asc": {
            "type": "boolean",
            "description": "升序排序。",
            "default": false
          },
          "is_my_team": {
            "type": "boolean",
            "description": "为 true 时只返回当前成员所属团队范围内的模板。",
            "default": false
          },
          "team_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "按团队 ID 列表过滤。"
          },
          "creator_id": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64",
            "description": "按创建人成员 ID 过滤，成员 ID 可通过 `POST /member/list` 获取。"
          },
          "query": {
            "type": "string",
            "description": "按模板名称做正则或子串匹配。"
          }
        }
      },
      "TemplateListResponse": {
        "type": "object",
        "description": "通知模板的分页列表。",
        "required": [
          "total",
          "has_next_page",
          "items"
        ],
        "properties": {
          "total": {
            "type": "integer",
            "format": "int64",
            "description": "符合筛选条件的模板总数（跨页统计，包含内置预设模板）。",
            "example": 47
          },
          "has_next_page": {
            "type": "boolean",
            "description": "是否还有下一页。",
            "example": true
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TemplateItem"
            },
            "description": "当前页的通知模板列表；第一页的第一条固定为内置预置模板。"
          }
        }
      },
      "TemplateUpdateRequest": {
        "type": "object",
        "description": "更新已存在的模板。",
        "required": [
          "template_id",
          "template_name"
        ],
        "properties": {
          "template_id": {
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "目标模板 ID，可通过 `POST /template/list` 获取。",
            "example": "6605a1b2c3d4e5f6a7b8c9d0"
          },
          "team_id": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64",
            "description": "团队归属。0 表示账户全局共享。省略时保持模板当前的团队归属。"
          },
          "template_name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 39,
            "description": "模板名称，长度 1–39 个字符。"
          },
          "description": {
            "type": [
              "string",
              "null"
            ],
            "maxLength": 500,
            "description": "自定义描述。最多 500 字符。省略时保持当前内容；传空字符串表示清空。"
          },
          "email": {
            "type": [
              "string",
              "null"
            ],
            "description": "邮件正文模板源（Go `html/template` 语法）。省略时保持当前内容；传空字符串表示清空。"
          },
          "sms": {
            "type": [
              "string",
              "null"
            ],
            "description": "短信模板源（Go `text/template` 语法）。省略时保持当前内容；传空字符串表示清空。"
          },
          "voice": {
            "type": [
              "string",
              "null"
            ],
            "description": "语音呼叫脚本模板源。省略时保持当前内容；传空字符串表示清空。"
          },
          "dingtalk": {
            "type": [
              "string",
              "null"
            ],
            "description": "钉钉群机器人消息模板源。省略时保持当前内容；传空字符串表示清空。"
          },
          "wecom": {
            "type": [
              "string",
              "null"
            ],
            "description": "企业微信群机器人消息模板源。省略时保持当前内容；传空字符串表示清空。"
          },
          "wecom_markdown_v2_enabled": {
            "type": [
              "boolean",
              "null"
            ],
            "description": "设置后切换企业微信群机器人通知的 `markdown_v2` / 普通 markdown 格式；省略时保持当前设置。"
          },
          "feishu": {
            "type": [
              "string",
              "null"
            ],
            "description": "飞书群机器人消息模板源。省略时保持当前内容；传空字符串表示清空。"
          },
          "feishu_app": {
            "type": [
              "string",
              "null"
            ],
            "description": "飞书应用消息模板源。省略时保持当前内容；传空字符串表示清空。"
          },
          "feishu_app_card_v2_table_enabled": {
            "type": [
              "boolean",
              "null"
            ],
            "description": "设置后开启或关闭飞书应用卡片中的告警标签表格渲染；省略时保持当前设置。"
          },
          "feishu_app_card_v2_preserve_blank_lines": {
            "type": [
              "boolean",
              "null"
            ],
            "description": "设置后决定飞书应用卡片 v2 消息是否保留正文空行；省略时保持当前设置。"
          },
          "feishu_app_war_room_enabled": {
            "type": [
              "boolean",
              "null"
            ],
            "description": "设置后决定飞书应用卡片是否展示「创建作战室」按钮；省略时保持当前设置。"
          },
          "dingtalk_app_war_room_enabled": {
            "type": [
              "boolean",
              "null"
            ],
            "description": "设置后决定钉钉应用卡片是否展示「创建作战室」按钮；省略时保持当前设置。"
          },
          "slack_app_war_room_enabled": {
            "type": [
              "boolean",
              "null"
            ],
            "description": "设置后决定 Slack 应用卡片是否展示「创建作战室」按钮；省略时保持当前设置。"
          },
          "dingtalk_app": {
            "type": [
              "string",
              "null"
            ],
            "description": "钉钉应用消息模板源。省略时保持当前内容；传空字符串表示清空。"
          },
          "wecom_app": {
            "type": [
              "string",
              "null"
            ],
            "description": "企业微信应用消息模板源。省略时保持当前内容；传空字符串表示清空。"
          },
          "slack_app": {
            "type": [
              "string",
              "null"
            ],
            "description": "Slack 应用消息模板源。省略时保持当前内容；传空字符串表示清空。"
          },
          "teams_app": {
            "type": [
              "string",
              "null"
            ],
            "description": "Microsoft Teams 应用消息模板源。省略时保持当前内容；传空字符串表示清空。"
          },
          "telegram": {
            "type": [
              "string",
              "null"
            ],
            "description": "Telegram 机器人消息模板源。省略时保持当前内容；传空字符串表示清空。"
          },
          "slack": {
            "type": [
              "string",
              "null"
            ],
            "description": "Slack 机器人消息模板源。省略时保持当前内容；传空字符串表示清空。"
          },
          "zoom": {
            "type": [
              "string",
              "null"
            ],
            "description": "Zoom 机器人消息模板源。省略时保持当前内容；传空字符串表示清空。"
          },
          "incident_card_closed_action_apps": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "feishu_app",
                "dingtalk_app",
                "wecom_app",
                "slack_app",
                "teams_app"
              ]
            },
            "description": "传入时整体替换保留自定义操作按钮的应用列表。可选值：`feishu_app`、`dingtalk_app`、`wecom_app`、`slack_app`、`teams_app`；不传该字段则保持不变。"
          },
          "incident_card_hidden_fields": {
            "$ref": "#/components/schemas/IncidentCardHiddenFields",
            "description": "按 IM 应用类型隐藏的故障卡片字段。"
          }
        }
      },
      "TimeFilter": {
        "type": "object",
        "description": "周期性时间窗口。`start`/`end` 采用 24 小时制 `HH:MM`；`repeat` 采用 ISO 风格的星期索引（0=周日 … 6=周六）。",
        "properties": {
          "start": {
            "type": "string",
            "description": "窗口开始时间（`HH:MM`）。"
          },
          "end": {
            "type": "string",
            "description": "窗口结束时间（`HH:MM`）。"
          },
          "repeat": {
            "type": "array",
            "items": {
              "type": "integer",
              "minimum": 0,
              "maximum": 6
            },
            "description": "窗口每周生效的日期，空表示每天。"
          },
          "cal_id": {
            "type": "string",
            "description": "可选日历 ID，将窗口限制为日历中的匹配日期。"
          },
          "is_off": {
            "type": "boolean",
            "description": "为 true 时匹配日历中标记为休息日的日期。"
          }
        }
      },
      "UnackIncidentRequest": {
        "type": "object",
        "description": "取消认领故障的参数。",
        "required": [
          "incident_ids"
        ],
        "properties": {
          "incident_ids": {
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "maxItems": 100,
            "description": "待取消认领的故障 ID 列表，单次最多 100 条。",
            "minItems": 1
          }
        }
      },
      "UnsubscribeRuleItem": {
        "type": "object",
        "description": "排除规则记录。",
        "required": [
          "account_id",
          "channel_id",
          "rule_name",
          "description",
          "filters",
          "status",
          "rule_id",
          "updated_by",
          "created_at",
          "updated_at"
        ],
        "properties": {
          "account_id": {
            "type": "integer",
            "format": "int64",
            "description": "规则所属账户 ID。"
          },
          "channel_id": {
            "type": "integer",
            "format": "int64",
            "description": "规则所属协作空间 ID。"
          },
          "rule_name": {
            "type": "string",
            "description": "规则名称。"
          },
          "description": {
            "type": "string",
            "description": "规则描述。"
          },
          "filters": {
            "$ref": "#/components/schemas/FilterGroup",
            "description": "告警事件匹配条件（OR-of-AND 结构）；命中的事件被完全丢弃。为空时规则不匹配任何事件。"
          },
          "status": {
            "type": "string",
            "enum": [
              "enabled",
              "disabled"
            ],
            "description": "规则状态：`enabled` 启用，`disabled` 停用；已删除的规则不会出现在列表中。"
          },
          "rule_id": {
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "规则 ID（MongoDB ObjectID）。"
          },
          "updated_by": {
            "type": "integer",
            "format": "int64",
            "description": "最近一次更新该规则的用户 ID。"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "description": "创建时间，Unix 时间戳（秒）。"
          },
          "updated_at": {
            "type": "integer",
            "format": "int64",
            "description": "最近更新时间，Unix 时间戳（秒）。"
          },
          "deleted_at": {
            "type": "integer",
            "format": "int64",
            "description": "删除时间，Unix 秒时间戳。仅在规则被软删除时返回；已删除的规则不会出现在列表响应中。"
          }
        }
      },
      "UpdateChannelRequest": {
        "type": "object",
        "required": [
          "channel_id"
        ],
        "description": "更新协作空间所需参数，仅传入的字段会被更新。",
        "properties": {
          "channel_id": {
            "type": "integer",
            "format": "int64",
            "description": "要更新的协作空间 ID，可通过 `POST /channel/list` 获取。"
          },
          "team_id": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64",
            "description": "新的所属团队 ID，可通过 `POST /team/list` 获取。"
          },
          "managing_team_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "maxItems": 3,
            "description": "可管理该协作空间的其他团队 ID，最多 3 个。"
          },
          "channel_name": {
            "type": [
              "string",
              "null"
            ],
            "minLength": 1,
            "maxLength": 59,
            "description": "新的协作空间名称，1 到 59 个字符。"
          },
          "description": {
            "type": [
              "string",
              "null"
            ],
            "maxLength": 500,
            "description": "新的描述信息，最多 500 个字符。"
          },
          "auto_resolve_timeout": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64",
            "minimum": 0,
            "maximum": 2592000,
            "description": "自动恢复超时，单位秒。0 表示不自动恢复，最长 30 天。"
          },
          "auto_resolve_mode": {
            "type": "string",
            "enum": [
              "trigger",
              "update"
            ],
            "description": "自动恢复计时模式：`trigger` 在故障触发时启动计时，`update` 在每次告警更新时重新计时。仅在请求同时携带 `auto_resolve_timeout` 时生效。"
          },
          "is_private": {
            "type": [
              "boolean",
              "null"
            ],
            "description": "为 true 时仅管理团队可见。"
          },
          "group": {
            "$ref": "#/components/schemas/Group",
            "description": "告警聚合配置。"
          },
          "flapping": {
            "$ref": "#/components/schemas/Flapping",
            "description": "抖动检测配置。"
          },
          "disable_outlier_detection": {
            "type": [
              "boolean",
              "null"
            ],
            "description": "禁用新奇故障检测。"
          },
          "disable_auto_close": {
            "type": [
              "boolean",
              "null"
            ],
            "description": "禁用故障自动关闭。"
          },
          "is_external_report_enabled": {
            "type": [
              "boolean",
              "null"
            ],
            "description": "允许外部上报人向该协作空间上报故障。"
          },
          "event_group": {
            "$ref": "#/components/schemas/EventGroup",
            "description": "告警事件合并配置。仅在传入时更新。"
          }
        }
      },
      "UpdateChannelResponse": {
        "type": "object",
        "description": "更新协作空间的响应。仅在请求中将 `is_external_report_enabled` 设为 `true` 时返回有效字段，否则所有字段为空。",
        "properties": {
          "external_report_token": {
            "type": "string",
            "description": "新生成的外部上报令牌。仅在请求中将 `is_external_report_enabled` 设为 `true` 时返回。调用方应保存此值，之后无法再次获取。"
          }
        }
      },
      "UpdateDropRuleRequest": {
        "type": "object",
        "description": "更新排除规则所需参数。",
        "required": [
          "channel_id",
          "rule_id",
          "rule_name"
        ],
        "properties": {
          "channel_id": {
            "type": "integer",
            "format": "int64",
            "description": "所属协作空间 ID，可通过 `POST /channel/list` 获取。"
          },
          "rule_id": {
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "排除规则 ID（MongoDB ObjectID）。"
          },
          "rule_name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 39,
            "description": "规则名称，1 到 39 个字符。"
          },
          "description": {
            "type": "string",
            "maxLength": 500,
            "description": "规则描述，最多 500 个字符。"
          },
          "filters": {
            "$ref": "#/components/schemas/FilterGroup",
            "description": "告警事件匹配条件（OR-of-AND 结构）；命中的事件被完全丢弃。为空时规则不匹配任何事件。"
          }
        }
      },
      "UpdateEscalationRuleRequest": {
        "type": "object",
        "description": "更新分派策略所需参数。",
        "required": [
          "channel_id",
          "rule_id",
          "template_id",
          "rule_name",
          "layers"
        ],
        "properties": {
          "channel_id": {
            "type": "integer",
            "format": "int64",
            "description": "所属协作空间 ID，可通过 `POST /channel/list` 获取。"
          },
          "rule_id": {
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "分派策略 ID（MongoDB ObjectID）。"
          },
          "priority": {
            "type": [
              "integer",
              "null"
            ],
            "description": "匹配优先级，数值越小越优先。"
          },
          "aggr_window": {
            "type": "integer",
            "description": "延迟窗口，单位秒，0 表示不延迟。"
          },
          "template_id": {
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "通知模板 ID（MongoDB ObjectID）。"
          },
          "rule_name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 39,
            "description": "策略名称，1 到 39 个字符。"
          },
          "description": {
            "type": "string",
            "maxLength": 500,
            "description": "策略描述，最多 500 个字符。"
          },
          "layers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EscalateLayer"
            },
            "description": "分派环节列表，至少包含一个环节。"
          },
          "time_filters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TimeFilter"
            },
            "description": "可选的周期性生效时间窗口。"
          },
          "filters": {
            "$ref": "#/components/schemas/FilterGroup",
            "description": "故障级匹配条件（OR-of-AND 结构）：策略匹配的是告警聚合而成的故障，而不是告警本身。不传或为空时对空间内所有故障生效。"
          }
        }
      },
      "UpdateIncidentFieldsRequest": {
        "type": "object",
        "description": "更新故障可编辑字段的参数。至少需要提供一个字段；handler 只会更新显式传入的字段。",
        "required": [
          "incident_id"
        ],
        "properties": {
          "incident_id": {
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "故障 ID（MongoDB ObjectID）。"
          },
          "title": {
            "type": "string",
            "minLength": 3,
            "maxLength": 200,
            "description": "新标题。"
          },
          "description": {
            "type": "string",
            "minLength": 3,
            "maxLength": 6144,
            "description": "新描述。"
          },
          "impact": {
            "type": "string",
            "minLength": 3,
            "maxLength": 6144,
            "description": "新影响描述。"
          },
          "root_cause": {
            "type": "string",
            "minLength": 3,
            "maxLength": 6144,
            "description": "新根因分析。"
          },
          "resolution": {
            "type": "string",
            "minLength": 3,
            "maxLength": 6144,
            "description": "新解决方案说明。"
          },
          "incident_severity": {
            "type": "string",
            "enum": [
              "Info",
              "Warning",
              "Critical"
            ],
            "description": "新严重程度：`Info` 提示、`Warning` 警告、`Critical` 严重。"
          }
        }
      },
      "UpdateInhibitRuleRequest": {
        "type": "object",
        "description": "更新抑制策略所需参数。",
        "required": [
          "channel_id",
          "rule_id",
          "rule_name",
          "equals"
        ],
        "properties": {
          "channel_id": {
            "type": "integer",
            "format": "int64",
            "description": "所属协作空间 ID，可通过 `POST /channel/list` 获取。"
          },
          "rule_id": {
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "抑制策略 ID（MongoDB ObjectID）。"
          },
          "rule_name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 39,
            "description": "策略名称，1 到 39 个字符。"
          },
          "description": {
            "type": "string",
            "maxLength": 500,
            "description": "策略描述，最多 500 个字符。"
          },
          "equals": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "源（抑制方）告警与目标（被抑制）告警之间必须取值相等的字段键，例如 `data_source_id` 或 `labels.cluster`。"
          },
          "source_filters": {
            "$ref": "#/components/schemas/FilterGroup",
            "description": "源告警需要满足的条件，针对已存的活跃告警求值。支持的键：`status`、`incident_status`、`alert_status`、`severity`、`incident_severity`、`alert_severity`、`title`、`description` 或任意 `labels.<name>`。为空时策略不生效。"
          },
          "target_filters": {
            "$ref": "#/components/schemas/FilterGroup",
            "description": "目标（被抑制）告警事件需要满足的条件；为空表示所有事件都是抑制目标。"
          },
          "is_directly_discard": {
            "type": "boolean",
            "description": "为 true 时，命中的告警事件被完全丢弃；为 false 时，告警仍会被记录，但标记为被本策略静默。"
          }
        }
      },
      "UpdateSilenceRuleRequest": {
        "type": "object",
        "description": "更新静默策略所需参数。`time_filter` 与 `time_filters` 必须且只能传一个，`filters` 不能为空。",
        "required": [
          "channel_id",
          "rule_id",
          "rule_name"
        ],
        "properties": {
          "channel_id": {
            "type": "integer",
            "format": "int64",
            "description": "所属协作空间 ID，可通过 `POST /channel/list` 获取。"
          },
          "rule_id": {
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "静默策略 ID（MongoDB ObjectID）。"
          },
          "rule_name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 39,
            "description": "策略名称，1 到 39 个字符。"
          },
          "description": {
            "type": "string",
            "maxLength": 500,
            "description": "策略描述，最多 500 个字符。"
          },
          "time_filters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TimeFilter"
            },
            "description": "周期性时间窗口，与 `time_filter` 互斥。"
          },
          "time_filter": {
            "$ref": "#/components/schemas/OnceTimeFilter",
            "description": "一次性静默时间窗口。与 `time_filters` 互斥，两者必须配置其一。"
          },
          "filters": {
            "$ref": "#/components/schemas/FilterGroup",
            "description": "要静默的告警匹配条件，必填且不能为空。"
          },
          "is_directly_discard": {
            "type": "boolean",
            "description": "为 true 时，命中的告警事件被完全丢弃；为 false 时，告警仍会被记录，但标记为被本策略静默。"
          },
          "is_auto_delete": {
            "type": "boolean",
            "description": "为 true 时，静默规则在时间窗结束后会被自动删除；默认为 false。"
          }
        }
      },
      "UpdateStatusPageChangeRequest": {
        "type": "object",
        "description": "更新状态页事件可编辑字段所需的参数。",
        "required": [
          "page_id",
          "change_id"
        ],
        "properties": {
          "page_id": {
            "type": "integer",
            "format": "int64",
            "description": "状态页 ID，可通过 `GET /status-page/list` 获取。"
          },
          "change_id": {
            "type": "integer",
            "format": "int64",
            "description": "目标事件 ID，可通过 `GET /status-page/change/list` 获取。"
          },
          "title": {
            "type": [
              "string",
              "null"
            ],
            "maxLength": 255,
            "description": "新的事件标题，最多 255 个字符。留空表示保持原值。"
          },
          "responders": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "事件负责成员 ID 列表。传入完整替换列表。"
          },
          "linked_changes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "关联的事件 ID 列表。传入完整替换列表。"
          }
        }
      },
      "UpdateStatusPageChangeTimelineRequest": {
        "type": "object",
        "description": "更新状态页事件已有时间线条目所需的参数。`at_seconds` 与 `description` 至少提供一个；未提供的字段保持原值。",
        "required": [
          "page_id",
          "change_id",
          "update_id"
        ],
        "properties": {
          "page_id": {
            "type": "integer",
            "format": "int64",
            "description": "状态页 ID，可通过 `GET /status-page/list` 获取。"
          },
          "change_id": {
            "type": "integer",
            "format": "int64",
            "description": "所属事件 ID，可通过 `GET /status-page/change/list` 获取。"
          },
          "update_id": {
            "type": "string",
            "description": "目标时间线更新 ID，可通过 `GET /status-page/change/info` 获取。"
          },
          "at_seconds": {
            "type": "integer",
            "format": "int64",
            "description": "新的更新时间戳（Unix 秒）。"
          },
          "description": {
            "type": "string",
            "description": "新的更新说明（Markdown）。"
          }
        }
      },
      "UpsertRouteRequest": {
        "type": "object",
        "description": "创建或更新集成路由规则的参数。当指定集成尚无规则时执行创建,否则覆盖原有规则。`cases` 与 `default` 至少需要提供其一。",
        "required": [
          "integration_id"
        ],
        "properties": {
          "integration_id": {
            "type": "integer",
            "format": "int64",
            "description": "所属集成 ID。"
          },
          "cases": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RouteCase"
            },
            "description": "有序的 case 分支列表,自上而下依次匹配。"
          },
          "sections": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RouteSection"
            },
            "description": "可选的分区,用于将连续的 case 进行视觉分组。"
          },
          "default": {
            "$ref": "#/components/schemas/RouteDefault",
            "description": "兜底分支，所有 case 均未命中时使用。"
          },
          "version": {
            "type": "integer",
            "format": "int64",
            "description": "预留给乐观并发控制使用；当前服务端忽略该字段——每次 upsert 时服务端会自动递增 `version`。"
          }
        }
      },
      "WakeIncidentRequest": {
        "type": "object",
        "description": "恢复故障通知的参数。",
        "required": [
          "incident_ids"
        ],
        "properties": {
          "incident_ids": {
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "maxItems": 100,
            "description": "待恢复通知的故障 ID 列表，单次最多 100 条。",
            "minItems": 1
          }
        }
      },
      "WarRoom": {
        "type": "object",
        "description": "从 IM 侧拉取的战情室实时详情。若群组已在 IM 侧被删除则返回空对象。",
        "required": [
          "chat_id",
          "chat_name",
          "share_link"
        ],
        "properties": {
          "chat_id": {
            "type": "string",
            "description": "IM 侧的群/会话 ID。"
          },
          "chat_name": {
            "type": "string",
            "description": "群组显示名称。"
          },
          "share_link": {
            "type": "string",
            "description": "加入链接，若 IM 提供。"
          }
        }
      },
      "WarRoomItem": {
        "type": "object",
        "description": "战情室记录。",
        "required": [
          "account_id",
          "integration_id",
          "created_by",
          "chat_id",
          "incident_id",
          "status",
          "created_at",
          "plugin_type",
          "chat_name"
        ],
        "properties": {
          "account_id": {
            "type": "integer",
            "format": "int64",
            "description": "账号 ID。"
          },
          "integration_id": {
            "type": "integer",
            "format": "int64",
            "description": "IM 集成 ID。"
          },
          "created_by": {
            "type": "integer",
            "format": "int64",
            "description": "创建成员 ID。"
          },
          "chat_id": {
            "type": "string",
            "description": "IM 侧的群/会话 ID。"
          },
          "incident_id": {
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "关联的故障 ID（MongoDB ObjectID）。"
          },
          "status": {
            "type": "string",
            "description": "作战室记录状态：`enabled` 生效中，`deleted` 已解散。",
            "enum": [
              "enabled",
              "deleted"
            ]
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "description": "创建时间戳（秒）。"
          },
          "plugin_type": {
            "type": "string",
            "description": "IM 插件类型（如 `feishu`、`dingtalk`、`wecom`、`slack`）。"
          },
          "chat_name": {
            "type": "string",
            "description": "IM 侧群聊的显示名称。"
          },
          "integration_unavailable": {
            "type": "boolean",
            "description": "该作战室背后的 IM 集成已禁用或已不存在时为 true。"
          }
        }
      },
      "WebhookHistoryDetail": {
        "type": "object",
        "description": "单条 Webhook 投递记录的完整详情，在 `WebhookHistoryItem` 基础上增加查询时解析的关联对象信息。无匹配记录时，`data` 为空对象。",
        "required": [
          "integration_id",
          "event_id",
          "webhook_type",
          "event_type",
          "endpoint",
          "attempt",
          "duration",
          "status",
          "status_code",
          "event_time"
        ],
        "properties": {
          "integration_id": {
            "type": "integer",
            "format": "int64",
            "description": "集成 ID。"
          },
          "event_id": {
            "type": "string",
            "description": "事件 ID。"
          },
          "webhook_type": {
            "type": "string",
            "description": "来源对象类型：`incident`（故障）或 `alert`（告警）。",
            "enum": [
              "incident",
              "alert"
            ]
          },
          "event_type": {
            "type": "string",
            "description": "事件类型代码。`i_*` 为故障事件（如 `i_new` 故障创建），`a_*` 为告警事件（如 `a_new` 告警触发）。"
          },
          "channel_id": {
            "type": "integer",
            "format": "int64",
            "description": "协作空间 ID（若有）。"
          },
          "ref_id": {
            "type": "string",
            "description": "来源对象 ID。"
          },
          "request_headers": {
            "type": "string",
            "description": "序列化的出站请求头。"
          },
          "request_body": {
            "type": "string",
            "description": "出站请求体。"
          },
          "endpoint": {
            "type": "string",
            "description": "目标地址。"
          },
          "attempt": {
            "type": "integer",
            "description": "尝试次数。"
          },
          "duration": {
            "type": "integer",
            "description": "整次尝试耗时（毫秒）。"
          },
          "status": {
            "type": "string",
            "enum": [
              "success",
              "failed"
            ],
            "description": "投递结果。"
          },
          "status_code": {
            "type": "integer",
            "description": "HTTP 状态码。"
          },
          "error_message": {
            "type": "string",
            "description": "投递失败时的错误信息。"
          },
          "response_headers": {
            "type": "string",
            "description": "序列化的响应头。"
          },
          "response_body": {
            "type": "string",
            "description": "响应体。"
          },
          "event_time": {
            "type": "string",
            "description": "事件时间，格式 `YYYY-MM-DD HH:MM:SS.ffffff`。"
          },
          "ref_title": {
            "type": "string",
            "description": "查询时解析出的来源故障或告警标题。"
          },
          "channel_name": {
            "type": "string",
            "description": "查询时解析出的关联协作空间名称。"
          }
        }
      },
      "WebhookHistoryItem": {
        "type": "object",
        "description": "一次 Webhook 投递记录。带 `omitempty` 的字段在取零值时会被省略。",
        "required": [
          "integration_id",
          "event_id",
          "webhook_type",
          "event_type",
          "endpoint",
          "attempt",
          "duration",
          "status",
          "status_code",
          "event_time"
        ],
        "properties": {
          "integration_id": {
            "type": "integer",
            "format": "int64",
            "description": "触发 Webhook 的集成 ID。"
          },
          "event_id": {
            "type": "string",
            "description": "本次投递的唯一事件 ID。"
          },
          "webhook_type": {
            "type": "string",
            "description": "来源对象类型：`incident`（故障）或 `alert`（告警）。",
            "enum": [
              "incident",
              "alert"
            ]
          },
          "event_type": {
            "type": "string",
            "description": "事件类型代码。`i_*` 为故障事件（如 `i_new` 故障创建），`a_*` 为告警事件（如 `a_new` 告警触发）。"
          },
          "channel_id": {
            "type": "integer",
            "format": "int64",
            "description": "事件所属协作空间 ID（若有）。"
          },
          "ref_id": {
            "type": "string",
            "description": "来源对象 ID（故障或告警 ID）。"
          },
          "request_headers": {
            "type": "string",
            "description": "序列化的出站请求头。"
          },
          "request_body": {
            "type": "string",
            "description": "出站请求体。"
          },
          "endpoint": {
            "type": "string",
            "description": "目标地址。"
          },
          "attempt": {
            "type": "integer",
            "description": "尝试次数。"
          },
          "duration": {
            "type": "integer",
            "description": "整次尝试耗时（毫秒）。"
          },
          "status": {
            "type": "string",
            "enum": [
              "success",
              "failed"
            ],
            "description": "投递结果。"
          },
          "status_code": {
            "type": "integer",
            "description": "目标返回的 HTTP 状态码。"
          },
          "error_message": {
            "type": "string",
            "description": "投递失败时的错误信息。"
          },
          "response_headers": {
            "type": "string",
            "description": "序列化的响应头。"
          },
          "response_body": {
            "type": "string",
            "description": "目标返回的响应体。"
          },
          "event_time": {
            "type": "string",
            "description": "事件时间，格式 `YYYY-MM-DD HH:MM:SS.ffffff`。"
          }
        }
      },
      "FieldItem": {
        "type": "object",
        "description": "故障自定义字段配置。",
        "properties": {
          "account_id": {
            "type": "integer",
            "format": "int64",
            "description": "所属账号 ID。"
          },
          "field_id": {
            "type": "string",
            "pattern": "^[a-f0-9]{24}$",
            "description": "字段 ID，24 位十六进制 ObjectID。"
          },
          "field_name": {
            "type": "string",
            "pattern": "^[a-zA-Z_][a-zA-Z0-9_]{0,39}$",
            "maxLength": 39,
            "description": "机器名，写入故障 `fields.<field_name>`，创建后不可更改。"
          },
          "display_name": {
            "type": "string",
            "maxLength": 39,
            "description": "界面展示名。"
          },
          "description": {
            "type": "string",
            "maxLength": 499,
            "description": "可选描述。"
          },
          "field_type": {
            "type": "string",
            "enum": [
              "checkbox",
              "multi_select",
              "single_select",
              "text"
            ],
            "description": "字段类型。\n| 值 | 含义 |\n|---|---|\n| `checkbox` | 勾选框，取值为 bool，不支持 options。 |\n| `multi_select` | 多选，取值为 string 数组，每项须在 options 中。 |\n| `single_select` | 单选，取值为 string，须在 options 中。 |\n| `text` | 自由文本，取值为 string。 |"
          },
          "value_type": {
            "type": "string",
            "enum": [
              "string",
              "bool",
              "float"
            ],
            "description": "取值类型。`checkbox` 固定为 `bool`；`single_select`/`multi_select`/`text` 固定为 `string`。`float` 为保留值，当前不会出现。"
          },
          "options": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            },
            "description": "`single_select`/`multi_select` 的候选项（非空、元素唯一）；`checkbox`/`text` 为 `null` 或空。"
          },
          "default_value": {
            "description": "默认值，类型取决于 `field_type`：`checkbox` 为 `bool`；`single_select`/`text` 为 `string`；`multi_select` 为 `string[]`；无默认值时可为 `null`。",
            "oneOf": [
              {
                "type": "boolean"
              },
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              {
                "type": "null"
              }
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "enabled",
              "disabled",
              "deleted"
            ],
            "description": "字段状态：`enabled`（生效）、`disabled`（仅内部逻辑可设置，API 无法设置）或 `deleted`（已软删除）。`/field/list` 不返回 `deleted`，`/field/info` 可能返回。"
          },
          "creator_id": {
            "type": "integer",
            "format": "int64",
            "description": "创建人成员 ID。"
          },
          "updated_by": {
            "type": "integer",
            "format": "int64",
            "description": "最近更新人成员 ID。"
          },
          "deleted_at": {
            "type": "integer",
            "format": "int64",
            "description": "删除时间，Unix 秒；仅在软删除字段上出现。"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "description": "创建时间，Unix 秒。"
          },
          "updated_at": {
            "type": "integer",
            "format": "int64",
            "description": "最近更新时间，Unix 秒。"
          }
        },
        "required": [
          "account_id",
          "field_id",
          "field_name",
          "display_name",
          "field_type",
          "value_type",
          "status",
          "creator_id",
          "updated_by",
          "created_at",
          "updated_at",
          "description",
          "options",
          "default_value"
        ]
      },
      "FieldInfoRequest": {
        "type": "object",
        "required": [
          "field_id"
        ],
        "properties": {
          "field_id": {
            "type": "string",
            "pattern": "^[a-f0-9]{24}$",
            "description": "字段 ID，24 位十六进制 ObjectID。"
          }
        }
      },
      "FieldListRequest": {
        "type": "object",
        "properties": {
          "orderby": {
            "type": "string",
            "enum": [
              "created_at",
              "updated_at"
            ],
            "description": "排序键，省略时默认为 `created_at`。"
          },
          "asc": {
            "type": "boolean",
            "description": "`true` 升序，`false` 降序。"
          },
          "creator_id": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64",
            "description": "按创建人成员 ID 过滤，不传或传 `null` 不过滤。"
          },
          "query": {
            "type": "string",
            "description": "正则过滤，仅匹配 `field_name`。非法正则会自动转义为字面量子串匹配。"
          }
        }
      },
      "FieldListResponse": {
        "type": "object",
        "required": [
          "items"
        ],
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FieldItem"
            },
            "description": "账号下所有未删除的自定义字段，无分页。"
          }
        }
      },
      "CreateFieldRequest": {
        "type": "object",
        "required": [
          "field_name",
          "display_name",
          "field_type",
          "value_type"
        ],
        "properties": {
          "field_name": {
            "type": "string",
            "pattern": "^[a-zA-Z_][a-zA-Z0-9_]{0,39}$",
            "maxLength": 39,
            "description": "机器名。必须以字母或下划线开头，长度 1–40，由 `[a-zA-Z0-9_]` 组成；创建后不可更改。"
          },
          "display_name": {
            "type": "string",
            "maxLength": 39,
            "description": "展示名，账号内须唯一。"
          },
          "description": {
            "type": "string",
            "maxLength": 499,
            "description": "可选描述。"
          },
          "field_type": {
            "type": "string",
            "enum": [
              "checkbox",
              "multi_select",
              "single_select",
              "text"
            ],
            "description": "字段类型，创建后不可更改。\n| 值 | 含义 |\n|---|---|\n| `text` | 自由文本；`value_type` 须为 `string`，不支持 `options`。 |\n| `single_select` | 从 `options` 中单选；`value_type` 须为 `string`。 |\n| `multi_select` | 从 `options` 中多选；`value_type` 须为 `string`。 |\n| `checkbox` | 布尔复选框；`value_type` 须为 `bool`，不支持 `options`。 |"
          },
          "value_type": {
            "type": "string",
            "enum": [
              "string",
              "bool",
              "float"
            ],
            "description": "取值类型。`checkbox` 须为 `bool`；其他类型须为 `string`。创建后不可更改。`float` 为保留值，当前所有 `field_type` 均不接受。"
          },
          "options": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "`single_select`/`multi_select` 必填且非空，元素唯一、每个 1–200 字符；`checkbox`/`text` 必须省略或为空。"
          },
          "default_value": {
            "description": "可选默认值，类型须与 `field_type` 匹配：`checkbox` 为 `bool`；`single_select` 为 `options` 中之一；`multi_select` 为 `options` 的子集；`text` 为不超过 3000 字符的字符串。",
            "oneOf": [
              {
                "type": "boolean"
              },
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              {
                "type": "null"
              }
            ]
          }
        }
      },
      "UpdateFieldRequest": {
        "type": "object",
        "required": [
          "field_id"
        ],
        "properties": {
          "field_id": {
            "type": "string",
            "pattern": "^[a-f0-9]{24}$",
            "description": "字段 ID，24 位十六进制 ObjectID。"
          },
          "display_name": {
            "type": "string",
            "maxLength": 39,
            "description": "新的展示名，账号内仍须唯一。"
          },
          "description": {
            "type": "string",
            "description": "新描述。"
          },
          "options": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "替换后的选项列表，规则与创建时相同。注意：更新接口总是用提交的值覆盖 `display_name`、`description`、`options` 和 `default_value`，因此 `single_select`/`multi_select` 字段每次更新都必须传非空 `options`。"
          },
          "default_value": {
            "description": "替换后的默认值，类型须与字段当前 `field_type` 匹配。",
            "oneOf": [
              {
                "type": "boolean"
              },
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              {
                "type": "null"
              }
            ]
          }
        }
      },
      "DeleteFieldRequest": {
        "type": "object",
        "required": [
          "field_id"
        ],
        "properties": {
          "field_id": {
            "type": "string",
            "pattern": "^[a-f0-9]{24}$",
            "description": "字段 ID，24 位十六进制 ObjectID。"
          }
        }
      },
      "CreateFieldResponse": {
        "type": "object",
        "required": [
          "field_id",
          "field_name"
        ],
        "properties": {
          "field_id": {
            "type": "string",
            "pattern": "^[a-f0-9]{24}$",
            "description": "新建字段 ID，24 位十六进制 ObjectID。"
          },
          "field_name": {
            "type": "string",
            "description": "回显的 `field_name`。"
          }
        }
      },
      "ChangeEventItem": {
        "type": "object",
        "properties": {
          "event_id": {
            "type": "string",
            "description": "变更事件 ID，MongoDB ObjectID 十六进制字符串。"
          },
          "account_id": {
            "type": "integer",
            "description": "变更事件所属账户。",
            "format": "int64"
          },
          "channel_id": {
            "type": "integer",
            "description": "变更事件所属协作通道。",
            "format": "int64"
          },
          "integration_id": {
            "type": "integer",
            "description": "上报该变更事件的集成。",
            "format": "int64"
          },
          "title": {
            "type": "string",
            "description": "变更事件标题。"
          },
          "description": {
            "type": "string",
            "description": "变更事件描述。"
          },
          "change_key": {
            "type": "string",
            "description": "用于聚合同一变更下事件的稳定键。"
          },
          "change_status": {
            "type": "string",
            "description": "变更事件的生命周期状态。由变更事件源按执行进度上报。\n| 值 | 含义 |\n|---|---|\n| `Planned` | 已计划，尚未开始。 |\n| `Ready` | 已就绪，待执行。 |\n| `Processing` | 正在执行。 |\n| `Canceled` | 已取消。 |\n| `Done` | 已完成。 |\n| `Failed` | 失败。 |",
            "enum": [
              "Planned",
              "Ready",
              "Processing",
              "Canceled",
              "Done",
              "Failed"
            ]
          },
          "link": {
            "type": "string",
            "description": "指向源变更记录的外部链接。"
          },
          "event_time": {
            "type": "integer",
            "format": "int64",
            "description": "变更事件发生时的 Unix 时间戳（秒）。"
          },
          "labels": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "附加到变更事件上的键值标签。"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "description": "变更事件创建时的 Unix 时间戳（秒）。"
          },
          "updated_at": {
            "type": "integer",
            "format": "int64",
            "description": "变更事件最近更新时的 Unix 时间戳（秒）。"
          },
          "deleted_at": {
            "type": "integer",
            "format": "int64",
            "description": "变更事件的删除时间，Unix 时间戳（秒）。未删除时不返回该字段。"
          }
        }
      },
      "ChangeItem": {
        "type": "object",
        "properties": {
          "change_id": {
            "type": "string",
            "description": "变更 ID，MongoDB ObjectID 十六进制字符串。"
          },
          "account_id": {
            "type": "integer",
            "description": "变更所属账户。",
            "format": "int64"
          },
          "channel_id": {
            "type": "integer",
            "description": "变更所属协作通道。",
            "format": "int64"
          },
          "channel_name": {
            "type": "string",
            "description": "协作通道名称。"
          },
          "channel_status": {
            "type": "string",
            "description": "协作空间状态：`enabled`（启用）或 `disabled`（禁用）。",
            "enum": [
              "enabled",
              "disabled"
            ]
          },
          "integration_id": {
            "type": "integer",
            "description": "上报该变更的集成。",
            "format": "int64"
          },
          "integration_name": {
            "type": "string",
            "description": "上报集成的名称。"
          },
          "title": {
            "type": "string",
            "description": "变更标题。"
          },
          "description": {
            "type": "string",
            "description": "变更描述。"
          },
          "change_key": {
            "type": "string",
            "description": "用于聚合同一变更下事件的稳定键。"
          },
          "change_status": {
            "type": "string",
            "description": "变更的当前生命周期状态。\n| 取值 | 含义 |\n|---|---|\n| `Planned` | 已计划，未开始。 |\n| `Ready` | 就绪，待执行。 |\n| `Processing` | 执行中。 |\n| `Canceled` | 已取消。 |\n| `Done` | 已完成。 |\n| `Failed` | 失败。 |",
            "enum": [
              "Planned",
              "Ready",
              "Processing",
              "Canceled",
              "Done",
              "Failed"
            ]
          },
          "start_time": {
            "type": "integer",
            "format": "int64",
            "description": "变更开始时的 Unix 时间戳（秒）。"
          },
          "last_time": {
            "type": "integer",
            "format": "int64",
            "description": "变更最近活动的 Unix 时间戳（秒）。"
          },
          "end_time": {
            "type": "integer",
            "format": "int64",
            "description": "变更结束时的 Unix 时间戳（秒）。"
          },
          "labels": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "附加到变更上的键值标签。"
          },
          "link": {
            "type": "string",
            "description": "指向源变更记录的外部链接。"
          },
          "events": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ChangeEventItem"
            },
            "description": "底层变更事件，仅在 include_events 为 true 时返回。"
          }
        }
      },
      "ListChangeRequest": {
        "type": "object",
        "properties": {
          "start_time": {
            "type": "integer",
            "format": "int64",
            "description": "查询窗口起点，Unix 时间戳（秒）。可选——`start_time` 和 `end_time` 都不传或为 0 时，默认查询最近一小时。必须小于 `end_time`，跨度不超过 31 天。当变更的 [start_time, last_time] 区间与查询窗口重叠时命中。",
            "minimum": 0
          },
          "end_time": {
            "type": "integer",
            "format": "int64",
            "description": "查询窗口终点，Unix 时间戳（秒）。默认值与约束见 `start_time`。",
            "minimum": 0
          },
          "p": {
            "type": "integer",
            "description": "页码，从 1 开始。",
            "format": "int64",
            "minimum": 1
          },
          "limit": {
            "type": "integer",
            "description": "每页条数。",
            "format": "int64",
            "minimum": 1,
            "maximum": 100,
            "default": 10
          },
          "channel_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "description": "",
              "format": "int64"
            },
            "description": "按协作空间 ID 过滤。"
          },
          "integration_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "description": "",
              "format": "int64"
            },
            "description": "按上报集成 ID 过滤。提供时至少 1 个。",
            "minItems": 1
          },
          "orderby": {
            "type": "string",
            "description": "排序字段：`start_time` 或 `last_time`，默认 `start_time`。",
            "enum": [
              "start_time",
              "last_time"
            ]
          },
          "asc": {
            "type": "boolean",
            "description": "为 true 时升序排序，默认降序。"
          },
          "include_events": {
            "type": "boolean",
            "description": "为 true 时返回每个变更的底层变更事件。"
          },
          "query": {
            "type": "string",
            "description": "对变更标题、change_key、描述做大小写不敏感的子串或正则匹配。非法正则按字面量匹配。"
          },
          "filters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterCondition"
            },
            "description": "结构化过滤条件，与查询按 AND 组合（如按标签过滤）。以 `incident` 开头的 key 会被忽略。"
          },
          "data_source_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64",
              "description": "集成 ID。"
            },
            "description": "已废弃：请使用 `integration_ids`。提供时至少 1 个。",
            "deprecated": true,
            "minItems": 1
          },
          "data_source_id": {
            "type": "integer",
            "format": "int64",
            "minimum": 1,
            "deprecated": true,
            "description": "已废弃：请使用 `integration_ids`。按单个集成 ID 过滤。"
          },
          "integration_id": {
            "type": "integer",
            "format": "int64",
            "minimum": 1,
            "deprecated": true,
            "description": "已废弃：请使用 `integration_ids`。按单个集成 ID 过滤。"
          }
        }
      },
      "ListChangeResponse": {
        "type": "object",
        "properties": {
          "total": {
            "type": "integer",
            "description": "匹配的变更总数。",
            "format": "int64"
          },
          "has_next_page": {
            "type": "boolean",
            "description": "当前页之后是否还有更多页。"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ChangeItem"
            },
            "description": "当前页的变更列表。"
          }
        }
      },
      "WarRoomPersonItem": {
        "type": "object",
        "properties": {
          "account_id": {
            "type": "integer",
            "description": "该人员所属账户。",
            "format": "int64"
          },
          "person_id": {
            "type": "integer",
            "description": "人员 ID。",
            "format": "int64"
          },
          "person_name": {
            "type": "string",
            "description": "人员显示名称。"
          },
          "avatar": {
            "type": "string",
            "description": "人员头像图片 URL。"
          },
          "email": {
            "type": "string",
            "description": "人员邮箱地址。"
          },
          "phone": {
            "type": "string",
            "description": "人员电话号码。"
          },
          "locale": {
            "type": "string",
            "description": "人员偏好的语言区域。"
          },
          "time_zone": {
            "type": "string",
            "description": "人员所在时区。"
          },
          "as": {
            "type": "string",
            "description": "人员在相关上下文中担任的角色。"
          },
          "status": {
            "type": "string",
            "description": "人员当前状态。"
          }
        },
        "required": [
          "account_id",
          "person_id"
        ]
      },
      "GetWarRoomDefaultObserversRequest": {
        "type": "object",
        "properties": {
          "incident_id": {
            "type": "string",
            "description": "故障 ID，MongoDB ObjectID 十六进制字符串。"
          }
        },
        "required": [
          "incident_id"
        ]
      },
      "GetWarRoomDefaultObserversResponse": {
        "type": "object",
        "properties": {
          "observers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WarRoomPersonItem"
            },
            "description": "建议作为作战室默认观察者的历史响应人。"
          }
        }
      },
      "AddWarRoomMemberRequest": {
        "type": "object",
        "properties": {
          "integration_id": {
            "type": "integer",
            "description": "承载作战室的 IM 集成 ID，可通过 `POST /datasource/im/war-room-enabled/list` 获取。",
            "format": "int64"
          },
          "chat_id": {
            "type": "string",
            "description": "IM 平台中作战室的群聊 ID。"
          },
          "member_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "要加入作战室的人员 ID 列表。"
          }
        },
        "required": [
          "integration_id",
          "chat_id",
          "member_ids"
        ]
      },
      "PreviewTemplateRequest": {
        "type": "object",
        "properties": {
          "content": {
            "type": "string",
            "description": "要渲染的模板内容。"
          },
          "type": {
            "type": "string",
            "description": "模板渠道类型，用于选择渲染引擎。`email` 按 Go html/template 渲染，其他渠道按 text/template 渲染。取值与模板渠道字段一致，如 `email`、`sms`、`voice`、`dingtalk`、`wecom`、`feishu`、`feishu_app`、`dingtalk_app`、`wecom_app`、`slack_app`、`teams_app`、`telegram`、`slack`、`zoom`。"
          },
          "incident_id": {
            "type": "string",
            "description": "用于渲染模板的故障 ID，省略时使用模拟数据。MongoDB ObjectID 十六进制字符串。",
            "pattern": "^[0-9a-fA-F]{24}$"
          },
          "incident_card_hidden_fields": {
            "$ref": "#/components/schemas/IncidentCardHiddenFields",
            "description": "预览时按 IM 应用隐藏的故障卡片字段。"
          },
          "feishu_app_card_v2_enabled": {
            "type": "boolean",
            "description": "按飞书应用卡片 v2 消息渲染预览。"
          },
          "feishu_app_card_v2_preserve_blank_lines": {
            "type": "boolean",
            "description": "飞书应用卡片 v2 预览保留正文中的空行。"
          }
        },
        "required": [
          "content",
          "type"
        ],
        "description": "模板预览请求。"
      },
      "PreviewTemplateResponse": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "模板是否渲染成功。"
          },
          "content": {
            "type": "string",
            "description": "渲染后的模板输出，success 为 true 时返回。"
          },
          "message": {
            "type": "string",
            "description": "渲染失败的错误说明，success 为 false 时返回。"
          },
          "fixed_fields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PreviewIncidentCardFixedField"
            },
            "description": "已应用隐藏规则后，为受支持 IM 预览返回的固定故障卡片字段。"
          }
        },
        "required": [
          "success",
          "content",
          "message"
        ],
        "description": "模板预览结果。"
      },
      "WarRoomDataSourceItem": {
        "type": "object",
        "properties": {
          "data_source_id": {
            "type": "integer",
            "description": "集成 ID。",
            "format": "int64"
          },
          "account_id": {
            "type": "integer",
            "description": "该集成所属账户。",
            "format": "int64"
          },
          "team_id": {
            "type": "integer",
            "description": "拥有该集成的团队。",
            "format": "int64"
          },
          "plugin_id": {
            "type": "integer",
            "description": "该集成对应的插件 ID。",
            "format": "int64"
          },
          "name": {
            "type": "string",
            "description": "集成名称。"
          },
          "status": {
            "type": "string",
            "description": "集成状态：`enabled` 启用、`disabled` 禁用。已删除的集成不会返回。",
            "enum": [
              "enabled",
              "disabled"
            ]
          },
          "category": {
            "type": "string",
            "description": "插件类别；本接口返回的 IM 集成固定为 `im`。"
          },
          "plugin_type": {
            "type": "string",
            "description": "IM 集成插件类型标识，如 `feishu_app`、`dingtalk_app`、`wecom_app`、`slack_app`、`teams_app`。"
          },
          "plugin_type_name": {
            "type": "string",
            "description": "集成插件类型的本地化显示名称。"
          },
          "description": {
            "type": "string",
            "description": "集成描述。"
          },
          "integration_key": {
            "type": "string",
            "description": "告警源向该集成推送时使用的推送密钥。"
          },
          "ref_id": {
            "type": "string",
            "description": "集成的外部引用 ID。"
          },
          "settings": {
            "type": "object",
            "additionalProperties": true,
            "description": "集成的插件特定配置。"
          },
          "no_editable": {
            "type": "boolean",
            "description": "集成是否为只读。"
          },
          "creator_id": {
            "type": "integer",
            "description": "创建该集成的人员。",
            "format": "int64"
          },
          "updated_by": {
            "type": "integer",
            "description": "最近更新该集成的人员。",
            "format": "int64"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "description": "集成创建时的 Unix 时间戳（秒）。"
          },
          "updated_at": {
            "type": "integer",
            "format": "int64",
            "description": "集成最近更新时的 Unix 时间戳（秒）。"
          },
          "last_time": {
            "type": "integer",
            "format": "int64",
            "description": "该数据源最近活动时间的 Unix 秒级时间戳。固定为 `0`，本接口不填充该字段。"
          },
          "exclusive_data_source_id": {
            "type": "integer",
            "description": "历史遗留的独占集成关联 ID，已废弃。",
            "format": "int64"
          },
          "integration_id": {
            "type": "integer",
            "description": "集成 ID，data_source_id 的别名。",
            "format": "int64"
          }
        },
        "required": [
          "data_source_id",
          "account_id",
          "team_id",
          "plugin_id",
          "name",
          "status",
          "category",
          "plugin_type",
          "plugin_type_name",
          "description",
          "integration_key",
          "ref_id",
          "settings",
          "no_editable",
          "creator_id",
          "updated_by",
          "created_at",
          "updated_at",
          "last_time",
          "exclusive_data_source_id",
          "integration_id"
        ],
        "description": "IM 集成（数据源）条目。"
      },
      "ListWarRoomEnabledResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WarRoomDataSourceItem"
            },
            "description": "已开启作战室功能的 IM 集成。"
          }
        },
        "required": [
          "items"
        ],
        "description": "已开启作战室功能的 IM 集成列表响应。"
      },
      "StatusPageSectionItem": {
        "type": "object",
        "properties": {
          "section_id": {
            "type": "string",
            "description": "分组 ID。为空时不返回。"
          },
          "name": {
            "type": "string",
            "description": "分组名称。"
          },
          "description": {
            "type": "string",
            "description": "分组描述。"
          },
          "order_id": {
            "type": "integer",
            "description": "分组的展示顺序。为 0 时不返回。",
            "format": "int64"
          },
          "hide_uptime": {
            "type": "boolean",
            "description": "是否在汇总响应中隐藏可用率数据。"
          },
          "hide_all": {
            "type": "boolean",
            "description": "是否在汇总接口中隐藏该分组及其组件。"
          }
        },
        "required": [
          "name",
          "description",
          "hide_uptime",
          "hide_all"
        ]
      },
      "StatusPageSubscriptionItem": {
        "type": "object",
        "properties": {
          "email": {
            "type": "boolean",
            "description": "是否开启邮件订阅。"
          },
          "im": {
            "type": "boolean",
            "description": "是否开启 IM 订阅。"
          }
        },
        "required": [
          "email",
          "im"
        ]
      },
      "StatusPageItem": {
        "type": "object",
        "properties": {
          "page_id": {
            "type": "integer",
            "description": "状态页 ID。",
            "format": "int64"
          },
          "name": {
            "type": "string",
            "description": "状态页显示名称。"
          },
          "url_name": {
            "type": "string",
            "description": "URL 安全的别名，在账户内唯一。"
          },
          "type": {
            "type": "string",
            "description": "状态页可见性类型。`public` 为公开状态页，任何人可访问，订阅方式为邮件；`internal` 为内部状态页，仅账户成员可访问，订阅方式为 IM。",
            "enum": [
              "public",
              "internal"
            ]
          },
          "custom_domain": {
            "type": "string",
            "description": "指向状态页的自定义域名。未设置时不返回。"
          },
          "logo": {
            "type": "string",
            "description": "状态页 Logo 图片。未设置时不返回。"
          },
          "dark_logo": {
            "type": "string",
            "description": "状态页暗色模式 Logo 图片。未设置时不返回。"
          },
          "logo_url": {
            "type": "string",
            "description": "点击 Logo 时跳转的 URL。未设置时不返回。"
          },
          "favicon": {
            "type": "string",
            "description": "状态页的网站图标。未设置时不返回。"
          },
          "page_header": {
            "type": "string",
            "description": "状态页头部内容。未设置时不返回。"
          },
          "page_footer": {
            "type": "string",
            "description": "状态页底部内容。未设置时不返回。"
          },
          "date_view": {
            "type": "string",
            "description": "时间线的展示方式。`calendar` 以日历视图展示事件日期；`list` 以列表视图展示。未设置时不返回。",
            "enum": [
              "calendar",
              "list"
            ]
          },
          "display_uptime_mode": {
            "type": "string",
            "description": "可用率的展示方式。`chart_and_percentage` 同时展示可用率图表与百分比数值；`chart` 仅展示图表；`none` 不展示可用率。未设置时不返回。",
            "enum": [
              "chart_and_percentage",
              "chart",
              "none"
            ]
          },
          "custom_links": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            },
            "description": "状态页上展示的自定义导航链接。未设置时不返回。"
          },
          "contact_info": {
            "type": "string",
            "description": "联系方式，mailto 或网站 URL。未设置时不返回。"
          },
          "components": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StatusPageComponentItem"
            },
            "description": "状态页跟踪的组件。"
          },
          "sections": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StatusPageSectionItem"
            },
            "description": "对组件进行分组的分组列表。"
          },
          "subscription": {
            "$ref": "#/components/schemas/StatusPageSubscriptionItem",
            "description": "订阅渠道开关。"
          },
          "template_preference": {
            "type": "string",
            "description": "偏好的事件模板类型：`pre_defined` 或 `message`。从未设置时不返回。"
          }
        },
        "required": [
          "page_id",
          "name",
          "url_name",
          "type",
          "components",
          "sections",
          "subscription"
        ]
      },
      "ListStatusPageResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StatusPageItem"
            },
            "description": "账户拥有的状态页。"
          }
        },
        "required": [
          "items"
        ]
      },
      "DeletePostMortemTemplateRequest": {
        "type": "object",
        "description": "删除故障复盘模板的参数。",
        "required": [
          "template_id"
        ],
        "properties": {
          "template_id": {
            "type": "string",
            "description": "模板 ID，可通过 `POST /incident/post-mortem/template/list` 获取。"
          }
        }
      },
      "InitPostMortemRequest": {
        "type": "object",
        "description": "从故障初始化复盘报告的参数。",
        "required": [
          "incident_ids",
          "template_id"
        ],
        "properties": {
          "incident_ids": {
            "type": "array",
            "minItems": 1,
            "maxItems": 10,
            "items": {
              "type": "string"
            },
            "description": "要关联到复盘报告的故障 ID，1-10 个。"
          },
          "template_id": {
            "type": "string",
            "description": "用于初始化报告的模板 ID。"
          }
        }
      },
      "ListPostMortemTemplatesRequest": {
        "type": "object",
        "description": "故障复盘模板的分页与排序参数。",
        "properties": {
          "order_by": {
            "type": "string",
            "enum": [
              "created_at_seconds"
            ],
            "description": "排序字段。"
          },
          "asc": {
            "type": "boolean",
            "description": "为 true 时按升序排序。"
          },
          "p": {
            "type": "integer",
            "format": "int64",
            "minimum": 0,
            "description": "页码，从 1 开始。"
          },
          "limit": {
            "type": "integer",
            "format": "int64",
            "minimum": 0,
            "maximum": 100,
            "default": 20,
            "description": "每页数量，最多 100。"
          },
          "search_after_ctx": {
            "type": "string",
            "description": "上一页响应返回的向后分页游标。"
          }
        }
      },
      "ListPostMortemTemplatesResponse": {
        "type": "object",
        "description": "分页后的故障复盘模板列表。",
        "required": [
          "items",
          "total",
          "has_next_page"
        ],
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PostMortemTemplate"
            },
            "description": "当前页的模板。"
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "description": "匹配的模板总数。"
          },
          "has_next_page": {
            "type": "boolean",
            "description": "为 true 表示还有下一页。"
          },
          "search_after_ctx": {
            "type": "string",
            "description": "向后分页游标。"
          }
        }
      },
      "PostMortemTemplate": {
        "type": "object",
        "description": "故障复盘报告模板。",
        "required": [
          "account_id",
          "template_id",
          "name",
          "description",
          "content",
          "content_markdown",
          "team_id",
          "created_at_seconds",
          "updated_at_seconds"
        ],
        "properties": {
          "account_id": {
            "type": "integer",
            "format": "int64",
            "description": "模板所属账号 ID。内置模板为 0。"
          },
          "template_id": {
            "type": "string",
            "description": "模板 ID。内置模板使用稳定的 `post_mortem_default_tmpl_*` ID。"
          },
          "name": {
            "type": "string",
            "description": "控制台展示的模板名称。"
          },
          "description": {
            "type": "string",
            "description": "模板描述。"
          },
          "content": {
            "type": "string",
            "description": "用于初始化复盘正文的 BlockNote JSON 内容。"
          },
          "content_markdown": {
            "type": "string",
            "description": "模板内容的 Markdown 版本，供 AI 生成使用。"
          },
          "team_id": {
            "type": "integer",
            "format": "int64",
            "description": "管理团队 ID。内置模板为 0。"
          },
          "created_at_seconds": {
            "type": "integer",
            "format": "int64",
            "description": "模板创建时间的 Unix 秒级时间戳。"
          },
          "updated_at_seconds": {
            "type": "integer",
            "format": "int64",
            "description": "模板最近更新时间的 Unix 秒级时间戳。"
          }
        }
      },
      "ResetPostMortemBasicsRequest": {
        "type": "object",
        "description": "写回复盘报告的故障基础信息。",
        "required": [
          "post_mortem_id",
          "incidents_highest_severity",
          "incidents_earliest_start_seconds"
        ],
        "properties": {
          "post_mortem_id": {
            "type": "string",
            "description": "复盘 ID，可通过 `POST /incident/post-mortem/list` 获取。"
          },
          "incidents_highest_severity": {
            "type": "string",
            "description": "关联故障中的最高严重级别：`Critical`、`Warning`、`Info` 或 `Ok`。",
            "enum": [
              "Critical",
              "Warning",
              "Info",
              "Ok"
            ]
          },
          "incidents_earliest_start_seconds": {
            "type": "integer",
            "format": "int64",
            "minimum": 1,
            "description": "最早关联故障开始时间的 Unix 秒级时间戳。"
          },
          "incidents_latest_close_seconds": {
            "type": "integer",
            "format": "int64",
            "minimum": 0,
            "description": "最晚关联故障关闭时间的 Unix 秒级时间戳；仍未关闭时为 0。"
          },
          "incidents_total_duration_seconds": {
            "type": "integer",
            "format": "int64",
            "minimum": 0,
            "description": "故障总持续时间，单位秒。"
          },
          "responder_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "写入报告的响应人成员 ID。"
          }
        }
      },
      "ResetPostMortemContentRequest": {
        "type": "object",
        "description": "完整替换草稿状态故障复盘正文的参数。",
        "required": [
          "post_mortem_id",
          "markdown",
          "expected_revision",
          "idempotency_key"
        ],
        "properties": {
          "post_mortem_id": {
            "type": "string",
            "description": "要重置的故障复盘 ID，可通过 `POST /incident/post-mortem/list` 获取。"
          },
          "markdown": {
            "type": "string",
            "description": "替换后的 Markdown 正文，最大 4 MiB。"
          },
          "expected_revision": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64",
            "minimum": 0,
            "description": "调用方预期的当前正文修订版本。首次写入从未保存过的文档时传 0。"
          },
          "idempotency_key": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "description": "用于安全重试这一次相同重置请求的非空键。"
          }
        }
      },
      "ResetPostMortemFollowUpsRequest": {
        "type": "object",
        "description": "替换复盘后续行动项的参数。",
        "required": [
          "post_mortem_id"
        ],
        "properties": {
          "post_mortem_id": {
            "type": "string",
            "description": "复盘 ID，可通过 `POST /incident/post-mortem/list` 获取。"
          },
          "follow_ups": {
            "type": "string",
            "description": "自由文本格式的后续行动项。"
          }
        }
      },
      "ResetPostMortemStatusRequest": {
        "type": "object",
        "description": "更新复盘报告状态的参数。",
        "required": [
          "post_mortem_id",
          "status"
        ],
        "properties": {
          "post_mortem_id": {
            "type": "string",
            "description": "复盘 ID，可通过 `POST /incident/post-mortem/list` 获取。"
          },
          "status": {
            "type": "string",
            "enum": [
              "drafting",
              "published"
            ],
            "description": "目标报告状态：`drafting` 草稿，`published` 已发布。"
          }
        }
      },
      "ResetPostMortemTitleRequest": {
        "type": "object",
        "description": "更新复盘报告标题的参数。",
        "required": [
          "post_mortem_id",
          "title"
        ],
        "properties": {
          "post_mortem_id": {
            "type": "string",
            "description": "复盘 ID，可通过 `POST /incident/post-mortem/list` 获取。"
          },
          "title": {
            "type": "string",
            "description": "新的报告标题。"
          }
        }
      },
      "TryLinkPersonRequest": {
        "type": "object",
        "description": "尝试自动关联 IM 账号的参数。",
        "required": [
          "integration_id"
        ],
        "properties": {
          "integration_id": {
            "type": "integer",
            "format": "int64",
            "description": "IM 集成 ID，可通过 `POST /datasource/im/war-room-enabled/list` 获取。"
          }
        }
      },
      "TryLinkPersonResponse": {
        "type": "object",
        "description": "本次调用新关联的人员。如果没有成员可关联，响应中的 `new_linked_person_ids` 可能为空数组，或整个 `data` 字段被省略。",
        "required": [
          "new_linked_person_ids"
        ],
        "properties": {
          "new_linked_person_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "本次调用中新关联成功的人员 ID。"
          }
        }
      },
      "UpsertPostMortemTemplateRequest": {
        "type": "object",
        "description": "创建或更新故障复盘模板的参数。",
        "required": [
          "name",
          "content"
        ],
        "properties": {
          "template_id": {
            "type": "string",
            "description": "模板 ID。创建新模板时省略；更新已有模板时传入。"
          },
          "team_id": {
            "type": "integer",
            "format": "int64",
            "description": "管理团队 ID。创建自定义模板时必填。"
          },
          "name": {
            "type": "string",
            "description": "模板名称。"
          },
          "description": {
            "type": "string",
            "description": "模板描述。"
          },
          "content": {
            "type": "string",
            "description": "BlockNote JSON 模板内容。"
          },
          "content_markdown": {
            "type": "string",
            "description": "模板内容的 Markdown 版本。"
          }
        }
      },
      "DeleteStatusPageComponentRequest": {
        "type": "object",
        "description": "删除状态页服务组件的请求参数。",
        "required": [
          "page_id",
          "component_ids"
        ],
        "properties": {
          "page_id": {
            "type": "integer",
            "format": "int64",
            "description": "状态页 ID，可通过 `GET /status-page/list` 获取。"
          },
          "component_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "要删除的组件 ID 列表，可通过 `GET /status-page/info` 获取。",
            "minItems": 1
          }
        }
      },
      "DeleteStatusPageSectionRequest": {
        "type": "object",
        "description": "删除状态页区域的请求参数。",
        "required": [
          "page_id",
          "section_ids"
        ],
        "properties": {
          "page_id": {
            "type": "integer",
            "format": "int64",
            "description": "状态页 ID，可通过 `GET /status-page/list` 获取。"
          },
          "section_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "要删除的区域 ID 列表，可通过 `GET /status-page/info` 获取。",
            "minItems": 1
          }
        }
      },
      "DeleteStatusPageTemplateRequest": {
        "type": "object",
        "description": "删除状态页模板的请求参数。",
        "required": [
          "page_id",
          "type",
          "template_id"
        ],
        "properties": {
          "page_id": {
            "type": "integer",
            "format": "int64",
            "description": "状态页 ID，可通过 `GET /status-page/list` 获取。"
          },
          "type": {
            "type": "string",
            "enum": [
              "pre_defined",
              "message"
            ],
            "description": "模板分类：`pre_defined` 预定义模板，`message` 消息模板。"
          },
          "template_id": {
            "type": "string",
            "description": "要删除的模板 ID，可通过 `GET /status-page/template/list` 获取。"
          }
        }
      },
      "UpsertStatusPageComponentRequest": {
        "type": "object",
        "description": "创建或更新状态页服务组件的请求参数。",
        "required": [
          "page_id",
          "components"
        ],
        "properties": {
          "page_id": {
            "type": "integer",
            "format": "int64",
            "description": "状态页 ID，可通过 `GET /status-page/list` 获取。"
          },
          "components": {
            "type": "array",
            "description": "要创建或更新的组件列表。",
            "items": {
              "type": "object",
              "required": [
                "name"
              ],
              "properties": {
                "component_id": {
                  "type": "string",
                  "description": "组件 ID。省略则创建新组件；提供则更新已有组件。"
                },
                "section_id": {
                  "type": "string",
                  "description": "所属区域 ID。省略则将组件置于顶层。"
                },
                "name": {
                  "type": "string",
                  "description": "组件显示名称。"
                },
                "description": {
                  "type": "string",
                  "description": "组件描述。"
                },
                "order_id": {
                  "type": "integer",
                  "format": "int64",
                  "description": "在所属区域中的显示顺序。"
                },
                "hide_uptime": {
                  "type": "boolean",
                  "description": "为 true 时，在汇总接口中隐藏该组件的可用率数据。"
                },
                "hide_all": {
                  "type": "boolean",
                  "description": "为 true 时，在汇总接口中完全隐藏该组件。"
                },
                "available_since_seconds": {
                  "type": "integer",
                  "format": "int64",
                  "description": "组件可用起始时间（Unix 秒）。创建时缺省取当前时间；更新时覆盖原值。"
                }
              }
            },
            "minItems": 1
          }
        }
      },
      "UpsertStatusPageComponentResponse": {
        "type": "object",
        "description": "创建或更新状态页组件的结果。",
        "required": [
          "component_ids"
        ],
        "properties": {
          "component_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "创建或更新的组件 ID 列表，顺序与请求一致。"
          }
        }
      },
      "UpsertStatusPageSectionRequest": {
        "type": "object",
        "description": "创建或更新状态页区域的请求参数。",
        "required": [
          "page_id",
          "sections"
        ],
        "properties": {
          "page_id": {
            "type": "integer",
            "format": "int64",
            "description": "状态页 ID，可通过 `GET /status-page/list` 获取。"
          },
          "sections": {
            "type": "array",
            "description": "要创建或更新的区域列表。",
            "items": {
              "type": "object",
              "required": [
                "name"
              ],
              "properties": {
                "section_id": {
                  "type": "string",
                  "description": "区域 ID。省略则创建新区域；提供则更新已有区域。"
                },
                "name": {
                  "type": "string",
                  "description": "区域显示名称。"
                },
                "description": {
                  "type": "string",
                  "description": "区域描述。"
                },
                "order_id": {
                  "type": "integer",
                  "format": "int64",
                  "description": "显示顺序。"
                },
                "hide_uptime": {
                  "type": "boolean",
                  "description": "为 true 时，隐藏该区域下所有组件的可用率数据。"
                },
                "hide_all": {
                  "type": "boolean",
                  "description": "为 true 时，在汇总接口中完全隐藏该区域。"
                }
              }
            },
            "minItems": 1
          }
        }
      },
      "UpsertStatusPageSectionResponse": {
        "type": "object",
        "description": "创建或更新状态页区域的结果。",
        "required": [
          "section_ids"
        ],
        "properties": {
          "section_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "创建或更新的区域 ID 列表，顺序与请求一致。"
          }
        }
      },
      "UpsertStatusPageTemplateRequest": {
        "type": "object",
        "description": "创建或更新状态页模板的请求参数。",
        "required": [
          "page_id",
          "type",
          "template"
        ],
        "properties": {
          "page_id": {
            "type": "integer",
            "format": "int64",
            "description": "状态页 ID，可通过 `GET /status-page/list` 获取。"
          },
          "type": {
            "type": "string",
            "enum": [
              "pre_defined",
              "message"
            ],
            "description": "模板分类。`pre_defined` 为预定义事件模板；`message` 为通知消息模板。"
          },
          "template": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/StatusPagePreDefinedTemplate"
              },
              {
                "$ref": "#/components/schemas/StatusPageMessageTemplate"
              }
            ],
            "description": "模板内容。结构取决于 `type`：`pre_defined` 为预定义事件模板，`message` 为消息模板。"
          }
        }
      },
      "UpsertStatusPageTemplateResponse": {
        "type": "object",
        "description": "创建或更新状态页模板的结果。",
        "required": [
          "template_id"
        ],
        "properties": {
          "template_id": {
            "type": "string",
            "description": "创建或更新的模板 ID。"
          }
        }
      },
      "CreateStatusPageRequest": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "状态页展示名称。",
            "maxLength": 255
          },
          "url_name": {
            "type": "string",
            "description": "URL 安全的状态页路径，在账户和状态页类型内唯一。",
            "maxLength": 255
          },
          "type": {
            "type": "string",
            "description": "状态页可见性类型：`public` 任何人可访问，`internal` 仅本账号登录成员可见。",
            "enum": [
              "public",
              "internal"
            ]
          },
          "custom_domain": {
            "type": "string",
            "description": "公开状态页使用的自定义域名。",
            "maxLength": 255
          },
          "page_title": {
            "type": "string",
            "description": "状态页浏览器标题。"
          },
          "page_header": {
            "type": "string",
            "description": "状态页页头内容。"
          },
          "page_footer": {
            "type": "string",
            "description": "状态页页脚内容。"
          },
          "date_view": {
            "type": "string",
            "description": "事件日期展示方式：`calendar` 日历视图，`list` 列表视图。",
            "enum": [
              "calendar",
              "list"
            ]
          },
          "display_uptime_mode": {
            "type": "string",
            "description": "可用率展示方式：`chart_and_percentage` 图表加百分比，`chart` 仅图表，`none` 不展示。",
            "enum": [
              "chart_and_percentage",
              "chart",
              "none"
            ]
          },
          "custom_links": {
            "type": "array",
            "description": "状态页展示的自定义导航链接。",
            "items": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            }
          },
          "contact_info": {
            "type": "string",
            "description": "联系信息，例如 mailto 或网站 URL。"
          },
          "subscription": {
            "$ref": "#/components/schemas/StatusPageSubscriptionItem",
            "description": "订阅渠道开关。"
          }
        },
        "required": [
          "name",
          "url_name",
          "type",
          "date_view",
          "display_uptime_mode"
        ]
      },
      "CreateStatusPageResponse": {
        "type": "object",
        "properties": {
          "page_id": {
            "type": "integer",
            "format": "int64",
            "description": "创建的状态页 ID。"
          },
          "page_name": {
            "type": "string",
            "description": "创建的状态页名称。"
          },
          "page_url_name": {
            "type": "string",
            "description": "最终分配给状态页的 URL 安全路径。"
          }
        },
        "required": [
          "page_id",
          "page_name",
          "page_url_name"
        ]
      },
      "UpdateStatusPageRequest": {
        "type": "object",
        "description": "更新已有状态页所需的参数。除 `page_id` 外均为可选字段；省略某字段或传 null 表示保持其原值。",
        "required": [
          "page_id"
        ],
        "properties": {
          "page_id": {
            "type": "integer",
            "format": "int64",
            "description": "状态页 ID，可通过 `GET /status-page/list` 获取。"
          },
          "name": {
            "type": [
              "string",
              "null"
            ],
            "description": "状态页展示名称。省略或传 null 表示保持原值。",
            "maxLength": 255
          },
          "url_name": {
            "type": [
              "string",
              "null"
            ],
            "description": "URL 安全的状态页路径，在账户和状态页类型内唯一。省略或传 null 表示保持原值。",
            "maxLength": 255
          },
          "custom_domain": {
            "type": [
              "string",
              "null"
            ],
            "description": "公开状态页使用的自定义域名。省略或传 null 表示保持原值。",
            "maxLength": 255
          },
          "page_title": {
            "type": [
              "string",
              "null"
            ],
            "description": "状态页浏览器标题。省略或传 null 表示保持原值。"
          },
          "logo": {
            "type": [
              "string",
              "null"
            ],
            "description": "状态页 Logo 图片。省略或传 null 表示保持原值。"
          },
          "dark_logo": {
            "type": [
              "string",
              "null"
            ],
            "description": "状态页暗色模式 Logo 图片。省略或传 null 表示保持原值。"
          },
          "logo_url": {
            "type": [
              "string",
              "null"
            ],
            "description": "点击 Logo 时跳转的 URL。省略或传 null 表示保持原值。",
            "maxLength": 255
          },
          "favicon": {
            "type": [
              "string",
              "null"
            ],
            "description": "状态页的网站图标。省略或传 null 表示保持原值。"
          },
          "page_header": {
            "type": [
              "string",
              "null"
            ],
            "description": "状态页页头内容。省略或传 null 表示保持原值。"
          },
          "page_footer": {
            "type": [
              "string",
              "null"
            ],
            "description": "状态页页脚内容。省略或传 null 表示保持原值。"
          },
          "date_view": {
            "type": [
              "string",
              "null"
            ],
            "description": "事件日期展示方式。省略或传 null 表示保持原值。`calendar` 为日历视图；`list` 为列表视图。",
            "enum": [
              "calendar",
              "list"
            ]
          },
          "display_uptime_mode": {
            "type": [
              "string",
              "null"
            ],
            "description": "可用率展示方式。省略或传 null 表示保持原值。`chart_and_percentage` 同时展示图表与百分比；`chart` 仅展示图表；`none` 不展示。",
            "enum": [
              "chart_and_percentage",
              "chart",
              "none"
            ]
          },
          "custom_links": {
            "type": "array",
            "description": "状态页展示的自定义导航链接。省略或传空数组表示保持当前链接。",
            "items": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            }
          },
          "contact_info": {
            "type": [
              "string",
              "null"
            ],
            "description": "联系信息，例如 mailto 或网站 URL。省略或传 null 表示保持原值。"
          },
          "subscription": {
            "$ref": "#/components/schemas/StatusPageSubscriptionItem",
            "description": "订阅渠道开关。省略或传 null 表示保持原值。"
          },
          "template_preference": {
            "type": [
              "string",
              "null"
            ],
            "description": "偏好的事件模板类型：`pre_defined` 或 `message`。省略或传 null 表示保持原值。"
          }
        }
      },
      "DeleteStatusPageRequest": {
        "type": "object",
        "description": "删除状态页所需的参数。",
        "required": [
          "page_id"
        ],
        "properties": {
          "page_id": {
            "type": "integer",
            "format": "int64",
            "description": "状态页 ID，可通过 `GET /status-page/list` 获取。"
          }
        }
      },
      "CustomFieldValues": {
        "type": "object",
        "description": "以账户自定义字段名为键的字段值。允许的字段、类型和必填规则由当前生效表单决定。",
        "additionalProperties": true
      },
      "IncidentActionImage": {
        "type": "object",
        "description": "附加到认领或解决故障时间线记录的图片。",
        "required": [
          "src"
        ],
        "properties": {
          "src": {
            "type": "string",
            "description": "图片来源。支持 `img_` 上传令牌、`http(s)` URL，或以 `/` 开头的对象存储键。"
          },
          "href": {
            "type": "string",
            "description": "图片指向的可选链接。"
          },
          "alt": {
            "type": "string",
            "description": "图片替代文本。"
          }
        }
      },
      "IncidentCardHiddenFields": {
        "type": "object",
        "description": "按 IM 应用类型隐藏的故障卡片字段。只接受受支持的 IM 应用类型和字段名。",
        "propertyNames": {
          "type": "string",
          "enum": [
            "feishu_app",
            "dingtalk_app",
            "slack_app",
            "teams_app",
            "wecom_app"
          ]
        },
        "additionalProperties": {
          "type": "array",
          "description": "要为该 IM 应用隐藏的故障卡片字段名。",
          "items": {
            "type": "string",
            "enum": [
              "channel",
              "snoozed_before",
              "severity",
              "responders",
              "aggregate_alert_count",
              "detail",
              "ai_analysis"
            ]
          }
        }
      },
      "PreviewIncidentCardFixedField": {
        "type": "object",
        "description": "已应用隐藏规则后，为受支持 IM 预览返回的固定故障卡片字段。",
        "required": [
          "field",
          "value"
        ],
        "properties": {
          "field": {
            "type": "string",
            "enum": [
              "channel",
              "snoozed_before",
              "severity",
              "responders",
              "aggregate_alert_count"
            ],
            "description": "故障卡片字段名。\n\n| 值 | 含义 |\n|---|---|\n| `channel` | 触发该故障的告警来源通道名称；仅当通道名非空时返回。 |\n| `snoozed_before` | 故障暂缓（Snooze）截止时间，格式为 `YYYY-MM-DD HH:MM:SS`；仅当故障处于暂缓状态时返回。 |\n| `severity` | 故障等级标签；仅当等级非空时返回。 |\n| `responders` | 当前处理人姓名列表，以空格分隔；仅当存在处理人时返回。 |\n| `aggregate_alert_count` | 聚合到该故障的告警数量；仅当数量大于 1 时返回。 |"
          },
          "value": {
            "type": "string",
            "description": "固定字段的渲染显示值。"
          }
        }
      },
      "FieldDeleteReference": {
        "type": "object",
        "description": "仍引用该字段的自定义表单。",
        "required": [
          "kind",
          "name",
          "href"
        ],
        "properties": {
          "kind": {
            "type": "string",
            "const": "custom_form",
            "description": "被引用资源类型。在此响应中始终为 `custom_form`。"
          },
          "name": {
            "type": "string",
            "description": "引用该字段的自定义表单类型名称（如 `解决故障` 表示解决故障表单）。"
          },
          "href": {
            "type": "string",
            "description": "引用该字段的自定义表单控制台 URL。"
          }
        }
      },
      "FieldDeleteReferenceError": {
        "type": "object",
        "description": "自定义表单仍引用该字段时返回的错误响应。",
        "required": [
          "request_id",
          "error",
          "data"
        ],
        "properties": {
          "request_id": {
            "type": "string",
            "example": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
            "description": "本次请求的追踪 ID，与 `Flashcat-Request-Id` 响应头一致。"
          },
          "error": {
            "$ref": "#/components/schemas/DutyError"
          },
          "data": {
            "type": "object",
            "required": [
              "refs"
            ],
            "properties": {
              "refs": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/FieldDeleteReference"
                },
                "description": "仍引用该字段的自定义表单列表，每项含 `kind`/`name`/`href`；需先解除全部引用才能删除该字段。"
              }
            },
            "description": "附加错误数据；本错误下固定包含 `refs` 字段。"
          }
        }
      },
      "ServiceDeskPlusRequestListRequest": {
        "type": "object",
        "description": "查询 ServiceDeskPlus 请求同步记录的过滤条件。按故障 ID 查询时可不传时间窗口；否则必须传入不超过 30 天的 Unix 秒时间窗口。",
        "properties": {
          "start_time": {
            "type": "integer",
            "format": "int64",
            "minimum": 0,
            "description": "时间窗口起点（Unix 秒）。按 `incident_id` 查询时可省略。"
          },
          "end_time": {
            "type": "integer",
            "format": "int64",
            "minimum": 0,
            "description": "时间窗口终点（Unix 秒），必须大于等于 `start_time`。按 `incident_id` 查询时可省略。"
          },
          "status": {
            "type": "string",
            "enum": [
              "success",
              "failed"
            ],
            "description": "按同步状态过滤：`success` 成功，`failed` 失败。"
          },
          "channel_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "协作空间 ID 列表。"
          },
          "integration_id": {
            "type": "integer",
            "format": "int64",
            "minimum": 0,
            "description": "ServiceDeskPlus 集成 ID。"
          },
          "incident_id": {
            "type": "string",
            "maxLength": 64,
            "description": "Flashduty 故障 ID。提供后可不传时间窗口。"
          },
          "request_id": {
            "type": "string",
            "maxLength": 64,
            "description": "ServiceDeskPlus 请求 ID。"
          },
          "asc": {
            "type": "boolean",
            "description": "为 `true` 时按内部记录 ID 升序返回；否则降序。"
          },
          "p": {
            "type": "integer",
            "format": "int64",
            "minimum": 0,
            "description": "页码，从 1 开始。使用 `search_after_ctx` 时忽略。"
          },
          "limit": {
            "type": "integer",
            "format": "int64",
            "minimum": 0,
            "maximum": 100,
            "default": 20,
            "description": "分页大小，默认 20，最大 100。"
          },
          "search_after_ctx": {
            "type": "string",
            "description": "分页游标：首页留空，翻页时传上一页响应中的 `search_after_ctx`。"
          }
        }
      },
      "ServiceDeskPlusRequestMappingItem": {
        "type": "object",
        "description": "ServiceDeskPlus 请求与 Flashduty 故障之间的一条同步映射记录。",
        "required": [
          "created_at",
          "status",
          "request_id",
          "request_link",
          "integration_id",
          "incident_id",
          "incident_title",
          "channel_id",
          "channel_name"
        ],
        "properties": {
          "created_at": {
            "type": "integer",
            "format": "int64",
            "description": "映射记录创建时间（Unix 秒）。"
          },
          "status": {
            "type": "string",
            "enum": [
              "success",
              "failed"
            ],
            "description": "同步状态。"
          },
          "request_id": {
            "type": "string",
            "description": "ServiceDeskPlus 请求 ID。"
          },
          "request_link": {
            "type": "string",
            "description": "ServiceDeskPlus 请求详情链接。"
          },
          "integration_id": {
            "type": "integer",
            "format": "int64",
            "description": "ServiceDeskPlus 集成 ID。"
          },
          "incident_id": {
            "type": "string",
            "description": "关联的 Flashduty 故障 ID。"
          },
          "incident_title": {
            "type": "string",
            "description": "关联故障标题。"
          },
          "channel_id": {
            "type": "integer",
            "format": "int64",
            "description": "故障所属协作空间 ID。"
          },
          "channel_name": {
            "type": "string",
            "description": "故障所属协作空间名称。"
          },
          "error_message": {
            "type": "string",
            "description": "同步失败时的错误信息。成功记录通常不返回该字段。"
          }
        }
      },
      "ServiceDeskPlusRequestListResponse": {
        "type": "object",
        "description": "分页的 ServiceDeskPlus 请求同步记录列表。",
        "required": [
          "items",
          "total",
          "has_next_page"
        ],
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ServiceDeskPlusRequestMappingItem"
            },
            "description": "当前页同步记录。"
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "description": "匹配记录总数，最多统计 1000 条。"
          },
          "has_next_page": {
            "type": "boolean",
            "description": "是否还有更多页。"
          },
          "search_after_ctx": {
            "type": "string",
            "description": "下一页翻页游标。无更多数据时为空。"
          }
        }
      },
      "IncidentCommentTypeItem": {
        "type": "object",
        "description": "账户级评论类型，可附加到故障评论。",
        "properties": {
          "comment_type_id": {
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "评论类型 ID（24 位十六进制 ObjectID）。"
          },
          "account_id": {
            "type": "integer",
            "format": "int64",
            "description": "评论类型所属的账户 ID。"
          },
          "name": {
            "type": "string",
            "maxLength": 40,
            "description": "评论类型展示名称。账户内唯一（不区分大小写，忽略首尾空白）。"
          },
          "color": {
            "type": "string",
            "pattern": "^#[0-9A-F]{6}$",
            "description": "标签颜色，#RRGGBB 格式十六进制值（存储为大写）。"
          },
          "position": {
            "type": "integer",
            "format": "int64",
            "description": "评论类型的展示位置，从 1 开始。"
          },
          "creator_id": {
            "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 秒级时间戳。"
          }
        },
        "required": [
          "comment_type_id",
          "account_id",
          "name",
          "color",
          "position",
          "creator_id",
          "updated_by",
          "created_at",
          "updated_at"
        ]
      },
      "ListIncidentCommentTypesRequest": {
        "type": "object",
        "description": "无参数。该接口始终返回调用账户的全部评论类型。",
        "properties": {}
      },
      "ListIncidentCommentTypesResponse": {
        "type": "object",
        "description": "账户评论类型的完整列表，按展示位置排序。",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IncidentCommentTypeItem"
            },
            "description": "账户的全部评论类型，按展示位置排序。"
          }
        }
      },
      "CreateIncidentCommentTypeRequest": {
        "type": "object",
        "description": "创建评论类型的参数。每个账户最多 10 个评论类型。",
        "required": [
          "name",
          "color"
        ],
        "properties": {
          "name": {
            "type": "string",
            "maxLength": 40,
            "description": "展示名称。存储前去除首尾空白；账户内唯一（不区分大小写）。最多 40 个字符。"
          },
          "color": {
            "type": "string",
            "pattern": "^#[0-9A-Fa-f]{6}$",
            "description": "标签颜色，#RRGGBB 格式十六进制值，统一转为大写。"
          }
        }
      },
      "CreateIncidentCommentTypeResponse": {
        "type": "object",
        "description": "创建评论类型的结果。",
        "properties": {
          "comment_type_id": {
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "新建评论类型的 ID（24 位十六进制 ObjectID）。"
          },
          "item": {
            "$ref": "#/components/schemas/IncidentCommentTypeItem"
          }
        },
        "required": [
          "comment_type_id",
          "item"
        ]
      },
      "UpdateIncidentCommentTypeRequest": {
        "type": "object",
        "description": "更新评论类型的参数。部分更新：`name` 和 `color` 至少提供一个。",
        "required": [
          "comment_type_id"
        ],
        "properties": {
          "comment_type_id": {
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "要更新的评论类型 ID（24 位十六进制 ObjectID）。"
          },
          "name": {
            "type": "string",
            "maxLength": 40,
            "description": "新的展示名称。存储前去除首尾空白；账户内唯一（不区分大小写）。最多 40 个字符。"
          },
          "color": {
            "type": "string",
            "pattern": "^#[0-9A-Fa-f]{6}$",
            "description": "新的标签颜色，#RRGGBB 格式十六进制值，统一转为大写。"
          }
        }
      },
      "DeleteIncidentCommentTypeRequest": {
        "type": "object",
        "description": "删除评论类型的参数。",
        "required": [
          "comment_type_id"
        ],
        "properties": {
          "comment_type_id": {
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "要删除的评论类型 ID（24 位十六进制 ObjectID）。"
          }
        }
      },
      "ReorderIncidentCommentTypesRequest": {
        "type": "object",
        "description": "调整评论类型顺序的参数。",
        "required": [
          "comment_type_ids"
        ],
        "properties": {
          "comment_type_ids": {
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "minItems": 1,
            "description": "账户全部评论类型的 ID，按期望顺序排列（24 位十六进制 ObjectID）。"
          }
        }
      },
      "WorkItemItem": {
        "type": "object",
        "description": "结构化的故障跟进事项（行动项或复盘后续行动）及其负责人。",
        "required": [
          "work_item_id",
          "item_type",
          "incident_id",
          "title",
          "status",
          "source_kind",
          "version",
          "assignee_ids",
          "assignees",
          "created_by",
          "updated_by",
          "created_at_seconds",
          "updated_at_seconds"
        ],
        "properties": {
          "work_item_id": {
            "type": "string",
            "maxLength": 128,
            "description": "跟进事项 ID（不透明字符串，最长 128 字符）。"
          },
          "item_type": {
            "type": "string",
            "enum": [
              "action",
              "follow_up"
            ],
            "description": "`action` 表示锚定在活动故障上的行动项；`follow_up` 表示复盘后续行动。"
          },
          "incident_id": {
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "事项锚定的故障 ID（MongoDB ObjectID）。"
          },
          "post_mortem_id": {
            "type": "string",
            "description": "故障复盘 ID（32 位十六进制字符串）。后续行动绑定复盘后返回。"
          },
          "title": {
            "type": "string",
            "maxLength": 512,
            "description": "事项标题（最长 512 字符）。"
          },
          "description": {
            "type": "string",
            "maxLength": 65535,
            "description": "可选的详细描述（最长 65,535 字符）。"
          },
          "status": {
            "type": "string",
            "maxLength": 64,
            "description": "客户端自定义状态（最长 64 字符），没有固定状态机。"
          },
          "priority": {
            "type": "string",
            "maxLength": 64,
            "description": "可选的客户端自定义优先级（最长 64 字符）。"
          },
          "source_kind": {
            "type": "string",
            "enum": [
              "native",
              "legacy_follow_up"
            ],
            "description": "`native` 表示通过本 API 创建的事项；`legacy_follow_up` 表示从旧版复盘后续行动迁移而来的事项。"
          },
          "legacy_source_id": {
            "type": "string",
            "description": "该事项迁移自旧版后续行动的原始标识。仅当 `source_kind` 为 `legacy_follow_up` 时返回。"
          },
          "version": {
            "type": "integer",
            "format": "int64",
            "description": "乐观锁版本号，每次变更递增。"
          },
          "assignee_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "当前人员负责人的成员 ID。不含 AI SRE。不会为 null；空数组表示没有人员负责人。"
          },
          "assignees": {
            "description": "当前负责人。每项为 `{type, id?}`。`type` 取 `person` 或 `ai_sre`；`ai_sre` 不带 `id`。不会为 null；空数组表示未指派。`assignee_ids` 是其中仅含 `person` 的子集。",
            "items": {
              "$ref": "#/components/schemas/WorkItemAssignee"
            },
            "type": "array"
          },
          "agent_session_id": {
            "description": "执行该事项的 AI SRE 会话 ID。没有会话时省略。",
            "type": "string"
          },
          "agent_session_venue": {
            "description": "该 AI SRE 会话所在位置：`web` 或 `im`。没有会话时省略。",
            "enum": [
              "web",
              "im"
            ],
            "type": "string"
          },
          "created_by": {
            "type": "integer",
            "format": "int64",
            "description": "创建者成员 ID。"
          },
          "updated_by": {
            "type": "integer",
            "format": "int64",
            "description": "最后更新人成员 ID。"
          },
          "converted_by": {
            "type": "integer",
            "format": "int64",
            "description": "将行动项转化为后续行动的操作人成员 ID。仅转化后返回。"
          },
          "converted_at_seconds": {
            "type": "integer",
            "format": "int64",
            "description": "转化时间，Unix 秒级时间戳。仅转化后返回。"
          },
          "created_at_seconds": {
            "type": "integer",
            "format": "int64",
            "description": "创建时间，Unix 秒级时间戳。"
          },
          "updated_at_seconds": {
            "type": "integer",
            "format": "int64",
            "description": "最后更新时间，Unix 秒级时间戳。"
          }
        }
      },
      "WorkItemCreateResult": {
        "type": "object",
        "description": "创建跟进事项的结果。",
        "required": [
          "item"
        ],
        "properties": {
          "item": {
            "$ref": "#/components/schemas/WorkItemItem"
          },
          "added_assignee_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "新添加（并已通知）的负责人成员 ID。"
          },
          "idempotent_replay": {
            "type": "boolean",
            "description": "为 true 表示本次调用以相同幂等键重放了之前的请求，未创建新事项。"
          }
        }
      },
      "WorkItemMutationResult": {
        "type": "object",
        "description": "变更跟进事项的结果。",
        "properties": {
          "item": {
            "$ref": "#/components/schemas/WorkItemItem"
          },
          "added_assignee_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "新添加（并已通知）的负责人成员 ID。"
          },
          "removed_assignee_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "被移除（不通知）的负责人成员 ID。"
          },
          "idempotent_replay": {
            "type": "boolean",
            "description": "为 true 表示本次调用以相同幂等键重放了之前的请求。"
          }
        }
      },
      "WorkItemListResult": {
        "type": "object",
        "description": "游标分页的跟进事项列表。",
        "required": [
          "items",
          "has_more"
        ],
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WorkItemItem"
            },
            "description": "当前页的跟进事项。"
          },
          "next_cursor": {
            "type": "string",
            "description": "下一页游标，作为 `cursor` 传入；没有更多结果时不返回。"
          },
          "has_more": {
            "type": "boolean",
            "description": "为 true 表示还有更多结果。"
          },
          "idempotent_replay": {
            "type": "boolean",
            "description": "为 true 表示本次调用以相同幂等键重放了之前的请求。"
          }
        }
      },
      "ListWorkItemRequest": {
        "type": "object",
        "description": "查询跟进事项的过滤条件。`incident_id`、`post_mortem_id`、`assignee_id`，或 `assignee_type` 为 `ai_sre`，至少满足一个。",
        "properties": {
          "incident_id": {
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "故障 ID（MongoDB ObjectID）。同时返回锚定在该故障复盘上的后续行动。"
          },
          "post_mortem_id": {
            "type": "string",
            "description": "故障复盘 ID（32 位十六进制字符串）。返回绑定到该复盘的后续行动。"
          },
          "item_type": {
            "type": "string",
            "enum": [
              "action",
              "follow_up"
            ],
            "description": "按事项类型过滤：`action` 行动项，`follow_up` 复盘跟进项。"
          },
          "assignee_id": {
            "type": "integer",
            "format": "int64",
            "description": "按负责人成员 ID 过滤结果。仅按负责人查询时，须为本人或账户管理员。`assignee_type` 为 `ai_sre` 时忽略本字段。"
          },
          "assignee_type": {
            "description": "按负责人类型过滤：`person` 或 `ai_sre`。`ai_sre` 返回指派给 AI SRE 的事项（AI 用它查询自己的任务），不需要 `assignee_id`。`person` 与 `assignee_id` 一起使用时，只返回该成员负责的事项。省略本字段且 `assignee_id` 为正数时，按 `person` 过滤。",
            "enum": [
              "person",
              "ai_sre"
            ],
            "type": "string"
          },
          "cursor": {
            "type": "string",
            "description": "分页游标，取自上一次响应的 `next_cursor`。"
          },
          "limit": {
            "type": "integer",
            "format": "int64",
            "minimum": 0,
            "maximum": 200,
            "default": 50,
            "description": "每页条数，最多 200，默认 50。"
          }
        }
      },
      "CreateWorkItemRequest": {
        "type": "object",
        "description": "创建故障跟进事项的参数。",
        "required": [
          "item_type",
          "title",
          "incident_id",
          "idempotency_key"
        ],
        "properties": {
          "item_type": {
            "type": "string",
            "enum": [
              "action",
              "follow_up"
            ],
            "description": "`action` 锚定活动故障，不得设置 `post_mortem_id`；`follow_up` 必须设置 `post_mortem_id`。"
          },
          "title": {
            "type": "string",
            "maxLength": 512,
            "description": "事项标题（最长 512 字符）。"
          },
          "description": {
            "type": "string",
            "maxLength": 65535,
            "description": "可选的详细描述（最长 65,535 字符）。"
          },
          "status": {
            "type": "string",
            "enum": [
              "open",
              "in_progress",
              "done",
              "cancelled"
            ],
            "maxLength": 64,
            "description": "可选，客户端自定义的初始状态，取 `open`、`in_progress`、`done`、`cancelled` 之一；省略或为空时默认为 `open`。"
          },
          "priority": {
            "type": "string",
            "maxLength": 64,
            "description": "可选的客户端自定义优先级（最长 64 字符）。"
          },
          "incident_id": {
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "事项锚定的故障 ID（MongoDB ObjectID）。"
          },
          "post_mortem_id": {
            "type": "string",
            "description": "故障复盘 ID（32 位十六进制字符串）。`follow_up` 必填，`action` 禁止填写。该复盘必须关联到 `incident_id`。"
          },
          "assignee_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "初始负责人的旧版别名，等价于全部为 `person` 的 `assignees`。与 `assignees` 互斥，同时出现会报错。负责人须为已能查看锚定对象的活跃成员；指派不会授予访问权限。"
          },
          "assignees": {
            "description": "初始负责人列表。每项为 `{type, id?}`。`type` 取 `person` 或 `ai_sre`；`ai_sre` 不带 `id`。与 `assignee_ids` 互斥，同时出现会报错。`assignee_ids` 是旧版别名，等价于全部为 `person`。最多 20 项。`person` 须为已能查看锚定对象的活跃成员；指派不会授予访问权限。",
            "items": {
              "$ref": "#/components/schemas/WorkItemAssignee"
            },
            "maxItems": 20,
            "type": "array"
          },
          "idempotency_key": {
            "type": "string",
            "maxLength": 128,
            "pattern": "^[A-Za-z0-9_\\-.:]+$",
            "description": "客户端生成的幂等键（最长 128 字符；仅限字母、数字、`_`、`-`、`.`、`:`）。"
          }
        }
      },
      "UpdateWorkItemRequest": {
        "type": "object",
        "description": "跟进事项的部分更新。未提供的字段保持不变；显式传 `null` 则清空该字段。",
        "required": [
          "work_item_id",
          "version"
        ],
        "properties": {
          "work_item_id": {
            "type": "string",
            "maxLength": 128,
            "description": "跟进事项 ID（不透明字符串，最长 128 字符）。"
          },
          "version": {
            "type": "integer",
            "format": "int64",
            "description": "事项当前版本号，用于乐观锁。必须与存储的版本一致。"
          },
          "title": {
            "type": [
              "string",
              "null"
            ],
            "description": "新标题（最长 512 字符）。",
            "maxLength": 512
          },
          "description": {
            "type": [
              "string",
              "null"
            ],
            "description": "新描述（最长 65,535 字符）。",
            "maxLength": 65535
          },
          "status": {
            "type": [
              "string",
              "null"
            ],
            "enum": [
              "open",
              "in_progress",
              "done",
              "cancelled"
            ],
            "description": "新的客户端自定义状态，取 `open`、`in_progress`、`done`、`cancelled` 之一。",
            "maxLength": 64
          },
          "priority": {
            "type": [
              "string",
              "null"
            ],
            "description": "新的客户端自定义优先级（最长 64 字符）。",
            "maxLength": 64
          }
        }
      },
      "DeleteWorkItemRequest": {
        "type": "object",
        "description": "软删除跟进事项的参数。",
        "required": [
          "work_item_id",
          "version"
        ],
        "properties": {
          "work_item_id": {
            "type": "string",
            "maxLength": 128,
            "description": "跟进事项 ID（不透明字符串，最长 128 字符）。"
          },
          "version": {
            "type": "integer",
            "format": "int64",
            "description": "事项当前版本号，用于乐观锁。必须与存储的版本一致。"
          }
        }
      },
      "CompleteWorkItemRequest": {
        "type": "object",
        "description": "完成跟进事项的参数。",
        "required": [
          "work_item_id",
          "version",
          "target_status",
          "idempotency_key"
        ],
        "properties": {
          "work_item_id": {
            "type": "string",
            "maxLength": 128,
            "description": "跟进事项 ID（不透明字符串，最长 128 字符）。"
          },
          "version": {
            "type": "integer",
            "format": "int64",
            "description": "事项当前版本号，用于乐观锁。必须与存储的版本一致。"
          },
          "target_status": {
            "type": "string",
            "enum": [
              "done"
            ],
            "maxLength": 64,
            "description": "要设置的目标状态，必须为 `done`，其他取值一律拒绝。"
          },
          "idempotency_key": {
            "type": "string",
            "maxLength": 128,
            "pattern": "^[A-Za-z0-9_\\-.:]+$",
            "description": "客户端生成的幂等键（最长 128 字符；仅限字母、数字、`_`、`-`、`.`、`:`）。"
          }
        }
      },
      "ConvertWorkItemRequest": {
        "type": "object",
        "description": "将行动项原地转化为复盘后续行动的参数。",
        "required": [
          "work_item_id",
          "version",
          "idempotency_key"
        ],
        "properties": {
          "work_item_id": {
            "type": "string",
            "maxLength": 128,
            "description": "跟进事项 ID（不透明字符串，最长 128 字符）。"
          },
          "version": {
            "type": "integer",
            "format": "int64",
            "description": "事项当前版本号，用于乐观锁。必须与存储的版本一致。"
          },
          "target_status": {
            "type": [
              "string",
              "null"
            ],
            "enum": [
              "open",
              "in_progress",
              "done",
              "cancelled"
            ],
            "description": "可选，设置在转化后后续行动上的状态，取 `open`、`in_progress`、`done`、`cancelled` 之一。",
            "maxLength": 64
          },
          "idempotency_key": {
            "type": "string",
            "maxLength": 128,
            "pattern": "^[A-Za-z0-9_\\-.:]+$",
            "description": "客户端生成的幂等键（最长 128 字符；仅限字母、数字、`_`、`-`、`.`、`:`）。"
          }
        }
      },
      "ResetWorkItemAssigneesRequest": {
        "type": "object",
        "description": "整体替换跟进事项的负责人集合。",
        "required": [
          "work_item_id",
          "version"
        ],
        "properties": {
          "work_item_id": {
            "type": "string",
            "maxLength": 128,
            "description": "跟进事项 ID（不透明字符串，最长 128 字符）。"
          },
          "version": {
            "type": "integer",
            "format": "int64",
            "description": "事项当前版本号，用于乐观锁。必须与存储的版本一致。"
          },
          "assignee_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "替换后负责人集合的旧版别名，等价于全部为 `person` 的 `assignees`。与 `assignees` 互斥，同时出现会报错。空数组表示清空所有负责人。"
          },
          "assignees": {
            "description": "替换后的负责人集合。每项为 `{type, id?}`。`type` 取 `person` 或 `ai_sre`；`ai_sre` 不带 `id`。与 `assignee_ids` 互斥，同时出现会报错。`assignee_ids` 是旧版别名，等价于全部为 `person`。最多 20 项。空数组表示清空所有负责人。",
            "items": {
              "$ref": "#/components/schemas/WorkItemAssignee"
            },
            "maxItems": 20,
            "type": "array"
          }
        }
      },
      "BindWorkItemPostMortemRequest": {
        "type": "object",
        "description": "将故障下未绑定的后续行动批量绑定到复盘的参数。",
        "required": [
          "post_mortem_id",
          "incident_id",
          "idempotency_key"
        ],
        "properties": {
          "post_mortem_id": {
            "type": "string",
            "description": "要绑定后续行动的故障复盘 ID（32 位十六进制字符串）。"
          },
          "incident_id": {
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "故障 ID（MongoDB ObjectID），其已转化但未绑定的后续行动将被绑定。"
          },
          "idempotency_key": {
            "type": "string",
            "maxLength": 128,
            "pattern": "^[A-Za-z0-9_\\-.:]+$",
            "description": "客户端生成的幂等键（最长 128 字符；仅限字母、数字、`_`、`-`、`.`、`:`）。"
          }
        }
      },
      "IncidentCommentTypeDisplay": {
        "type": "object",
        "description": "账户级评论类型的解析后展示信息，读取时根据当前类型定义填充。",
        "required": [
          "id",
          "name",
          "color"
        ],
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "评论类型 ID（MongoDB ObjectID）。"
          },
          "name": {
            "type": "string",
            "maxLength": 40,
            "description": "评论类型展示名称。"
          },
          "color": {
            "type": "string",
            "pattern": "^#[0-9A-Fa-f]{6}$",
            "description": "徽标颜色，#RRGGBB 格式。"
          }
        }
      },
      "FeedDetailWorkItemCreated": {
        "type": "object",
        "description": "`i_wi_created` 的 detail 载荷。",
        "properties": {
          "work_item_id": {
            "type": "string",
            "description": "跟进事项 ID。"
          },
          "item_type": {
            "type": "string",
            "enum": [
              "action",
              "follow_up"
            ],
            "description": "跟进事项类型。`action`：挂在故障上的处置行动事项，可直接转换为 `follow_up`；`follow_up`：挂在故障复盘（Post-mortem）上的改进事项，创建时要求故障已关联到该复盘。"
          },
          "title": {
            "type": "string",
            "description": "跟进事项标题。"
          },
          "status": {
            "type": "string",
            "description": "跟进事项状态标签（如 `open`、`done`）。"
          },
          "assignee_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "负责人成员 ID 列表。"
          },
          "assignees": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WorkItemAssignee"
            },
            "description": "跟进事项的负责人。每项为 `{type, id?}`；`ai_sre` 不带 `id`。无负责人时省略。"
          },
          "post_mortem_id": {
            "type": "string",
            "description": "跟进事项绑定的故障复盘 ID。"
          }
        },
        "title": "i_wi_created"
      },
      "FeedDetailWorkItemUpdated": {
        "type": "object",
        "description": "`i_wi_updated` 的 detail 载荷。仅发生变化的字段携带 `from_*`/`to_*` 值。",
        "properties": {
          "work_item_id": {
            "type": "string",
            "description": "跟进事项 ID。"
          },
          "item_type": {
            "type": "string",
            "enum": [
              "action",
              "follow_up"
            ],
            "description": "跟进事项类型。`action`：挂在故障上的处置行动事项；`follow_up`：挂在故障复盘（Post-mortem）上的改进事项。"
          },
          "title": {
            "type": "string",
            "description": "跟进事项标题。"
          },
          "from_title": {
            "type": "string",
            "description": "更新前的标题。"
          },
          "from_status": {
            "type": "string",
            "description": "更新前的状态标签。"
          },
          "to_status": {
            "type": "string",
            "description": "更新后的状态标签。"
          },
          "from_priority": {
            "type": "string",
            "description": "更新前的优先级标签。"
          },
          "to_priority": {
            "type": "string",
            "description": "更新后的优先级标签。"
          },
          "from_description": {
            "type": "string",
            "description": "更新前的描述。"
          },
          "to_description": {
            "type": "string",
            "description": "更新后的描述。"
          }
        },
        "title": "i_wi_updated"
      },
      "FeedDetailWorkItemAssigneesChanged": {
        "type": "object",
        "description": "`i_wi_assignees` 的 detail 载荷。",
        "properties": {
          "work_item_id": {
            "type": "string",
            "description": "跟进事项 ID。"
          },
          "item_type": {
            "type": "string",
            "enum": [
              "action",
              "follow_up"
            ],
            "description": "跟进事项类型。`action`：挂在故障上的处置行动事项；`follow_up`：挂在故障复盘（Post-mortem）上的改进事项。"
          },
          "title": {
            "type": "string",
            "description": "跟进事项标题。"
          },
          "assignee_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "变更后的负责人成员 ID 列表。"
          },
          "added_assignee_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "新增为负责人的成员 ID。"
          },
          "removed_assignee_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "从负责人中移除的成员 ID。"
          },
          "assignees": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WorkItemAssignee"
            },
            "description": "跟进事项的负责人。每项为 `{type, id?}`；`ai_sre` 不带 `id`。无负责人时省略。"
          },
          "added_assignees": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WorkItemAssignee"
            },
            "description": "本次新增的负责人，按提交顺序。`added_assignee_ids` 是其中仅含 `person` 的子集。无新增时省略。"
          },
          "removed_assignees": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WorkItemAssignee"
            },
            "description": "本次移除的负责人。`removed_assignee_ids` 是其中仅含 `person` 的子集。无移除时省略。"
          }
        },
        "title": "i_wi_assignees"
      },
      "FeedDetailWorkItemCompleted": {
        "type": "object",
        "description": "`i_wi_completed` 的 detail 载荷。",
        "properties": {
          "work_item_id": {
            "type": "string",
            "description": "跟进事项 ID。"
          },
          "item_type": {
            "type": "string",
            "enum": [
              "action",
              "follow_up"
            ],
            "description": "跟进事项类型。`action`：挂在故障上的处置行动事项；`follow_up`：挂在故障复盘（Post-mortem）上的改进事项。"
          },
          "title": {
            "type": "string",
            "description": "跟进事项标题。"
          },
          "from_status": {
            "type": "string",
            "description": "完成前的状态标签。"
          },
          "to_status": {
            "type": "string",
            "description": "完成后的状态标签。"
          },
          "post_mortem_id": {
            "type": "string",
            "description": "跟进事项绑定的故障复盘 ID。"
          }
        },
        "title": "i_wi_completed"
      },
      "FeedDetailWorkItemConverted": {
        "type": "object",
        "description": "`i_wi_converted` 的 detail 载荷。",
        "properties": {
          "work_item_id": {
            "type": "string",
            "description": "跟进事项 ID。"
          },
          "title": {
            "type": "string",
            "description": "跟进事项标题。"
          },
          "from_type": {
            "type": "string",
            "enum": [
              "action",
              "follow_up"
            ],
            "description": "转化前的事项类型。`action`：挂在故障上的处置行动事项；`follow_up`：挂在故障复盘（Post-mortem）上的改进事项。当前转换方向仅支持 `action` → `follow_up`，因此该事件中 `from_type` 恒为 `action`。"
          },
          "to_type": {
            "type": "string",
            "enum": [
              "action",
              "follow_up"
            ],
            "description": "转化后的事项类型。`action`：挂在故障上的处置行动事项；`follow_up`：挂在故障复盘（Post-mortem）上的改进事项。当前转换方向仅支持 `action` → `follow_up`，因此该事件中 `to_type` 恒为 `follow_up`，且转换成功后会立即尝试绑定故障对应的复盘。"
          },
          "post_mortem_id": {
            "type": "string",
            "description": "跟进事项绑定的故障复盘 ID。"
          },
          "status": {
            "type": "string",
            "description": "转化后的事项状态标签。"
          }
        },
        "title": "i_wi_converted"
      },
      "FeedDetailWorkItemBound": {
        "type": "object",
        "description": "`i_wi_bound` 的 detail 载荷。",
        "properties": {
          "work_item_id": {
            "type": "string",
            "description": "跟进事项 ID。"
          },
          "item_type": {
            "type": "string",
            "enum": [
              "action",
              "follow_up"
            ],
            "description": "跟进事项类型。`action`：挂在故障上的处置行动事项；`follow_up`：挂在故障复盘（Post-mortem）上的改进事项。"
          },
          "title": {
            "type": "string",
            "description": "跟进事项标题。"
          },
          "post_mortem_id": {
            "type": "string",
            "description": "跟进事项绑定的故障复盘 ID。"
          }
        },
        "title": "i_wi_bound"
      },
      "FeedDetailWorkItemDeleted": {
        "type": "object",
        "description": "`i_wi_deleted` 的 detail 载荷。",
        "properties": {
          "work_item_id": {
            "type": "string",
            "description": "跟进事项 ID。"
          },
          "item_type": {
            "type": "string",
            "enum": [
              "action",
              "follow_up"
            ],
            "description": "跟进事项类型。`action`：挂在故障上的处置行动事项；`follow_up`：挂在故障复盘（Post-mortem）上的改进事项。"
          },
          "title": {
            "type": "string",
            "description": "跟进事项标题。"
          },
          "post_mortem_id": {
            "type": "string",
            "description": "跟进事项绑定的故障复盘 ID。"
          }
        },
        "title": "i_wi_deleted"
      },
      "FeedDetailAlertMerge": {
        "type": "object",
        "title": "a_merge",
        "description": "`a_merge` 的详情数据：告警被合并到故障。",
        "properties": {
          "comment": {
            "type": "string",
            "description": "合并时记录的评论。为空时不返回。"
          },
          "target_incident": {
            "$ref": "#/components/schemas/IncidentShort",
            "description": "告警合并到的目标故障。未记录时不返回。"
          },
          "source_alerts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AlertShort"
            },
            "description": "被合并进目标故障的源告警。为空时不返回。"
          },
          "owner_id": {
            "type": "integer",
            "format": "int64",
            "description": "目标故障被设置的新负责人成员 ID。未变更时不返回。"
          },
          "title": {
            "type": "string",
            "description": "目标故障被设置的新标题。未变更时不返回。"
          }
        }
      },
      "AlertShort": {
        "type": "object",
        "description": "告警简要引用。",
        "properties": {
          "alert_id": {
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "告警 ID（ObjectID 十六进制字符串）。"
          },
          "title": {
            "type": "string",
            "description": "告警标题，读取时解析填充。为空时不返回。"
          }
        }
      },
      "EventGroup": {
        "type": "object",
        "description": "告警事件合并配置。启用后，同一告警的重复事件会在时间窗口内并入已有告警，而不是新建告警。",
        "properties": {
          "is_enabled": {
            "type": "boolean",
            "description": "为 true 时，重复事件并入已有告警；为 false 时，每个事件都单独生成告警。默认为 true。"
          },
          "time_window": {
            "type": "integer",
            "minimum": 1,
            "description": "合并窗口，单位分钟，范围 1-1440（24 小时）；开通扩展额度的账号最大可设 10080（7 天）。默认 1440。"
          }
        }
      },
      "StatusPageInfoResponse": {
        "type": "object",
        "description": "`GET /status-page/info` 返回的状态页详情：完整页面配置及特性开关。",
        "allOf": [
          {
            "$ref": "#/components/schemas/StatusPageItem"
          },
          {
            "type": "object",
            "properties": {
              "managed_domain_feature_enabled": {
                "type": "boolean",
                "description": "该页面是否启用托管自定义域名特性。公开页面为 `true`，内部页面恒为 `false`。"
              }
            },
            "required": [
              "managed_domain_feature_enabled"
            ]
          }
        ]
      },
      "StatusPagePreDefinedTemplate": {
        "type": "object",
        "description": "预定义事件模板：可复用的事件草稿（标题、类型、状态、描述）。在 `POST /status-page/template/upsert` 中，省略 `template_id` 表示创建，提供则表示更新；更新时仅应用非空字段。",
        "properties": {
          "template_id": {
            "type": "string",
            "description": "模板 ID。省略表示创建新模板；提供表示更新已有模板。"
          },
          "title": {
            "type": "string",
            "description": "模板标题。"
          },
          "type": {
            "type": "string",
            "enum": [
              "incident",
              "maintenance"
            ],
            "description": "模板适用的事件类型：`incident` 故障，`maintenance` 计划维护。"
          },
          "status": {
            "type": "string",
            "enum": [
              "investigating",
              "identified",
              "monitoring",
              "resolved",
              "scheduled",
              "ongoing",
              "completed"
            ],
            "description": "模板对应的事件状态。故障事件支持 `investigating`/`identified`/`monitoring`/`resolved`；维护事件支持 `scheduled`/`ongoing`/`completed`。"
          },
          "description": {
            "type": "string",
            "description": "模板正文（Markdown）。"
          }
        }
      },
      "StatusPageMessageTemplate": {
        "type": "object",
        "description": "消息模板：某一事件类型下、按状态划分的通知文案。在 `POST /status-page/template/upsert` 中，省略 `template_id` 表示创建，提供则表示更新；更新时仅应用非空字段。",
        "properties": {
          "template_id": {
            "type": "string",
            "description": "模板 ID。省略表示创建新模板；提供表示更新已有模板。"
          },
          "title": {
            "type": "string",
            "description": "模板标题。"
          },
          "type": {
            "type": "string",
            "enum": [
              "incident",
              "maintenance"
            ],
            "description": "模板适用的事件类型：`incident` 故障，`maintenance` 计划维护。"
          },
          "messages": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "按事件状态划分的通知文案（Markdown）。键为与模板 `type` 匹配的事件状态（如故障事件的 `investigating`、`resolved`），值为事件进入该状态时使用的文本。"
          }
        }
      },
      "ListStatusPageTemplatesResponse": {
        "type": "object",
        "description": "事件模板列表。条目结构取决于请求的 `type`：`pre_defined` 为预定义事件模板，`message` 为消息模板。",
        "required": [
          "items"
        ],
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/StatusPagePreDefinedTemplate"
                },
                {
                  "$ref": "#/components/schemas/StatusPageMessageTemplate"
                }
              ]
            },
            "description": "所请求类别的模板列表。"
          }
        }
      },
      "FeedDetailAlertUpdate": {
        "type": "object",
        "title": "a_update",
        "description": "`a_update` 的详情数据：更新后的严重程度/状态。",
        "properties": {
          "severity": {
            "$ref": "#/components/schemas/FeedSeverity"
          },
          "status": {
            "$ref": "#/components/schemas/FeedSeverity"
          }
        }
      },
      "FeedDetailAlertMuteBySilence": {
        "type": "object",
        "title": "a_m_silence",
        "description": "`a_m_silence` 的详情数据：告警被静默规则收敛。",
        "properties": {
          "rule_id": {
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "收敛该告警的静默规则 ID。为空时不返回。"
          },
          "rule_name": {
            "type": "string",
            "description": "静默规则名称，读取时解析填充。为空时不返回。"
          }
        }
      },
      "FeedDetailAlertMuteByInhibit": {
        "type": "object",
        "title": "a_m_inhibit",
        "description": "`a_m_inhibit` 的详情数据：告警因源告警被抑制规则收敛。",
        "properties": {
          "rule_id": {
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "收敛该告警的抑制规则 ID。为空时不返回。"
          },
          "rule_name": {
            "type": "string",
            "description": "抑制规则名称，读取时解析填充。为空时不返回。"
          },
          "source_alert_id": {
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "触发抑制的源告警 ID。为空时不返回。"
          },
          "source_alert_title": {
            "type": "string",
            "description": "源告警标题，读取时解析填充。为空时不返回。"
          }
        }
      },
      "FeedDetailAlertMuteByFlapping": {
        "type": "object",
        "title": "a_m_flapping",
        "description": "`a_m_flapping` 的详情数据（历史）：告警被抖动检测收敛。",
        "properties": {
          "max_changes": {
            "type": "integer",
            "description": "触发抖动检测的状态变化次数阈值。为 0 时不返回。"
          },
          "in_secs": {
            "type": "integer",
            "description": "统计状态变化的时间窗口（秒）。为 0 时不返回。"
          },
          "mute_secs": {
            "type": "integer",
            "description": "静默时长（秒）。为 0 时不返回。"
          }
        }
      },
      "FeedDetailAlertAck": {
        "type": "object",
        "title": "a_ack",
        "description": "`a_ack` 的详情数据（历史），无字段。",
        "properties": {}
      },
      "FeedDetailAlertUnack": {
        "type": "object",
        "title": "a_unack",
        "description": "`a_unack` 的详情数据（历史），无字段。",
        "properties": {}
      },
      "ScheduleByPersonRequest": {
        "type": "object",
        "description": "成员值班状态查询请求",
        "properties": {
          "person_id": {
            "type": "integer",
            "description": "要查询值班状态的成员 ID。",
            "format": "int64"
          }
        },
        "required": [
          "person_id"
        ]
      },
      "ScheduleByPersonResponse": {
        "type": "object",
        "description": "成员的值班状态：正在值班的班次、下一次值班，以及其参与的全部启用排班。",
        "properties": {
          "current": {
            "$ref": "#/components/schemas/MemberOncallInterval"
          },
          "next": {
            "$ref": "#/components/schemas/MemberOncallInterval"
          },
          "schedules": {
            "type": "array",
            "description": "该成员参与的全部启用排班。",
            "items": {
              "$ref": "#/components/schemas/MemberScheduleItem"
            }
          }
        },
        "required": [
          "schedules"
        ]
      },
      "MemberScheduleItem": {
        "type": "object",
        "description": "该成员参与的一个启用中的排班。",
        "properties": {
          "schedule_id": {
            "type": "integer",
            "description": "排班 ID。",
            "format": "int64"
          },
          "schedule_name": {
            "type": "string",
            "description": "排班名称。"
          }
        }
      },
      "MemberOncallInterval": {
        "type": "object",
        "description": "成员的一个值班班次区间。",
        "properties": {
          "schedule_id": {
            "type": "integer",
            "description": "所属排班 ID。",
            "format": "int64"
          },
          "schedule_name": {
            "type": "string",
            "description": "所属排班名称。"
          },
          "start_at": {
            "type": "integer",
            "description": "Unix 时间戳（秒）—— 班次开始时间。",
            "format": "int64"
          },
          "end_at": {
            "type": "integer",
            "description": "Unix 时间戳（秒）—— 班次结束时间。值班进行中时缺省。",
            "format": "int64"
          }
        }
      },
      "IntegrationTypeListRequest": {
        "type": "object",
        "description": "查询集成类型列表的过滤参数。",
        "properties": {
          "p": {
            "type": "integer",
            "minimum": 1,
            "default": 1,
            "description": "页码，从 1 开始。"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 20,
            "description": "每页条数，默认 20，最大 100。"
          },
          "orderby": {
            "type": "string",
            "description": "排序字段；不传时按控制台排序返回。",
            "enum": [
              "id",
              "created_at",
              "updated_at",
              "name",
              "type"
            ]
          },
          "category": {
            "type": "string",
            "description": "按分类过滤，支持逗号分隔多个值，例如 `event.alert,event.change`。"
          },
          "asc": {
            "type": [
              "boolean",
              "null"
            ],
            "default": true,
            "description": "`true`（默认）升序，`false` 降序。"
          }
        }
      },
      "IntegrationTypeItem": {
        "type": "object",
        "description": "账户可配置的一种集成类型。",
        "required": [
          "plugin_type",
          "plugin_type_name",
          "plugin_type_logo_url",
          "category",
          "status",
          "supports_api_create"
        ],
        "properties": {
          "plugin_type": {
            "type": "string",
            "description": "创建集成时作为 `plugin_type` 传入的类型标识。",
            "example": "standard.alert"
          },
          "plugin_type_name": {
            "type": "string",
            "description": "类型显示名。",
            "example": "Standard Alert"
          },
          "plugin_type_logo_url": {
            "type": "string",
            "description": "类型 Logo 地址。"
          },
          "category": {
            "type": "string",
            "description": "类型所属分类：`event.alert` 告警事件，`event.change` 变更事件，`im` IM 机器人，`webhook` 自定义 Webhook。",
            "enum": [
              "event.alert",
              "event.change",
              "im",
              "webhook"
            ]
          },
          "status": {
            "type": "string",
            "description": "该类型在平台侧的状态。"
          },
          "supports_api_create": {
            "type": "boolean",
            "description": "该类型能否通过 `POST /integration/create` 创建。"
          }
        }
      },
      "ListIntegrationTypesResponse": {
        "type": "object",
        "description": "集成类型列表的一页。",
        "required": [
          "p",
          "limit",
          "total",
          "items"
        ],
        "properties": {
          "p": {
            "type": "integer",
            "description": "当前页码。"
          },
          "limit": {
            "type": "integer",
            "description": "当前每页条数。"
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "description": "匹配的类型总数。"
          },
          "items": {
            "type": "array",
            "description": "当前页的集成类型。",
            "items": {
              "$ref": "#/components/schemas/IntegrationTypeItem"
            }
          }
        }
      },
      "ListIntegrationsRequest": {
        "type": "object",
        "description": "查询集成列表的过滤参数。",
        "properties": {
          "p": {
            "type": "integer",
            "minimum": 1,
            "default": 1,
            "description": "页码，从 1 开始。"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 100,
            "description": "每页条数，默认 100，最大 100。"
          },
          "orderby": {
            "type": "string",
            "description": "排序字段，默认 `created_at`；`plugin_type` 按底层插件排序。",
            "enum": [
              "created_at",
              "updated_at",
              "name",
              "plugin_type",
              "status"
            ]
          },
          "category": {
            "type": "string",
            "description": "按分类过滤，支持逗号分隔多个值。"
          },
          "type": {
            "type": "string",
            "description": "已废弃；与 `plugin_type` 同时传入时会合并生效。"
          },
          "plugin_type": {
            "type": "string",
            "description": "按集成类型过滤，支持逗号分隔多个值。"
          },
          "status": {
            "type": "string",
            "description": "按状态过滤，支持逗号分隔多个值。"
          },
          "name": {
            "type": "string",
            "description": "按集成名称过滤。"
          },
          "ref_ids": {
            "type": "array",
            "description": "按来源引用 ID 过滤；每个值必须以 `c_`（协作空间）、`a_`（账户）或 `w_` 开头。",
            "items": {
              "type": "string"
            }
          },
          "asc": {
            "type": "boolean",
            "description": "`true` 升序，`false` 降序。"
          },
          "is_my_team": {
            "type": "boolean",
            "description": "仅返回你所在团队拥有的集成。"
          },
          "team_ids": {
            "type": "array",
            "description": "按团队 ID 过滤；与 `is_my_team` 同时使用时在其结果内进一步收窄。",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          }
        }
      },
      "IntegrationItem": {
        "type": "object",
        "description": "公共集成列表项，包含完整存储配置；时间字段为 Unix 时间戳（秒）。",
        "required": [
          "integration_id",
          "team_id",
          "plugin_type",
          "plugin_type_name",
          "category",
          "name",
          "description",
          "status",
          "ref_id",
          "created_at",
          "updated_at",
          "last_time",
          "editable",
          "creator_id",
          "updated_by",
          "no_editable",
          "plugin_id",
          "integration_key",
          "settings",
          "data_source_id",
          "account_id",
          "exclusive_data_source_id"
        ],
        "properties": {
          "integration_id": {
            "type": "integer",
            "format": "int64",
            "description": "集成 ID。"
          },
          "team_id": {
            "type": "integer",
            "format": "int64",
            "description": "所属团队 ID；未归属团队时为 `0`。"
          },
          "plugin_type": {
            "type": "string",
            "description": "集成类型，例如 `standard.alert`、`zabbix.alert`。"
          },
          "plugin_type_name": {
            "type": "string",
            "description": "集成类型显示名，随请求语言变化。"
          },
          "category": {
            "type": "string",
            "enum": [
              "event.alert",
              "event.change",
              "im",
              "webhook"
            ],
            "description": "集成所属分类：`event.alert` 告警事件，`event.change` 变更事件，`im` IM 机器人，`webhook` 自定义 Webhook。"
          },
          "name": {
            "type": "string",
            "description": "集成名称。"
          },
          "description": {
            "type": "string",
            "description": "集成描述。"
          },
          "status": {
            "type": "string",
            "enum": [
              "enabled",
              "disabled"
            ],
            "description": "状态：`enabled` 正常接收事件，`disabled` 已暂停。"
          },
          "ref_id": {
            "type": "string",
            "description": "来源引用 ID，账户级集成通常为 `a_<account_id>`，旧记录也可能使用 `w_`；本接口不返回 `c_` 开头的专属集成。"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "description": "创建时间的 Unix 时间戳（秒）。"
          },
          "updated_at": {
            "type": "integer",
            "format": "int64",
            "description": "最近更新时间的 Unix 时间戳（秒）。"
          },
          "last_time": {
            "type": "integer",
            "format": "int64",
            "description": "最近收到事件时间的 Unix 时间戳（秒），尚未收到事件时为 `0`。"
          },
          "editable": {
            "type": "boolean",
            "description": "当前调用者是否通过集成对象权限校验；执行写操作还需集成中心管理权限。"
          },
          "creator_id": {
            "type": "integer",
            "format": "int64",
            "description": "创建集成的成员 ID。"
          },
          "updated_by": {
            "type": "integer",
            "format": "int64",
            "description": "最近更新集成的成员 ID。"
          },
          "no_editable": {
            "type": "boolean",
            "description": "只读标记；为 true 时公开接口不允许修改该集成。"
          },
          "plugin_id": {
            "type": "integer",
            "format": "int64",
            "description": "集成类型的内部 ID；创建集成使用 `plugin_type`，不使用此 ID。"
          },
          "integration_key": {
            "type": "string",
            "description": "解密后的集成 Key，用于事件推送；未存储 Key 时为空字符串，与账户 `app_key` 不同。"
          },
          "settings": {
            "type": "object",
            "additionalProperties": true,
            "description": "存储的类型专属配置。已保存的密钥类值（密码、App Secret、Token、加密密钥、Webhook 地址、HTTP 拉取的 URL 与 Body、Headers、自定义 Body）返回 `******`，未设置的保持为空。"
          },
          "data_source_id": {
            "type": "integer",
            "format": "int64",
            "description": "旧 datasource ID，与 `integration_id` 相同。"
          },
          "account_id": {
            "type": "integer",
            "format": "int64",
            "description": "集成所属账户 ID。"
          },
          "exclusive_data_source_id": {
            "type": "integer",
            "format": "int64",
            "description": "旧接口兼容字段；此公共集成列表返回的值为 `0`。"
          }
        }
      },
      "ListIntegrationsResponse": {
        "type": "object",
        "description": "集成列表的一页。",
        "required": [
          "p",
          "limit",
          "total",
          "items"
        ],
        "properties": {
          "p": {
            "type": "integer",
            "description": "当前页码。"
          },
          "limit": {
            "type": "integer",
            "description": "当前每页条数。"
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "description": "匹配的集成总数。"
          },
          "items": {
            "type": "array",
            "description": "当前页的集成。",
            "items": {
              "$ref": "#/components/schemas/IntegrationItem"
            }
          }
        }
      },
      "GetIntegrationRequest": {
        "type": "object",
        "description": "指定一个集成。",
        "required": [
          "integration_id"
        ],
        "properties": {
          "integration_id": {
            "type": "integer",
            "format": "int64",
            "minimum": 1,
            "description": "集成 ID。",
            "example": 6113996590131
          }
        }
      },
      "IntegrationDetail": {
        "type": "object",
        "description": "公共集成详情，包含存储配置与解密 Key；时间字段为 Unix 时间戳（秒）。",
        "required": [
          "integration_id",
          "team_id",
          "plugin_type",
          "plugin_type_name",
          "category",
          "name",
          "description",
          "status",
          "ref_id",
          "created_at",
          "updated_at",
          "last_time",
          "editable",
          "creator_id",
          "updated_by",
          "no_editable",
          "plugin_id",
          "integration_key",
          "settings"
        ],
        "properties": {
          "integration_id": {
            "type": "integer",
            "format": "int64",
            "description": "集成 ID。"
          },
          "team_id": {
            "type": "integer",
            "format": "int64",
            "description": "所属团队 ID；未归属团队时为 `0`。"
          },
          "plugin_type": {
            "type": "string",
            "description": "集成类型，例如 `standard.alert`、`zabbix.alert`。"
          },
          "plugin_type_name": {
            "type": "string",
            "description": "集成类型显示名，随请求语言变化。"
          },
          "category": {
            "type": "string",
            "enum": [
              "event.alert",
              "event.change",
              "im",
              "webhook"
            ],
            "description": "集成所属分类：`event.alert` 告警事件，`event.change` 变更事件，`im` IM 机器人，`webhook` 自定义 Webhook。"
          },
          "name": {
            "type": "string",
            "description": "集成名称。"
          },
          "description": {
            "type": "string",
            "description": "集成描述。"
          },
          "status": {
            "type": "string",
            "enum": [
              "enabled",
              "disabled"
            ],
            "description": "状态：`enabled` 正常接收事件，`disabled` 已暂停。"
          },
          "ref_id": {
            "type": "string",
            "description": "来源引用 ID，账户级集成通常为 `a_<account_id>`，旧记录也可能使用 `w_`；本接口不返回 `c_` 开头的专属集成。"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "description": "创建时间的 Unix 时间戳（秒）。"
          },
          "updated_at": {
            "type": "integer",
            "format": "int64",
            "description": "最近更新时间的 Unix 时间戳（秒）。"
          },
          "last_time": {
            "type": "integer",
            "format": "int64",
            "description": "最近收到事件时间的 Unix 时间戳（秒），尚未收到事件时为 `0`。"
          },
          "editable": {
            "type": "boolean",
            "description": "当前调用者是否通过集成对象权限校验；执行写操作还需集成中心管理权限。"
          },
          "creator_id": {
            "type": "integer",
            "format": "int64",
            "description": "创建集成的成员 ID。"
          },
          "updated_by": {
            "type": "integer",
            "format": "int64",
            "description": "最近更新集成的成员 ID。"
          },
          "no_editable": {
            "type": "boolean",
            "description": "只读标记；为 true 时公开接口不允许修改该集成。"
          },
          "plugin_id": {
            "type": "integer",
            "format": "int64",
            "description": "集成类型的内部 ID；创建集成使用 `plugin_type`，不使用此 ID。"
          },
          "integration_key": {
            "type": "string",
            "description": "解密后的集成 Key，用于事件推送；未存储 Key 时为空字符串，与账户 `app_key` 不同。"
          },
          "settings": {
            "type": "object",
            "additionalProperties": true,
            "description": "存储的类型专属配置。已保存的密钥类值（密码、App Secret、Token、加密密钥、Webhook 地址、HTTP 拉取的 URL 与 Body、Headers、自定义 Body）返回 `******`，未设置的保持为空。"
          },
          "test": {
            "type": "object",
            "description": "执行插件测试时返回的测试结果。",
            "x-flashduty-preserve-absence": true,
            "required": [
              "success",
              "message"
            ],
            "properties": {
              "success": {
                "type": "boolean",
                "description": "插件测试是否成功。"
              },
              "message": {
                "type": "string",
                "description": "测试失败信息；成功时为空字符串。"
              }
            }
          }
        }
      },
      "CreateIntegrationRequest": {
        "type": "object",
        "description": "创建集成的请求体。",
        "required": [
          "plugin_type"
        ],
        "properties": {
          "plugin_type": {
            "type": "string",
            "description": "集成类型，必须是 `POST /integration/type/list` 中 `supports_api_create: true` 的类型。",
            "example": "standard.alert"
          },
          "name": {
            "type": "string",
            "minLength": 2,
            "maxLength": 49,
            "description": "集成名称，非空时为 2–49 字符；不传或为空时使用集成类型名称。",
            "example": "Prod metrics alerts"
          },
          "description": {
            "type": "string",
            "maxLength": 499,
            "description": "集成描述，最长 499 个字符。"
          },
          "team_id": {
            "type": "integer",
            "format": "int64",
            "minimum": 0,
            "description": "所属团队 ID；不传或传 `0` 表示不设置团队，非零 ID 必须属于当前账户。",
            "example": 1467226103121
          },
          "settings": {
            "type": "object",
            "description": "集成类型专属配置，可传字段取决于 `plugin_type`。",
            "additionalProperties": true
          },
          "integration_key": {
            "type": "string",
            "minLength": 35,
            "maxLength": 35,
            "description": "可选预生成 Key，长度 35，末尾为账户 ID 对 1000 取余后补零至三位，且不能已被使用；不传时自动生成。"
          },
          "is_test": {
            "type": "boolean",
            "description": "创建时执行插件测试；不传时为 false，测试结果查看返回的 `test.success`。"
          }
        }
      },
      "CreateIntegrationResponse": {
        "type": "object",
        "description": "创建结果与集成 Key。",
        "required": [
          "integration_id",
          "integration_key"
        ],
        "properties": {
          "integration_id": {
            "type": "integer",
            "format": "int64",
            "description": "新建集成的 ID。",
            "example": 6113996590131
          },
          "integration_key": {
            "type": "string",
            "description": "用于事件推送的集成 Key，也可通过 `/integration/list` 和 `/integration/info` 查询。",
            "example": "0123456789abcdef0123456789abcdef100"
          },
          "test": {
            "type": "object",
            "description": "执行插件测试时返回的测试结果。",
            "x-flashduty-preserve-absence": true,
            "required": [
              "success",
              "message"
            ],
            "properties": {
              "success": {
                "type": "boolean",
                "description": "插件测试是否成功。"
              },
              "message": {
                "type": "string",
                "description": "测试失败信息；成功时为空字符串。"
              }
            }
          }
        }
      },
      "UpdateIntegrationRequest": {
        "type": "object",
        "description": "更新集成的请求体；仅发送的字段会被修改。",
        "required": [
          "integration_id"
        ],
        "properties": {
          "integration_id": {
            "type": "integer",
            "format": "int64",
            "minimum": 1,
            "description": "集成 ID。",
            "example": 6113996590131
          },
          "name": {
            "type": [
              "string",
              "null"
            ],
            "minLength": 2,
            "maxLength": 49,
            "description": "新的集成名称，2–49 个字符。"
          },
          "description": {
            "type": [
              "string",
              "null"
            ],
            "maxLength": 499,
            "description": "新的集成描述，最长 499 个字符。"
          },
          "team_id": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64",
            "minimum": 0,
            "description": "新的所属团队 ID；传 `0` 表示清除团队归属。"
          },
          "settings": {
            "type": "object",
            "description": "替换类型专属配置；已识别的敏感字段不传或传 `******` 时保留原值，显式传空 headers 对象可清空 Headers。保留已存密钥时不能同时修改它的发送目标（如 `endpoint`、`url`、数据库主机或端口）。",
            "additionalProperties": true
          },
          "is_test": {
            "type": "boolean",
            "description": "提交 `settings` 时执行插件测试；仅更新名称、描述或团队时不执行测试。"
          }
        }
      },
      "IntegrationLifecycleRequest": {
        "type": "object",
        "description": "指定要操作的集成。",
        "required": [
          "integration_id"
        ],
        "properties": {
          "integration_id": {
            "type": "integer",
            "format": "int64",
            "minimum": 1,
            "description": "集成 ID。",
            "example": 6113996590131
          }
        }
      },
      "RotateIntegrationKeyResponse": {
        "type": "object",
        "description": "新生成的集成 Key。",
        "required": [
          "integration_key"
        ],
        "properties": {
          "integration_key": {
            "type": "string",
            "description": "新的集成 Key，旧 Key 立即失效；新 Key 也可通过 `/integration/list` 和 `/integration/info` 查询。",
            "example": "0123456789abcdef0123456789abcdef100"
          }
        }
      },
      "WorkItemAssignee": {
        "description": "跟进事项的一名负责人。",
        "properties": {
          "id": {
            "description": "成员 ID。`type` 为 `person` 时必填；`type` 为 `ai_sre` 时省略。",
            "format": "int64",
            "type": "integer"
          },
          "type": {
            "description": "负责人类型：`person` 为成员，`ai_sre` 为账户的 AI SRE。",
            "enum": [
              "person",
              "ai_sre"
            ],
            "type": "string"
          }
        },
        "required": [
          "type"
        ],
        "type": "object"
      }
    }
  }
}
