---
title: "Per-child status history for a composite alert"
method: GET
path: "/api/v2/{org_id}/alerts/{alert_id}/composite-timeline"
tags: ["Alerts"]
---

# Per-child status history for a composite alert

`GET /api/v2/{org_id}/alerts/{alert_id}/composite-timeline`

## Request

- Base URL: `https://api.openobserve.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.openobserve.ai/api/v2/{org_id}/alerts/{alert_id}/composite-timeline`
- Auth: API key in header `Authorization`
- TypeScript: <https://skmtc.dev/openobserve/apis/openobserve-api-http/docs/api/v2/:org_id/alerts/:alert_id/composite-timeline/get.ts> (a function with typed inputs; its response is checked against the schema)

Returns one status lane per child (plus the composite's own result) over a time window, read from each alert's durable level transitions. Children are ordered by display order (A/B/C).

## Path parameters

- `org_id` string, required
- `alert_id` string, required

## Query parameters

- `from` integer
- `to` integer

## Response `200`

Success

- object: HTTP response body for the composite status-timeline endpoint.
  - `children` CompositeTimelineLane[], required: One lane per child, in the same display order as the detail response.
    - `accessible` boolean, required
    - `alert_id` string, nullable: Redacted (`None`) when the child is not readable to the caller, so an inaccessible child never leaks its stable KSUID.
    - `current_level` string, nullable
    - `level_since` integer, nullable: When `current_level` last changed; the lane paints this from now.
    - `name` string, nullable: `None` when the child is not readable to the caller.
    - `slot` integer, nullable: Position among the composite's children (A=0), for the letter chip.
    - `transitions` CompositeTimelineTransition[], required
      - `at` integer, required
      - `from_level` string, nullable
      - `to_level` string, nullable
  - `from` integer, required
  - `result` CompositeTimelineLane, required: A single status lane: one child (or the composite itself) over a window.
    - `accessible` boolean, required
    - `alert_id` string, nullable: Redacted (`None`) when the child is not readable to the caller, so an inaccessible child never leaks its stable KSUID.
    - `current_level` string, nullable
    - `level_since` integer, nullable: When `current_level` last changed; the lane paints this from now.
    - `name` string, nullable: `None` when the child is not readable to the caller.
    - `slot` integer, nullable: Position among the composite's children (A=0), for the letter chip.
    - `transitions` CompositeTimelineTransition[], required
      - `at` integer, required
      - `from_level` string, nullable
      - `to_level` string, nullable
  - `to` integer, required

## Other responses

- `404`: NotFound

---

[API](https://skmtc.dev/openobserve/apis/openobserve-api-http.md) - [All operations](https://skmtc.dev/openobserve/apis/openobserve-api-http/llms.txt) - [OpenAPI document](https://skmtc.dev/openobserve/apis/openobserve-api-http/revisions/0529b8a10252?raw)
