@@ -279,6 +279,16 @@ def __init__(
279279
280280 self .garmin_workouts_schedule_url = f"{ self .garmin_workouts } /schedule"
281281
282+ self .garmin_nutrition = "/nutrition-service"
283+
284+ self .garmin_connect_nutrition_daily_food_logs = (
285+ f"{ self .garmin_nutrition } /food/logs"
286+ )
287+ self .garmin_connect_nutrition_daily_meals = f"{ self .garmin_nutrition } /meals"
288+ self .garmin_connect_nutrition_daily_settings = (
289+ f"{ self .garmin_nutrition } /settings"
290+ )
291+
282292 self .garmin_connect_delete_activity_url = "/activity-service/activity"
283293
284294 self .garmin_graphql_endpoint = "graphql-gateway/graphql"
@@ -2609,6 +2619,27 @@ def get_adaptive_training_plan_by_id(self, plan_id: int | str) -> dict[str, Any]
26092619 logger .debug ("Requesting adaptive training plan details for %s" , plan_id )
26102620 return self .connectapi (url )
26112621
2622+ def get_nutrition_daily_food_log (self , cdate : str ) -> dict [str , Any ]:
2623+ """Return food log summary for 'cdate' format 'YYYY-MM-DD'."""
2624+ cdate = _validate_date_format (cdate , "cdate" )
2625+ url = f"{ self .garmin_connect_nutrition_daily_food_logs } /{ cdate } "
2626+ logger .debug ("Requesting nutrition food log data for date %s" , cdate )
2627+ return self .connectapi (url )
2628+
2629+ def get_nutrition_daily_meals (self , cdate : str ) -> dict [str , Any ]:
2630+ """Return meals summary for 'cdate' format 'YYYY-MM-DD'."""
2631+ cdate = _validate_date_format (cdate , "cdate" )
2632+ url = f"{ self .garmin_connect_nutrition_daily_meals } /{ cdate } "
2633+ logger .debug ("Requesting nutrition meals data for date %s" , cdate )
2634+ return self .connectapi (url )
2635+
2636+ def get_nutrition_daily_settings (self , cdate : str ) -> dict [str , Any ]:
2637+ """Return nutrition settings for 'cdate' format 'YYYY-MM-DD'."""
2638+ cdate = _validate_date_format (cdate , "cdate" )
2639+ url = f"{ self .garmin_connect_nutrition_daily_settings } /{ cdate } "
2640+ logger .debug ("Requesting nutrition settings data for date %s" , cdate )
2641+ return self .connectapi (url )
2642+
26122643
26132644class GarminConnectConnectionError (Exception ):
26142645 """Raised when communication ended in error."""
0 commit comments