---
title: "Get Timeline"
method: GET
path: "/read/mobile/timeline"
tags: ["read", "mobile"]
---

# Get Timeline

`GET /read/mobile/timeline`

## Request

- Base URL: `https://api.projectindi.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.projectindi.com/read/mobile/timeline`
- Auth: none declared

Fetch paginated timeline events for a child.

Authentication: JWT required via Authorization header
RLS: Automatically enforced through user_client isolation

## Query parameters

- `child_id` string, nullable: Filter by specific child
- `year` integer, nullable: Filter events by year
- `page` integer: Page number
- `page_size` integer: Items per page
- `group_by` string: Aggregation period: day, week, month
- `start_date` string, nullable: Filter from date (YYYY-MM-DD)
- `end_date` string, nullable: Filter to date (YYYY-MM-DD)
- `tz_offset` integer, nullable: Client timezone offset in minutes (JS getTimezoneOffset)
- `user_timezone` string, nullable: IANA timezone (e.g. Australia/Sydney). Overrides tz_offset

## Response `200`

Successful Response

- TimelineResponse
  - `items` TimelineItem[], required
    - `item_type` string, required
    - `id` string, required
    - `date` string, required
    - `is_new` boolean
    - `type` string, nullable
    - `title` string, nullable
    - `description` string, nullable
    - `metadata` object
    - `period` string, nullable
    - `total_count` integer, nullable
    - `notable_event` EventData
      - `id` string, required
      - `title` string, required
      - `description` string, nullable
      - `date` string, nullable
      - `metadata` object
    - `remaining_count` integer, nullable
    - `breakdown` CategoryBreakdown[], nullable
      - `category` string, required
      - `count` integer, required
    - `collapsed_events` EventData[], nullable
      - `id` string, required
      - `title` string, required
      - `description` string, nullable
      - `date` string, nullable
      - `metadata` object
  - `pagination` SrcApiReadSharedTimelinePagination, required
    - `page` integer, required
    - `page_size` integer, required
    - `total_items` integer, required
    - `total_pages` integer, required
    - `has_next` boolean, required
    - `has_prev` boolean, required
  - `available_years` integer[], required
  - `month_counts` object

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/projectindi/apis/indi-agent-api-first-principles.md) - [All operations](https://skmtc.dev/projectindi/apis/indi-agent-api-first-principles/llms.txt) - [OpenAPI document](https://skmtc.dev/projectindi/apis/indi-agent-api-first-principles/revisions/25a7813e21fd?raw)
