POST
/custom-nutrients
Create a new custom nutrient
GET
/custom-nutrients
Retrieve all custom nutrients
POST
/custom-nutrients/from-catalog
Find-or-create custom nutrients from the canonical micronutrient catalog
GET
/custom-nutrients/{id}
Retrieve a single custom nutrient by ID
PUT
/custom-nutrients/{id}
Update a custom nutrient
DELETE
/custom-nutrients/{id}
Delete a custom nutrient
GET
/favorites
List the user's favorite (starred) foods and meals
POST
/favorites/{type}/{id}
Star a food or meal as a favorite
DELETE
/favorites/{type}/{id}
Remove a food or meal from favorites
GET
/foods/search
Search for foods (AI-dedicated)
GET
/foods
Search for foods
POST
/foods
Create a new food
GET
/foods/foods-paginated
Get foods with pagination
POST
/foods/food-variants
Create a new food variant
GET
/foods/food-variants
Get food variants by food ID
POST
/foods/food-variants/bulk
Bulk create food variants
GET
/foods/food-variants/{id}
Get a food variant by ID
PUT
/foods/food-variants/{id}
Update a food variant
DELETE
/foods/food-variants/{id}
Delete a food variant
GET
/foods/barcode/{barcode}
Look up a food by barcode
GET
/foods/{foodId}
Get a food by ID
PUT
/foods/{id}
Update a food
DELETE
/foods/{id}
Delete a food
GET
/foods/{id}/deletion-impact
Get food deletion impact
POST
/foods/import-from-csv
Import foods from CSV
GET
/foods/needs-review
Get foods needing review
POST
/foods/update-snapshot
Update food entries snapshot
POST
/food-entry-meals
Create a new FoodEntryMeal
GET
/food-entry-meals/by-date/{date}
Get FoodEntryMeals by date
GET
/food-entry-meals/{id}
Get a specific FoodEntryMeal with its components
PUT
/food-entry-meals/{id}
Update an existing FoodEntryMeal
DELETE
/food-entry-meals/{id}
Delete a FoodEntryMeal
POST
/food-entry-meals/{id}/image
Set a logged meal's override photo
DELETE
/food-entry-meals/{id}/image
Clear a logged meal's override photo
GET
/food-entries/export/csv
Export all food entries as CSV
POST
/food-entries/import-from-csv
Import diary log entries from CSV
POST
/food-entries
Create a new food entry
GET
/food-entries
Get food entries by selected date
POST
/food-entries/copy
Copy food entries from one meal to another
POST
/food-entries/copy-from-user
Copy food entries from a family member's diary to the active user's diary
POST
/food-entries/copy-reviewed-from-user
Copy an unchanged reviewed family meal into the authenticated user's diary
POST
/food-entries/copy-selected-from-user
Copy selected food entries from a family member's diary
POST
/food-entries/copy-to-user
Copy food entries from the active user's diary to a family member's diary
POST
/food-entries/copy-yesterday
Copy food entries from yesterday's meal
POST
/food-entries/copy-all
Copy all food entries from one day to another
POST
/food-entries/copy-all-yesterday
Copy all food entries from yesterday
PUT
/food-entries/{id}
Update a food entry
DELETE
/food-entries/{id}
Delete a food entry
GET
/food-entries/by-date/{date}
Get all food entries for a specific date
GET
/food-entries/range/{startDate}/{endDate}
Get food entries within a date range
GET
/food-entries/nutrition/today
Get daily nutrition summary
POST
/food-entries/{id}/image
Set the per-entry override photo for a diary entry
DELETE
/food-entries/{id}/image
Clear a diary entry's override photo
GET
/foods/food-entries/{date}
Get food entries by date (re-routed)
POST
/meal-plan-templates
Create a new meal plan template
GET
/meal-plan-templates
Get all meal plan templates for a user
PUT
/meal-plan-templates/{id}
Update a meal plan template
DELETE
/meal-plan-templates/{id}
Delete a meal plan template
POST
/meal-plan-templates/{id}/duplicate
Duplicate a meal plan template
POST
/meals/plan
Create a new meal plan entry
GET
/meals/plan
Get meal plan entries for a specific date or date range
PUT
/meals/plan/{id}
Update a meal plan entry
DELETE
/meals/plan/{id}
Delete a meal plan entry
POST
/meals
Create a new meal template
GET
/meals
Get all meal templates for the user
GET
/meals/recent
Get recently logged meal templates
GET
/meals/top
Get most frequently logged meal templates
GET
/meals/search
Search for meal templates
GET
/meals/{id}
Get a specific meal template by ID
PUT
/meals/{id}
Update an existing meal template
DELETE
/meals/{id}
Delete a meal template
GET
/meals/{id}/deletion-impact
Get the deletion impact for a meal
POST
/meals/plan/{id}/log-to-diary
Log a specific meal plan entry to the food diary
POST
/meals/plan/log-day-to-diary
Log all meal plan entries for a specific day to the food diary
GET
/meals/needs-review
Get meals needing review
POST
/meals/update-snapshot
Update meal entries snapshot
POST
/meals/create-meal-from-diary
Create a meal from diary entries
GET
/meal-types
Retrieve all meal types
POST
/meal-types
Create a new custom meal type
GET
/meal-types/{id}
Retrieve a single meal type by ID
PUT
/meal-types/{id}
Update a meal type
DELETE
/meal-types/{id}
Delete a custom meal type
GET
/preferences/nutrient-display
Get all nutrient display preferences for the logged-in user
PUT
/preferences/nutrient-display/{viewGroup}/{platform}
Upsert a nutrient display preference
DELETE
/preferences/nutrient-display/{viewGroup}/{platform}
Reset a nutrient display preference to default
GET
/nutrient-goal-preferences
Get effective goal-direction preferences for every nutrient
PUT
/nutrient-goal-preferences/{nutrientKey}
Set a nutrient's goal-direction override
DELETE
/nutrient-goal-preferences/{nutrientKey}
Reset a nutrient's goal direction to its built-in default