> ## Documentation Index
> Fetch the complete documentation index at: https://docs.molesignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 读取事件时间线

> 读取对事件做过的处理、为它发出的通知，以及并入它的事件。

```http theme={null}
GET /api/v1/alerts/incidents/{id}/timeline
```

返回一个事件经历的一切：人和 MoleSignal 记下的每一步、为它发出的通知，以及并入它的事件。该调用需要 `alerts.incidents.read`。控制台的事件[时间线](https://docs.molesignal.com/zh-Hans/alerting/incidents.md#事件详情)就是按它画出来的。

| 字段 | 内容 |
| - | - |
| `entries` | 记下的每一步，从早到晚：`id`、`org_id`、`incident_id`、`at`（微秒）、`kind`、`actor`（用户 ID，MoleSignal 自己做的是 `null`）和 `detail`。 |
| `deliveries` | 这个事件的通知，从早到晚，最多 500 条：`id`、`event_id`（`alert.triggered:…`、`alert.escalated:…`、`alert.acknowledged:…` 或 `alert.resolved:…`）、`user_id`、`connector_id`、`target`（已脱敏）、`stage`、`status`、`error`、`created_at` 和 `delivered_at`。[流水线不让发](https://docs.molesignal.com/zh-Hans/pipelines/alert-events.md#通知之前)的策略 `status` 为 `skipped`，没有 `user_id` 和 `connector_id`，`error` 是原因。 |
| `merged` | [并入](https://docs.molesignal.com/zh-Hans/api/alerting/merge-incidents.md)这个事件的事件：`id`、`summary`、`status`、`severity`、`created_at` 和 `resolved_at`。 |

| `kind` | `detail` |
| - | - |
| `acknowledged`、`resolved` | `via`：`web`、`api`、`im`、`sms`、`phone` 或 `agent`。 |
| `escalated` | `step`（从 0 起）、`loop`、`reason`，以及这一级的 `targets`。 |
| `reassigned` | `to`，写法同[转派事件](https://docs.molesignal.com/zh-Hans/api/alerting/reassign-incident.md)；`from`：原来的负责人、团队和策略。 |
| `responders_added` | `user_ids`。 |
| `snoozed` | `until`（微秒）和 `duration_secs`。 |
| `snooze_cancelled` | 空。 |
| `retriggered` | `reason`：`snooze_ended` 或 `ack_timeout`。 |
| `severity_changed` | `from` 和 `to`。 |
| `merged` | `into`：并入的那个事件。 |
| `merged_in` | `incidents`：并入这个事件的事件。 |
| `merged_recovered` | 自行恢复的并入事件的 `incident_id` 和 `summary`。 |
| `note` | `text` 和 `via`。 |
| `remediation_requested` | 发起[修复动作](https://docs.molesignal.com/zh-Hans/api/alerting/remediation.md)：执行记录 `run_id`、动作名 `action` 和填的参数 `inputs`。 |
| `remediation_executed` | 修复动作执行完：`run_id`、`action`、`status`（`succeeded` 或 `failed`）和 `output`（响应或错误的开头）。 |
| `remediation_verified` | 执行后的验证：`run_id`、`action`、`passed` 和验证方式 `by`（`incident_resolved` 或 `rule_healthy`）。 |
| `ticket_created` | 建了[工单](https://docs.molesignal.com/zh-Hans/api/alerting/tickets.md)：`system`（`jira` 或 `meegle`）、`key`、`url` 和连接器名 `connector`。 |
| `ticket_updated` | 同步到工单状态变了：`key`、`status` 和 `done`。 |
| `declared_major` | 宣布为[重大事件](https://docs.molesignal.com/zh-Hans/api/alerting/major-incidents.md)；`auto` 为 `true` 时是组织的自动规则宣布的。 |
| `role_assigned` | 指派角色：`role`（`commander`、`communications` 或 `scribe`）和 `user_id`，撤下时为 `null`。 |
| `war_room_created` | 建好作战室：`platform`、入群链接 `url` 和会议链接 `meeting_url`。 |
| `task_added`、`task_done` | 加了一项任务、做完一项任务：`title`。 |
| `status_update` | 发了一次进展：`impact`、`current` 和 `next`。 |
| `pipeline_processed` | [告警流水线](https://docs.molesignal.com/zh-Hans/pipelines/alert-events.md#处理结果)在开事件之前改了事件，或出了错：`pipeline_id`、`pipeline`、`changes`（每项有 `field`，如 `severity` 或 `labels.team`，`from`，新增时没有，`to`，删除时没有）、`more`（列出的 40 处之外还有几处）和 `error`。 |

```bash cURL theme={null}
curl -X GET http://localhost:5080/api/v1/alerts/incidents/$INCIDENT_ID/timeline \
  -H "authorization: Bearer $MS_TOKEN"
```

响应包含这三个列表。

```json 200 theme={null}
{
  "entries": [
    {
      "id": "3KEE0Q1v9mYtHb7c2Lr8Wk5dPzA",
      "org_id": "<organization-id>",
      "incident_id": "3KEDNEyqouYJeBDTLTMTBui7XHW",
      "at": 1790000120000000,
      "kind": "acknowledged",
      "actor": "<user-id>",
      "detail": {
        "via": "sms"
      }
    },
    {
      "id": "3KEE1aXy7pRtGd2s9Lm4Qv8bNcE",
      "org_id": "<organization-id>",
      "incident_id": "3KEDNEyqouYJeBDTLTMTBui7XHW",
      "at": 1790000300000000,
      "kind": "note",
      "actor": "<user-id>",
      "detail": {
        "text": "Rolled back the edge proxy.",
        "via": "web"
      }
    }
  ],
  "deliveries": [
    {
      "id": "<delivery-id>",
      "event_id": "alert.triggered:3KEDNEyqouYJeBDTLTMTBui7XHW",
      "user_id": "<user-id>",
      "connector_id": "<connector-id>",
      "target": "+86138****8000",
      "stage": "user_primary",
      "status": "delivered",
      "error": null,
      "created_at": 1790000001000000,
      "delivered_at": 1790000002000000
    }
  ],
  "merged": [
    {
      "id": "3KEDQ4mJ8sLp2Xv6Nc1Rt9bYwHe",
      "summary": "Checkout p95 above 800 ms",
      "status": "open",
      "severity": "error",
      "created_at": 1790000030000000,
      "resolved_at": null
    }
  ]
}
```

**错误**

| 状态码 | 原因 |
| - | - |
| `403` | Token 缺少 `alerts.incidents.read`。 |
| `404` | 事件不存在。 |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.