List goal phases
Returns every bulk, cut, and maintenance phase (newest first) with planned vs actual weekly rate of weight change, the open phase, and a maintenance-calorie estimate from the caller’s own intake and weigh-ins (null until there are 10+ logged days across two weeks).
/api/phases__Secure-better-auth.session_tokenAPI key · cookierequiredBetter Auth session. Signing in (Google or email magic link) sets an HttpOnly session cookie that scopes every request to that account. The web app and CLI use this; agents use the OAuth 2.1 flow of the MCP server.
AuthorizationBearer token · headerrequiredPersonal API key sent as Authorization: Bearer skcal_…. Create and scope keys in the app under your profile → API keys. Keys default to full access; a scoped key is limited to its granted resource:action permissions and cannot manage other keys.
datestring<date>The caller's local calendar day (YYYY-MM-DD), the default start or end day. Defaults to the server's UTC date.
The caller's phases with progress and the maintenance estimate.
activePhase | nullrequiredThe open phase, if any.
Show propertiesHide properties
idstring<uuid>requiredPhase identifier.
kindstringrequiredPhase type.
bulkcutmaintainstartDatestring<date>requiredFirst day.
plannedEndDatestring<date> | nullrequiredPlanned last day.
endedDatestring<date> | nullrequiredDay it ended; null while it's the open phase.
activebooleanrequiredTrue for the open phase.
startWeightLbnumber | nullrequiredBodyweight at the start, in pounds.
goalWeightLbnumber | nullrequiredGoal bodyweight in pounds.
ratePctPerWeeknumber | nullrequiredPlanned weekly change, percent of bodyweight.
dailyKcalTargetinteger | nullrequiredThe phase's daily calorie target.
proteinTargetGinteger | nullrequiredThe phase's daily protein target in grams.
notestring | nullrequiredFree-text note.
progressPhaseProgressrequiredPlanned vs actual rate of change, from a least-squares fit over the phase's weigh-ins.
Show propertiesHide properties
weeksElapsednumberrequiredWeeks since the start (to the end, for a closed phase).
weeksPlannednumber | nullrequiredPlanned length in weeks.
latestWeightLbnumber | nullrequiredLatest weigh-in within the phase, in pounds.
changeLbnumber | nullrequiredChange since the start, in pounds.
plannedLbPerWeeknumber | nullrequiredPlanned weekly change in pounds.
actualLbPerWeeknumber | nullrequiredActual weekly change in pounds (null before a week of weigh-ins).
actualPctPerWeeknumber | nullrequiredActual weekly change as a percent of start weight.
statusstringrequiredWhether the actual rate is within a third of the plan.
on_tracktoo_fasttoo_slownot_enough_datanullphasesPhase[]requiredEvery phase, newest first.
Show propertiesHide properties
Phaseidstring<uuid>requiredPhase identifier.
kindstringrequiredPhase type.
bulkcutmaintainstartDatestring<date>requiredFirst day.
plannedEndDatestring<date> | nullrequiredPlanned last day.
endedDatestring<date> | nullrequiredDay it ended; null while it's the open phase.
activebooleanrequiredTrue for the open phase.
startWeightLbnumber | nullrequiredBodyweight at the start, in pounds.
goalWeightLbnumber | nullrequiredGoal bodyweight in pounds.
ratePctPerWeeknumber | nullrequiredPlanned weekly change, percent of bodyweight.
dailyKcalTargetinteger | nullrequiredThe phase's daily calorie target.
proteinTargetGinteger | nullrequiredThe phase's daily protein target in grams.
notestring | nullrequiredFree-text note.
progressPhaseProgressrequiredPlanned vs actual rate of change, from a least-squares fit over the phase's weigh-ins.
Show propertiesHide properties
weeksElapsednumberrequiredWeeks since the start (to the end, for a closed phase).
weeksPlannednumber | nullrequiredPlanned length in weeks.
latestWeightLbnumber | nullrequiredLatest weigh-in within the phase, in pounds.
changeLbnumber | nullrequiredChange since the start, in pounds.
plannedLbPerWeeknumber | nullrequiredPlanned weekly change in pounds.
actualLbPerWeeknumber | nullrequiredActual weekly change in pounds (null before a week of weigh-ins).
actualPctPerWeeknumber | nullrequiredActual weekly change as a percent of start weight.
statusstringrequiredWhether the actual rate is within a third of the plan.
on_tracktoo_fasttoo_slownot_enough_datamaintenanceMaintenanceEstimate | nullrequiredMaintenance calories estimated from the last 28 days of logged intake and weigh-ins.
Show propertiesHide properties
kcalintegerrequiredEstimated daily maintenance calories.
daysintegerrequiredLogged days the estimate used.
null