---
title: "My Journey page"
method: GET
path: "/api/journey/me"
tags: ["Journey"]
---

# My Journey page

`GET /api/journey/me`

## Request

- Base URL: `https://api.rewritelifestyle.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.rewritelifestyle.ai/api/journey/me`
- Auth: HTTP bearer

Returns header stats (NSV count, anniversaries, weight lost), weight trend chart data, and the first page of the timeline feed. Use `trend_window` to select the chart range and `cursor` to paginate the timeline.

## Query parameters

- `trend_window` 'month' | '6months' | 'year'
- `cursor` string

## Response `200`

- JourneyResponseDto
  - `user_id` number, required
  - `stats` JourneyStatsDto, required
    - `nsv_count` number, required: Number of NSV entries created by the user
    - `anniversary_count` number, required: Number of surgery anniversaries reached (years)
    - `weight_lost_lbs` object, required: Total weight lost since starting weight (lbs). Null if no starting weight.
  - `weight_trend` WeightTrendDto, required
    - `window` 'month' | '6months' | 'year', required
    - `points` WeightTrendPointDto[], required
      - `date` string, required
      - `weight` number, required
    - `starting_weight` object, nullable, required
    - `current_weight` object, nullable, required
    - `goal_weight` object, nullable, required
    - `weight_change` object, nullable, required
    - `goal_progress_pct` object, nullable, required: Percentage of (starting→goal) gap closed. Null when inputs missing.
  - `timeline` TimelinePageDto, required
    - `entries` TimelineItemDto[], required
      - `id` string, required: Unique item ID. Pattern: "e_{id}" for DB entries, "surgery", "anniversary_{n}", "wm_{n|key}", "hm_{key}"
      - `type` 'nsv' | 'misc' | 'movement' | 'weight' | 'goal_completion' | 'monthly_recap' | 'level_up' | 'streak_milestone' | 'reward_earned' | 'streak_huddle' | 'surgery' | 'anniversary' | 'weight_log' | 'weight_milestone' | 'health_milestone', required
      - `title` string, required
      - `body` object, nullable, required
      - `entry_date` string, required
      - `weight_at_time_lbs` object, nullable, required
      - `ai_coaching_response` object, nullable, required: AI-generated coaching message. Present only on NSV entries.
      - `photos` JourneyPhotoDto[], required
        - `id` string, required
        - `url` string, required
      - `can_edit` boolean, required: Whether the current user can edit/delete this item
      - `is_auto_generated` boolean, required: True for backend-computed items (surgery, anniversary, weight_milestone, health_milestone, weight_log). False for user-created entries (nsv, misc, movement). Use this to decide icon treatment, edit affordance visibility, and photo suggestion flow.
      - `anniversary_year` object, nullable, required: Years since surgery. Set only on anniversary items.
      - `milestone_subtype` object, nullable, required: Subtype for milestone items — use this to pick the right icon/badge. weight_milestone subtypes: "weight_loss" | "onederland" | "goal_achieved". health_milestone subtypes: "first_10k_steps" | "first_30min_active" | "first_workout". Null for all other item types.
    - `has_more` boolean, required
    - `next_cursor` object, nullable, required
  - `computed_at` string, required

## Changes

- **2026-10-29** `be2d4033ea2a`: 2 warning
  - added the new `reward_earned` enum value to the `timeline/entries/items/type` response property for the response status `200`
  - added the new `streak_huddle` enum value to the `timeline/entries/items/type` response property for the response status `200`
- **2026-10-27** `5231b7914987`: 2 warning
  - added the new `level_up` enum value to the `timeline/entries/items/type` response property for the response status `200`
  - added the new `streak_milestone` enum value to the `timeline/entries/items/type` response property for the response status `200`
- **2026-09-12** `0d5ef02a4fbe`: 2 warning
  - added the new `goal_completion` enum value to the `timeline/entries/items/type` response property for the response status `200`
  - added the new `monthly_recap` enum value to the `timeline/entries/items/type` response property for the response status `200`

[Operation history](https://skmtc.dev/rewritelifestyle/apis/rewrite-lifestyle-api/changes/api/journey/me/get.md)

---

[API](https://skmtc.dev/rewritelifestyle/apis/rewrite-lifestyle-api.md) - [All operations](https://skmtc.dev/rewritelifestyle/apis/rewrite-lifestyle-api/llms.txt) - [OpenAPI document](https://skmtc.dev/rewritelifestyle/apis/rewrite-lifestyle-api/revisions/28695827f27a?raw)
