# Get post-mortem

Retrieve the post-mortem for an event.

Source: https://statusdashboard.com/docs/api/event-management/events/post-mortem/get

`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](/docs/api) for required headers.

***

## Sample request
```bash
curl https://api.statusdashboard.com/app/events/4f8b2e1a-3c7d-4e9f-a0b1-c2d3e4f56789/post-mortem \
  -H "Authorization: Bearer bcf847abf5c6:def456"
```

## Sample response
**Status: `200 OK`**

```json
{
  "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](/docs/api#rich-text-fields). |
| `postMortem.rootCauseAnalysis` | string  | Detailed explanation of the root cause and contributing factors. Rich text field. See [Rich text fields](/docs/api#rich-text-fields).                                          |
| `postMortem.actionItems`       | array   | List of remediation tasks. See [Action item fields](#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.                                                 |
