StatusDashboard
EventsPost-Mortem

Update post-mortem

Create or replace the post-mortem for an event.

View Markdown

PUT /app/events/{id}/post-mortem

Creates or fully replaces the post-mortem for an event. Uses PUT (full replace of the post-mortem document) — see Documented PUT exceptions in API Basics. Requires the Post-Mortem Reports feature entitlement.

Post-mortems are only supported on incident and maintenance events. Submitting to an informational event returns 400.


Path parameters

ParameterDescription
idThe event ID.

Request

See API Basics for required headers.

Request body

FieldTypeRequiredDescription
executiveSummarystringYesOpening overview of scope, impact, and outcome. Gives readers the key facts before the detailed analysis. Rich text field. See Rich text fields. Max 10,000 characters.
rootCauseAnalysisstringYesDetailed explanation of the root cause and contributing factors. Rich text field. See Rich text fields. Max 10,000 characters.
actionItemsarrayYesList of remediation tasks. Max 50 items. See Action item fields.
publishedbooleanYesWhether to make the post-mortem publicly visible on status dashboards.

Action item fields

FieldTypeRequiredDescription
idstringNoUUID of an existing action item. Omit to have one assigned automatically.
textstringYesDescription of the task. Max 500 characters.
statusstringNoopen, in_progress, or done. Defaults to open.
ownerstringNoOptional owner or team name. Max 100 characters.
ownerIsPublicbooleanNoWhen false, owner is omitted from the public post-mortem page. Defaults to true.
expectedCompletionAtstringNoISO 8601 date string (YYYY-MM-DD). Optional expected completion date.
completedAtstringNoISO 8601 date string (YYYY-MM-DD). Optional actual completion date.
isPublicbooleanNoWhen false, the item is omitted from the public post-mortem page. Defaults to true.

completedBy is not accepted on PUT. When completedAt is newly set, the server assigns completedBy from the authenticated user's email.

Array order is preserved as the display order on the public post-mortem page.


Sample request

curl -X PUT https://api.statusdashboard.com/app/events/4f8b2e1a-3c7d-4e9f-a0b1-c2d3e4f56789/post-mortem \
  -H "Authorization: Bearer bcf847abf5c6:def456" \
  -H "Content-Type: application/json" \
  -d '{
    "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"
      },
      {
        "text": "Review timeout defaults across all gateway configurations.",
        "status": "in_progress",
        "owner": "Infrastructure",
        "ownerIsPublic": true,
        "expectedCompletionAt": "2026-05-15",
        "isPublic": true
      }
    ],
    "published": true
  }'

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": "c3d4e5f6-a7b8-9012-cdef-234567890123",
        "text": "Review timeout defaults across all gateway configurations.",
        "status": "in_progress",
        "owner": "Infrastructure",
        "ownerIsPublic": true,
        "expectedCompletionAt": "2026-05-15",
        "isPublic": true
      }
    ],
    "published": true,
    "createdAt": "2026-04-25T12:00:00.000Z",
    "updatedAt": "2026-04-26T14:05:00.000Z",
    "updatedBy": "user@example.com"
  }
}

Error responses

StatusWhen
400Validation error, or event is an informational type.
403Insufficient permissions.
404Event not found.

On this page

We use cookies

We use essential cookies to keep the site working, and optional analytics cookies to understand how it's used. Read our Privacy Policy.