Progress & Tracking

Vibes/mood trend for sharing

Changed on

Shaped like GET /journey/weight-trend. window = month (30 days) | 6months (180) | year (365); one point per logged day, empty days omitted. Each point is the average mood score (1–5) for the day plus the vibe logged most often that day. breakdown counts each vibe over the window, most frequent first.

get/api/vibe-log/trend

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/vibe-log/trend
  • Auth
    HTTP bearer

Query parameters

window'month' | '6months' | 'year'

Same windows as GET /journey/weight-trend: month = last 30 days, 6months = last 180, year = last 365. Defaults to "month".

datestring
Example:2026-10-26

End-date anchor in YYYY-MM-DD (inclusive). Defaults to today in the user's timezone.

Headers

x-timezonestring required

Response

unknown required

Example response

{
  "metric": "vibes",
  "window": "month",
  "unit": "score",
  "scale": {
    "min": 1,
    "max": 5
  },
  "points": [
    {
      "date": "2026-10-20",
      "value": 4,
      "vibe": "motivated",
      "emoji": "💪"
    },
    {
      "date": "2026-10-22",
      "value": 2,
      "vibe": "tired",
      "emoji": "😴"
    },
    {
      "date": "2026-10-25",
      "value": 5,
      "vibe": "happy",
      "emoji": "😊"
    }
  ],
  "goal": null,
  "starting_value": 4,
  "current_value": 5,
  "change": 1,
  "average": 3.7,
  "days_logged": 3,
  "goal_progress_pct": null,
  "top_vibe": {
    "vibe": "happy",
    "emoji": "😊",
    "count": 1
  },
  "breakdown": [
    {
      "vibe": "happy",
      "emoji": "😊",
      "count": 1
    },
    {
      "vibe": "tired",
      "emoji": "😴",
      "count": 1
    },
    {
      "vibe": "motivated",
      "emoji": "💪",
      "count": 1
    }
  ]
}

Changes