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

# Post-Mortems API: List and Retrieve Post-Mortem Reports

> Access structured post-mortem reports auto-generated from resolved incidents, covering root cause, contributing factors, and action items.

Post-mortems in Scrubbe are structured blameless reviews created automatically when an incident reaches the `RESOLVED` or `CLOSED` state. Each report captures the full incident timeline, identified root cause, contributing factors, follow-up action items, and lessons learned — ready to be integrated with external wikis, knowledge bases, or executive reporting pipelines. The Post-Mortems API currently provides a read interface over these records.

<Note>
  All endpoints require `Authorization: Bearer <token>`.
</Note>

**Base path:** `https://your-api-domain.com/api/v1/postmortems`

***

## List post-mortems

Returns a paginated list of post-mortem reports for the workspace, ordered by creation date descending. Each report is linked to its originating incident.

`GET /`

<ParamField query="page" type="number" default="1">
  Page number.
</ParamField>

<ParamField query="limit" type="number" default="20">
  Items per page (max 100).
</ParamField>

<ParamField query="incidentId" type="string">
  Filter to the post-mortem for a specific incident.
</ParamField>

<ParamField query="from" type="string">
  Start of the date range (ISO 8601).
</ParamField>

<ParamField query="to" type="string">
  End of the date range (ISO 8601).
</ParamField>

```http theme={null}
GET /api/v1/postmortems?page=1&limit=10
Authorization: Bearer <token>
```

**Response**

```json theme={null}
{
  "success": true,
  "message": "Post-mortems retrieved",
  "data": [
    {
      "id": "PM-20260522-0007",
      "incidentId": "INC-20260519-0033",
      "incidentSummary": "Database primary failover — us-east-1",
      "severity": "HIGH",
      "resolvedAt": "2026-05-19T22:14:00Z",
      "duration": "1h 42m",
      "rootCause": "Disk saturation on primary node triggered unplanned failover",
      "timeline": [
        { "time": "2026-05-19T20:32:00Z", "event": "Alerting fired: disk usage > 95%" },
        { "time": "2026-05-19T20:45:00Z", "event": "On-call acknowledged alert" },
        { "time": "2026-05-19T22:14:00Z", "event": "Traffic re-routed to replica; service restored" }
      ],
      "contributingFactors": [
        "Log rotation job disabled during maintenance window",
        "Disk growth rate underestimated in capacity plan"
      ],
      "actionItems": [
        {
          "action": "Re-enable log rotation job",
          "owner": "platform@example.com",
          "dueDate": "2026-05-26T00:00:00Z"
        }
      ],
      "lessonsLearned": "Capacity alerts should fire at 80% to provide adequate response time.",
      "createdAt": "2026-05-20T08:00:00Z"
    }
  ],
  "meta": {
    "total": 23,
    "page": 1,
    "limit": 10,
    "totalPages": 3
  }
}
```

<ResponseField name="id" type="string">Unique post-mortem identifier.</ResponseField>
<ResponseField name="incidentId" type="string">ID of the originating incident.</ResponseField>
<ResponseField name="incidentSummary" type="string">Brief description of the incident.</ResponseField>
<ResponseField name="severity" type="string">Incident severity at time of resolution.</ResponseField>
<ResponseField name="resolvedAt" type="string">ISO 8601 timestamp when the incident was resolved.</ResponseField>
<ResponseField name="duration" type="string">Human-readable time from incident open to resolution.</ResponseField>
<ResponseField name="rootCause" type="string">The identified root cause of the incident.</ResponseField>

<ResponseField name="timeline" type="object[]">
  Ordered list of significant events during the incident.

  <Expandable title="properties">
    <ResponseField name="time" type="string">ISO 8601 timestamp.</ResponseField>
    <ResponseField name="event" type="string">Description of the event.</ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="contributingFactors" type="string[]">
  Factors that amplified the incident's impact or duration.
</ResponseField>

<ResponseField name="actionItems" type="object[]">
  Follow-up tasks identified during the post-mortem review.

  <Expandable title="properties">
    <ResponseField name="action" type="string">Description of the required action.</ResponseField>
    <ResponseField name="owner" type="string">Email of the responsible party.</ResponseField>
    <ResponseField name="dueDate" type="string">ISO 8601 due date.</ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="lessonsLearned" type="string">Key takeaways from the post-mortem review.</ResponseField>
<ResponseField name="createdAt" type="string">ISO 8601 timestamp when the post-mortem was generated.</ResponseField>

<Note>
  Post-mortems are generated automatically when an incident is resolved. Use the [Ezra AI](/api-reference/ezra) endpoints to trigger deeper analysis and generate audience-specific reports from a post-mortem.
</Note>
