StatusDashboard
Events

Get event

Retrieve a single event by ID, including its full timeline, notes, and post-mortem.

View Markdown

GET /app/events/{id}

Returns a single event by ID. The response includes the full timeline and notes arrays.


Path parameters

ParameterDescription
idThe event ID.

Request

See API Basics for required headers.


Sample request

curl https://api.statusdashboard.com/app/events/4f8b2e1a-3c7d-4e9f-a0b1-c2d3e4f56789 \
  -H "Authorization: Bearer bcf847abf5c6:def456"

Sample response

Status: 200 OK

{
  "event": {
    "id": "4f8b2e1a-3c7d-4e9f-a0b1-c2d3e4f56789",
    "eventType": "incident",
    "title": "API latency elevated",
    "status": { "label": "Monitoring", "isFinal": false },
    "severity": { "label": "Degraded Performance", "description": "Some functionality is impaired.", "icon": "alert-triangle", "color": "#f59e0b" },
    "affectedComponents": {
      "6b0d3a8c-5e2f-4b7d-9c1e-f23456789abc": {
        "name": "API Gateway",
        "status": { "label": "Degraded Performance", "description": "Some functionality is impaired.", "icon": "alert-triangle", "color": "#f59e0b" }
      }
    },
    "description": "We are investigating elevated API response times affecting a subset of users.",
    "coordinator": {
      "name": "Jane Smith",
      "title": "Support Engineer",
      "email": "jane@example.com",
      "phone": "+1 555 000 0000"
    },
    "startTime": "2026-04-25T09:45:00.000Z",
    "publish": true,
    "notifications": true,
    "attributes": [
      { "key": "jira_ticket", "value": "INC-4821", "isPublic": true },
      { "key": "internal_ref", "value": "oncall-thread-9912", "isPublic": false }
    ],
    "timeline": [
      {
        "statusId": "7a3f9d2e-1b4c-4e8a-90b2-c3d4e5f67890",
        "timestamp": "2026-04-25T09:45:00.000Z",
        "status": { "label": "Investigating", "description": "We are looking into the issue.", "color": "#D97706", "icon": "search" },
        "message": "We are aware of elevated API response times and are investigating.",
        "author": "user@example.com",
        "isEdited": false
      },
      {
        "statusId": "9d1a4f7b-2c5e-4f8b-a1c3-d4e5f6789012",
        "timestamp": "2026-04-25T10:30:00.000Z",
        "status": { "label": "Monitoring", "description": "A fix has been deployed; watching for recurrence.", "color": "#3b82f6", "icon": "activity" },
        "message": "A fix has been deployed. We are monitoring the system for stability.",
        "author": "user@example.com",
        "isEdited": false
      }
    ],
    "notes": [
      {
        "noteId": "2e8c5b9a-4d7f-4a0b-b2d4-e5f6789abcde",
        "timestamp": "2026-04-25T10:15:00.000Z",
        "note": "Escalated to database team at 10:15 UTC.",
        "author": "user@example.com",
        "isEdited": false
      }
    ],
    "postMortem": {
      "executiveSummary": "<p>Elevated API latency affected a subset of users for approximately 45 minutes due to a misconfigured rate-limit rule deployed at 09:30 UTC.</p>",
      "rootCauseAnalysis": "<p>A configuration change to the API gateway rate-limiter introduced an overly aggressive limit on a high-traffic route. The change was not caught in staging because the load profile differed from production.</p>",
      "actionItems": [
        {
          "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
          "text": "Add production-parity load tests to the staging pipeline.",
          "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": "Implement automated rollback for rate-limiter configuration changes.",
          "status": "in_progress",
          "owner": "Infrastructure",
          "ownerIsPublic": true,
          "expectedCompletionAt": "2026-05-15",
          "isPublic": true
        }
      ],
      "published": true,
      "createdAt": "2026-04-25T11:00:00.000Z",
      "updatedAt": "2026-04-25T11:00:00.000Z",
      "updatedBy": "user@example.com"
    },
    "createdAt": "2026-04-25T09:58:00.000Z",
    "createdBy": "user@example.com",
    "updatedAt": "2026-04-25T10:30:00.000Z",
    "updatedBy": "user@example.com"
  },
  "limits": {
    "attributes": 5,
    "notesPerEvent": 50,
    "timelineEntriesPerEvent": 50,
    "componentsPerEvent": 100
  }
}

Response fields

Response envelope

FieldTypeDescription
eventobjectFull event record. See fields below.
limitsobjectPer-event limit caps for this organization (notes, timeline entries, components, attributes).
limits.attributesnumberMax custom attributes per event (public + private).
limits.notesPerEventnumberMax internal notes per event.
limits.timelineEntriesPerEventnumberMax timeline entries per event.
limits.componentsPerEventnumberMax affected components per event.

Event object

