log_custom_food
Log a food item to a meal on a specific date by matching meal time to the correct meal window, with automatic fallback to snacks. Supports Garmin custom foods and FatSecret catalog entries.
Instructions
Log a food item to a meal on a date
Adds a food entry to the nutrition log. The meal is determined automatically by matching meal_time against each meal's startTime/endTime window; falls back to SNACKS if no window matches.
Food sources:
"GARMIN" (default): user's custom food library. Use get_custom_foods to find food_id and serving_id.
"FATSECRET": branded/catalog food from FatSecret. Use search_foods to find food_id and serving_id. Pass the source value from the search_foods result (e.g. "FATSECRET").
Garmin custom food IDs are 32-char hex UUIDs; FatSecret IDs are numeric strings (e.g. "4132350"). Passing the wrong source for a given food_id returns a 400 from Garmin.
Args: meal_date: Date in YYYY-MM-DD format meal_time: Time in HH:MM:SS format (e.g. "12:30:00", account timezone) food_id: Food ID from get_custom_foods (GARMIN) or search_foods (FATSECRET) serving_id: Serving ID from get_custom_foods or search_foods serving_qty: Number of servings (default 1) source: Food namespace — "GARMIN" (default) or "FATSECRET"
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| source | No | GARMIN | |
| food_id | Yes | ||
| meal_date | Yes | ||
| meal_time | Yes | ||
| serving_id | Yes | ||
| serving_qty | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |