Single object: `user_id`, `email`, `first_name`, `last_name
Single object: `height_meter`, `weight_kilogram`, `max_heart_rate
Array of cycle records — one per physiological day: `start`/`end`, `score_state`, and `score` with day `strain`, `kilojoule`, `average_heart_rate`, `max_heart_rate
Single cycle record (the current/most recent day)
Array of recovery records — one per sleep: `cycle_id`, `sleep_id`, and `score` with `recovery_score` (0–100), `resting_heart_rate`, `hrv_rmssd_milli`, `spo2_percentage`, `skin_temp_celsius
Single recovery record for that cycle
Array of sleep records: `start`/`end`, `nap` flag, and `score` with per-stage durations (light/SWS/REM/awake, in ms), `respiratory_rate`, `sleep_performance_percentage`, `sleep_efficiency_percentage`, sleep-need breakdown
Array of workout records: `sport_name`, `start`/`end`, and `score` with workout `strain`, heart rates, `kilojoule`, `distance_meter`, `altitude_gain_meter`, time-in-zone durations (`zone_durations`, ms per HR zone)
Computed aggregate: `{days, cycles_counted, average_strain}
{authenticated: bool}` plus the profile on success or an `error` string on failure