---
title: "Get Timeline Endpoint"
method: GET
path: "/projects/{project_id}/timeline"
---

# Get Timeline Endpoint

`GET /projects/{project_id}/timeline`

## Request

- Base URL: `https://usemeridian.us` (the document declares no server; this is the origin it was published from)
- URL: `https://usemeridian.us/projects/{project_id}/timeline`
- Auth: none declared

v1.1.1 — return the data needed to render the Activity Timeline.

b8c79a8a — surface *every* logged task, not just done/failed. An earlier
v1.6.x filter narrowed ``tasks`` to ``done``/``failed`` on the theory that
pending/in_progress rows were LIVE-tab noise. But ``get_timeline`` only
reads ``task_log`` (never session lifecycle events), so that filter dropped
genuine ``log_task`` activity — the same activity that the standup digest
and heatmap ``daily_counts`` still count. A project whose recent work was
logged as ``in_progress``/``pending`` therefore returned an empty ``tasks``
list, and the frontend's ``!tasks.length`` gate rendered "no activity yet"
even though ``daily_counts`` was populated. Return all task_log rows so the
timeline matches the standup and the heatmap; the LIVE vtab still owns
real-time session presence separately.

## Path parameters

- `project_id` string, required

## Response `200`

Successful Response

- object

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/usemeridian/apis/meridian.md) · [All operations](https://skmtc.dev/usemeridian/apis/meridian/llms.txt) · [OpenAPI document](https://skmtc.dev/usemeridian/apis/meridian/revisions/f37a894bd374?raw)
