---
title: "Get Session Timeline By Id"
method: GET
path: "/api/v1/sessions/timeline/{session_id}"
tags: ["sessions.timeline"]
---

# Get Session Timeline By Id

`GET /api/v1/sessions/timeline/{session_id}`

Consolidated, time-ordered timeline of a session's events.

## Path parameters

- `session_id` string, required

## Response `200`

Successful Response

- SessionTimelineResponse — Consolidated, time-ordered timeline of a session's events.
  - `session_id` string, required — Internal ID of the session
  - `session_start` string, date-time, nullable — The call's start (placement) time; the zero point for all offsets. Falls back to the first transcript turn for legacy sessions with no session_start event.
  - `events` TimelineEvent[], required — All events, ordered by timestamp ascending
    - `kind` 'transcript' | 'tool' | 'latency', required
    - `timestamp` string, date-time, required — Absolute time of the event (for ordering)
    - `offset` string, required — Time since session start, formatted MM:SS (or HH:MM:SS)
    - `turn_index` integer, nullable — 0-based index of the transcript turn. Transcript events carry their own turn index; tool/latency events carry the index of the nearest preceding turn they bind to. None only for non-transcript events that precede the first transcript turn.
    - `source` string, nullable — "user" or "agent" (transcript events)
    - `text` string, nullable — Message content (transcript events)
    - `lang` string, nullable — Language code (transcript events)
    - `category` string, nullable — tool | llm | tts | stt | http. A tool call surfaces once, as a `kind=tool` event; its redundant tool-latency measurement is dropped from the timeline.
    - `label` string, nullable — Tool name (tool events) or the latency measurement name (e.g. stt_processing)
    - `metadata` string[], nullable — Provider/model parts of a latency label
    - `duration_ms` number, nullable — Duration of the event in milliseconds
    - `tool_request` string, nullable — Tool request payload, JSON-encoded
    - `tool_result` string, nullable — Tool response payload, JSON-encoded
    - `tool_error` string, nullable — Tool error payload, JSON-encoded

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/asksyllable/apis/syllablesdk.md) · [All operations](https://skmtc.net/asksyllable/apis/syllablesdk/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/asksyllable/syllablesdk/revisions/534f1f22c775/schema)
