---
title: "List an incident's timeline"
method: GET
path: "/incidents/{incident_id}/events"
tags: ["Incidents"]
---

# List an incident's timeline

`GET /incidents/{incident_id}/events`

## Request

- Base URL: `https://app.getorchestra.io/api/engine/public`
- URL: `https://app.getorchestra.io/api/engine/public/incidents/{incident_id}/events`
- Auth: one of:
  - HTTP bearer
  - OAuth 2
    - Authorization code: `https://app.getorchestra.io/oauth/authorize`
    - Token URL: `https://app.getorchestra.io/oauth/token` scopes: `orchestra:read`

Fetch the timeline for a single incident, newest first. Paginated from the start - a grouped incident accumulates one event per attached failure, so the history runs to hundreds of rows well before anyone triages it.

## Path parameters

- `incident_id` string, uuid4, required

## Query parameters

- `page_size` integer
- `page` integer

## Headers

- `X-Orchestra-Account-Id` string, uuid4, nullable

## Response `200`

Successful Response

- PaginatedResponseIncidentEventResponse
  - `page` integer, required
  - `pageSize` integer, required
  - `total` integer, required
  - `results` IncidentEventResponse[], required
    - `incidentEventId` string, uuid4, required
    - `incidentId` string, uuid4, required
    - `eventType` 'AI_DIAGNOSIS_COMPLETED' | 'AI_DIAGNOSIS_FAILED' | 'AI_DIAGNOSIS_REQUESTED' | 'ARCHIVED' | 'ASSIGNED' | 'CHILD_MERGED' | 'COMMENT_ADDED' | 'CREATED' | 'DESCRIPTION_CHANGED' | 'EVENT' | 'MERGED_INTO' | 'MUTED' | 'RENAMED' | 'SEVERITY_CHANGED' | 'STATUS_CHANGED' | 'SUBSCRIBERS_CHANGED' | 'UNASSIGNED' | 'UNMERGED' | 'UNMUTED', required
    - `actorType` 'AI' | 'API' | 'OTHER' | 'SYSTEM' | 'USER', required
    - `actorId` string, nullable
    - `comment` string, nullable
    - `insertedAt` string, required
    - `environmentId` string, uuid4, nullable
    - `resourceType` 'ASSET' | 'EXTERNAL' | 'OPERATION' | 'PIPELINE' | 'SENSOR' | 'TASK'
    - `triggerType` 'ANOMALY' | 'EXTERNAL' | 'FAILED' | 'WARNING': The kind of signal that produced an incident event. Producers state what happened; the Incident Manager maps it to a severity and applies the grouping invariants.
    - `pipelineId` string, uuid4, nullable
    - `pipelineRunId` string, uuid4, nullable
    - `taskRunId` string, uuid4, nullable
    - `sensorId` string, nullable
    - `assetId` string, uuid4, nullable
    - `connectionId` string, nullable
    - `commitSha` string, nullable
    - `groupBy` string, nullable
    - `hasExternalEvent` boolean

## Other responses

- `422`: Validation Error

## Changes

- **2026-11-03** `e45165e7e223`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/getorchestra/apis/orchestra-api/changes/incidents/:incident_id/events/get.md)

---

[API](https://skmtc.dev/getorchestra/apis/orchestra-api.md) - [All operations](https://skmtc.dev/getorchestra/apis/orchestra-api/llms.txt) - [OpenAPI document](https://skmtc.dev/getorchestra/apis/orchestra-api/revisions/daf2c16b3057?raw)
