事件 API 参考
获取页面的所有事件
端点:
GET /v1/:page_id/incidents?page=:page&per_page=:per_page
- page 默认为 1。
- per_page 默认为 50,每页最多 100 条。
响应示例:
[{"id": "ckf01m59ueaqb0a32wrljz1yd","name": "Rocket is going down","started": "2020-09-12T19:05:17.398Z","status": "RESOLVED","resolved": "2020-09-12T19:09:04.498Z","updates": [{"id": "ckf01m5ioeaqi0a32jtv8ovp8","message": "We are currently investigating this incident.","messageHtml": "<p>We are currently investigating this incident.</p>","status": "INVESTIGATING","notify": true,"started": "2020-09-12T19:05:17.398Z","ended": null,"duration": 228,"createdAt": "2020-09-12T19:08:50.160Z"},{"id": "ckf01mnk9eaui0a32mmhgq68g","message": "This incident has been resolved.","messageHtml": "<p>This incident has been resolved.</p>","status": "RESOLVED","notify": true,"started": "2020-09-12T19:09:04.498Z","ended": null,"duration": null,"createdAt": "2020-09-12T19:09:13.545Z"}],"components": [{"id": "ckf01fvnxywz50a35nh1qzssm","name": "Website","status": "PARTIALOUTAGE","showUptime": true,"site": {"id": "ckf01fonve9i40a32oas5b0uw","name": "Nasa","subdomain": "nasa","color": null,"logoUrl": null,"publicEmail": null},"customImpactPercentage": 40}],"user": {"id": "ckf01g7m4eaqb0a32fl7jl1xx","name": "Buzz Aldrin","email": "buzz@nasa.com"}}]
你可以添加 status 和 !status 查询参数,把结果限制为状态属于(或不属于)逗号分隔状态列表中的事件。
user 是创建该事件的工作区成员。当事件是自动创建时(由监控、第三方集成或邮件创建),它为 null。
获取单个事件
端点:
GET /v1/:page_id/incidents/:incident_id
响应示例:
{"id": "ckf01m59ueaqb0a32wrljz1yd","name": "Rocket is going down","status": "RESOLVED","started": "2020-09-12T19:05:17.398Z","resolved": "2020-09-12T19:09:04.498Z","updates": [{"id": "ckf01m5ioeaqi0a32jtv8ovp8","message": "We are currently investigating this incident.","messageHtml": "<p>We are currently investigating this incident.</p>","status": "INVESTIGATING","notify": true,"started": "2020-09-12T19:05:17.398Z","ended": null,"duration": 228,"createdAt": "2020-09-12T19:08:50.160Z"},{"id": "ckf01mnk9eaui0a32mmhgq68g","message": "This incident has been resolved.","messageHtml": "<p>This incident has been resolved.</p>","status": "RESOLVED","notify": true,"started": "2020-09-12T19:09:04.498Z","ended": null,"duration": null,"createdAt": "2020-09-12T19:09:13.545Z"}],"components": [{"id": "ckf01fvnxywz50a35nh1qzssm","name": "Website","status": "MAJOROUTAGE","showUptime": true,"site": {"id": "ckf01fonve9i40a32oas5b0uw","name": "Nasa","subdomain": "nasa","color": null,"logoUrl": null,"publicEmail": null}}],"user": {"id": "ckf01g7m4eaqb0a32fl7jl1xx","name": "Buzz Aldrin","email": "buzz@nasa.com"}}
添加事件
端点:
POST /v1/:page_id/incidents
请求示例:
{"name": "Test incident","message": "We're currently investigating an issue with the Website","components": ["ckf01fvnxywz50a35nh1qzssm"],"started": "2020-09-12 05:38:47.998","status": "INVESTIGATING","notify": true,"statuses": [{"id": "ckf01fvnxywz50a35nh1qzssm","status": "PARTIALOUTAGE","customImpactPercentage": 40}],"translations": {"name": {"fr": "Incident de test"},"message": {"fr": "Nous enquêtons actuellement sur un problème avec le site Web"}}}
事件默认会发布到你的状态页。
如果你想创建一个未发布的事件,需要带上 shouldPublish 并把它设为 false。
响应示例:
{"id": "ckf02l5m8z36j0a35qr9q1tq1","name": "Test incident","status": "INVESTIGATING","started": "2020-09-12T03:38:47.998Z","resolved": null,"updates": [],"components": [{"id": "ckf01fvnxywz50a35nh1qzssm","name": "Website","status": "OPERATIONAL","showUptime": true,"site": {"id": "ckf01fonve9i40a32oas5b0uw","name": "Nasa","subdomain": "nasa","color": null,"logoUrl": null,"publicEmail": null}}],"translations": {"name": {"fr": "Incident de test"},"message": {"fr": "Nous enquêtons actuellement sur un problème avec le site Web"}}}
用模板添加事件
端点:
POST /v1/:page_id/incidents/:template
响应示例:
{"id": "cl8hrdsdsasu441sv26yq","name": "Investigating Template","nameTranslationId": null,"notify": false,"status": "INVESTIGATING","started": "2022-09-25T19:53:20.778Z","resolved": null,"duration": null,"createdAt": "2022-09-25T19:53:20.800Z","updatedAt": "2022-09-25T19:53:20.800Z","automated": false,"impact": "MAJOROUTAGE","appId": null,"siteId": "cl8hadasdasd6wkxdco","importedFrom": null}
更新事件
端点:
PUT /v1/:page_id/incidents/:incident_id
请求示例:
{"name": "Test incident 2","components": ["ckf01fvnxywz50a35nh1qzssm"],"started": "2020-09-12 05:38:47.998","status": "INVESTIGATING","notify": true,"statuses": [{"id": "ckf01fvnxywz50a35nh1qzssm","status": "OPERATIONAL"}],"translations": {"name": {"fr": "Incident de test"},"message": {"fr": "Nous enquêtons actuellement sur un problème avec le site Web"}}}
响应示例:
{"id": "ckf02l5m8z36j0a35qr9q1tq1","name": "Test incident 2","status": "INVESTIGATING","started": "2020-09-12T03:38:47.998Z","resolved": null,"updates": [],"components": [{"id": "ckf01fvnxywz50a35nh1qzssm","name": "Website","status": "OPERATIONAL","showUptime": true,"site": {"id": "ckf01fonve9i40a32oas5b0uw","name": "Nasa","subdomain": "nasa","color": null,"logoUrl": null,"publicEmail": null}}],"translations": {"name": {"fr": "Incident de test"},"message": {"fr": "Nous enquêtons actuellement sur un problème avec le site Web"}}}
删除事件
端点:
DELETE /v1/:page_id/incidents/:incident_id
响应示例:
{"id": "ckf02l5m8z36j0a35qr9q1tq1"}
获取事件的响应人员
返回值班功能为某个事件呼叫了谁、是否已有人确认,以及谁是事件负责人。
端点:
GET /v1/:page_id/incidents/:incident_id/responders
响应示例:
{"incidentId": "ckf02l5m8z36j0a35qr9q1tq1","paged": true,"acknowledged": true,"lead": {"teamMemberId": "clh8nmaan72592bfokqjqd95s1","name": "Sam Rivera","email": "sam@example.com"},"pages": [{"teamMemberId": "clh8nmaan72592bfokqjqd95s1","name": "Sam Rivera","email": "sam@example.com","pagedAt": "2026-11-01T12:01:00.000Z"}],"responders": [{"teamMemberId": "clh8nmaan72592bfokqjqd95s1","name": "Sam Rivera","email": "sam@example.com","status": "ACKNOWLEDGED","acknowledgedAt": "2026-11-01T12:05:00.000Z","declinedAt": null}]}
确认事件
以 API 密钥所属用户的身份确认事件。第一次确认会取消所有仍在等待呼叫更多人员的升级,如果事件还没有负责人,会让此人成为事件负责人。状态页上不会有任何变化。重复确认是安全的:此时 alreadyAcknowledged 为 true。
端点:
POST /v1/:page_id/incidents/:incident_id/acknowledge
响应示例:
{"incidentId": "ckf02l5m8z36j0a35qr9q1tq1","alreadyAcknowledged": false,"paged": true,"acknowledged": true,"lead": {"teamMemberId": "clh8nmaan72592bfokqjqd95s1","name": "Sam Rivera","email": "sam@example.com"},"pages": [{"teamMemberId": "clh8nmaan72592bfokqjqd95s1","name": "Sam Rivera","email": "sam@example.com","pagedAt": "2026-11-01T12:01:00.000Z"}],"responders": [{"teamMemberId": "clh8nmaan72592bfokqjqd95s1","name": "Sam Rivera","email": "sam@example.com","status": "ACKNOWLEDGED","acknowledgedAt": "2026-11-01T12:05:00.000Z","declinedAt": null}]}