EventsPost-Mortem
Get post-mortem
Retrieve the post-mortem for an event.
GET /app/events/{id}/post-mortem
Returns the post-mortem for an event, or null if one has not been created yet. Requires the Post-Mortem Reports feature entitlement.
Post-mortems are only supported on incident and maintenance events. Requesting a post-mortem for an informational event returns 400.
Path parameters
| Parameter | Description |
|---|---|
id | The event ID. |
Request
See API Basics for required headers.
Sample request
curl https://api.statusdashboard.com/app/events/4f8b2e1a-3c7d-4e9f-a0b1-c2d3e4f56789/post-mortem \
-H "Authorization: Bearer bcf847abf5c6:def456"Sample response
Status: 200 OK
{
"postMortem": {
"executiveSummary": "A misconfigured load balancer rule caused elevated API latency for approximately 45 minutes, affecting around 12% of requests.",
"rootCauseAnalysis": "A deploy at 09:30 UTC introduced a load balancer rule with an incorrect timeout value. This caused upstream connections to be dropped under moderate load.",
"actionItems": [
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"text": "Add load balancer config to pre-deploy validation checks.",
"status": "done",
"owner": "Platform team",
"ownerIsPublic": true,
"expectedCompletionAt": "2026-04-30",
"completedAt": "2026-04-26",
"completedBy": "user@example.com",
"isPublic": true
},
{
"id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
"text": "Review timeout defaults across all gateway configurations.",
"status": "in_progress",
"owner": "Infrastructure",
"ownerIsPublic": true,
"expectedCompletionAt": "2026-05-15",
"isPublic": true
},
{
"id": "c3d4e5f6-a7b8-9012-cdef-234567890123",
"text": "Internal audit follow-up.",
"status": "open",
"owner": "Security",
"ownerIsPublic": false,
"isPublic": false
}
],
"published": true,
"createdAt": "2026-04-25T12:00:00.000Z",
"updatedAt": "2026-04-26T14:05:00.000Z",
"updatedBy": "user@example.com"
}
}Returns { "postMortem": null } if no post-mortem has been saved yet.
Response fields
| Field | Type | Description |
|---|---|---|
postMortem | object | null | Post-mortem report, or null when none has been saved. When present, contains the fields below. |
When postMortem is present:
| Field | Type | Description |
|---|---|---|
postMortem.executiveSummary | string | Opening overview of scope, impact, and outcome. Gives readers the key facts before the detailed analysis. Rich text field. See Rich text fields. |
postMortem.rootCauseAnalysis | string | Detailed explanation of the root cause and contributing factors. Rich text field. See Rich text fields. |
postMortem.actionItems | array | List of remediation tasks. See Action item fields. |
postMortem.published | boolean | Whether the post-mortem is visible on status dashboards. |
postMortem.createdAt | string | ISO 8601 UTC timestamp of when the post-mortem was first saved. |
postMortem.updatedAt | string | ISO 8601 UTC timestamp of the last update. |
postMortem.updatedBy | string | Email of the user who last saved the post-mortem. |
Action item fields
| Field | Type | Description |
|---|---|---|
id | string | Unique action item ID (UUID). |
text | string | Description of the task. Max 500 characters. |
status | string | open, in_progress, or done. |
owner | string | absent | Optional owner or team name. Max 100 characters. |
ownerIsPublic | boolean | When false, owner is omitted from the public post-mortem page. |
expectedCompletionAt | string | absent | ISO 8601 date string (YYYY-MM-DD). Optional expected completion date. |
completedAt | string | absent | ISO 8601 date string (YYYY-MM-DD). Optional actual completion date. |
completedBy | string | absent | Email of the user who first set completedAt. Assigned by the server. |
isPublic | boolean | When false, the action item is omitted from the public post-mortem page. |
Error responses
| Status | When |
|---|---|
400 | Event is an informational type — post-mortems are not supported. |
403 | Insufficient permissions. |
404 | Event not found. |