FieldTypeDescription
idstringUnique event ID.
eventTypestring"incident", "maintenance", or "informational".
titlestringBrief event title.
statusobject | nullCurrent event status. null for informational events.
status.labelstringStatus label from the workflow phases.
status.isFinalbooleanWhether this is a final (terminal) workflow phase.
status.isScheduledbooleanPresent and true only on maintenance events in the scheduled phase. Absent on incidents and on maintenance once it has moved past the scheduled phase.
severityobject | nullFull severity snapshot. null for informational events or if no components are selected.
severity.labelstringSeverity label (e.g. "Degraded Performance").
severity.descriptionstringHuman-readable description of the severity level.
severity.iconstringIcon identifier for the severity.
severity.colorstringHex color code for the severity.
affectedComponentsobjectMap of componentId → component snapshot. Empty object when no components are associated.
affectedComponents[id].namestringComponent name at the time the event was created or last updated.
affectedComponents[id].statusobject | absentSeverity snapshot for this component. Contains label, description, icon, and color. Present on incidents and maintenance; absent on informational notices (name-only snapshot).
descriptionstringEvent description. Rich text field. See Rich text fields. Max 5,000 characters.
impactAnalysisstring | undefinedIncident and maintenance only. Optional customer and service impact details. Rich text field. See Rich text fields. Max 5,000 characters. Present when set; omitted when unset.
coordinatorobject | nullOptional point of contact. Contains name, title, email, phone, and extraInfo fields — all optional strings. null when not set.
startTimestring | nullISO 8601 UTC start time. Present on incidents (required) and maintenance (scheduled window start). null for informational.
endTimestring | nullISO 8601 UTC end time. Auto-set on incidents when a final-phase timeline entry is posted. Set at creation for maintenance (scheduled window end). null until set.
maintenanceAutomationobject | undefinedMaintenance only. Automatic start/stop settings when configured. See create event — maintenanceAutomation. Absent when not set.
maintenanceAutomation.enabledbooleanWhether automatic start/stop is active.
maintenanceAutomation.advanceNotificationobject | undefinedAdvance notice settings when configured.
maintenanceAutomation.startMessagestring | undefinedCustom auto-start timeline message when set.
maintenanceAutomation.stopMessagestring | undefinedCustom auto-stop timeline message when set.
automationStateobject | undefinedMaintenance only. Read-only record of completed automatic actions. Absent until at least one action has run.
automationState.advanceNotifiedAtstring | undefinedISO 8601 UTC when the advance notification was sent.
automationState.autoStartedAtstring | undefinedISO 8601 UTC when automatic start ran.
automationState.autoCompletedAtstring | undefinedISO 8601 UTC when automatic stop ran.
publishbooleanWhether the event is visible on status dashboards.
notificationsbooleanWhether matching subscribers are notified when this event changes. Default: true on create. See Event notifications.
segmentNotificationobject | undefinedPer-event segment include/exclude targeting when configured. See Segment targeting.
segmentNotification.enabledbooleanWhether segment targeting is active.
segmentNotification.modestring"include" or "exclude".
segmentNotification.segmentIdsstring[]Segment UUIDs stored on the event.
attributesarray | undefinedCustom key/value metadata when configured. Each entry includes key, value, and isPublic. See Attributes.
timelinearrayChronological array of timeline entries. Empty array for informational events.
timeline[].messagestringStatus message. Rich text field. See Rich text fields. Max 5,000 characters.
timeline[].statusobjectFull workflow phase snapshot. Contains label, description, color, and icon.
notesarrayInternal notes (admin-only, not published).
createdAtstringISO 8601 UTC creation timestamp.
createdBystringEmail of the user who created the event.
updatedAtstringISO 8601 UTC last-updated timestamp.
updatedBystring | absentEmail of the last user to update the event. Absent until the event is updated after creation (PUT, timeline, notes, etc.).
resolvedAtstring | nullISO 8601 UTC timestamp when the event first entered a final workflow phase (for example when you posted Resolved). Set once at that moment (typically request time); not updated if you later backdate the final timeline entry. Cleared on reopen. Distinct from endTime, which is the interval end used for uptime and day history. null until resolved.
postMortemobject | absentPost-mortem report. Present on incident and maintenance events once one has been saved; absent when none exists. Omitted entirely when the Post-Mortem Reports feature is not enabled. Always absent for informational events.
postMortem.executiveSummarystringOpening overview of scope, impact, and outcome. Gives readers the key facts before the detailed analysis. Rich text field. See Rich text fields.
postMortem.rootCauseAnalysisstringDetailed root cause analysis. Rich text field. See Rich text fields.
postMortem.actionItemsarrayRemediation tasks in display order. May be empty.
postMortem.actionItems[].idstringUnique action item ID (UUID).
postMortem.actionItems[].textstringDescription of the action item.
postMortem.actionItems[].statusstringopen, in_progress, or done.
postMortem.actionItems[].ownerstring | absentOptional owner or team name.
postMortem.actionItems[].ownerIsPublicbooleanWhen false, owner is omitted from the public post-mortem page.
postMortem.actionItems[].expectedCompletionAtstring | absentISO 8601 date string (YYYY-MM-DD). Optional expected completion date.
postMortem.actionItems[].completedAtstring | absentISO 8601 date string (YYYY-MM-DD). Optional actual completion date.
postMortem.actionItems[].completedBystring | absentEmail of the user who first set completedAt.
postMortem.actionItems[].isPublicbooleanWhen false, the item is omitted from the public post-mortem page.
postMortem.publishedbooleanWhether the post-mortem is visible on status dashboards.
postMortem.createdAtstringISO 8601 UTC timestamp when the post-mortem was first saved.
postMortem.updatedAtstringISO 8601 UTC timestamp of the last save.
postMortem.updatedBystring | absentEmail of the last user to save the post-mortem.

Error responses

StatusWhen
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.