Manual or Assigned Intakes
Plan & Token Requirements
Feature available in the following LogMeal Plans:
Accessible by the following User Types:
⚫ APICompany | 🔴 APIUser | 🔵 APIUserManager
What It Does
Manual Intakes allow creating a meal intake without image-based prediction. You provide one or more dish IDs, and you may optionally supply ingredient breakdown, quantity (serving size), and easy-to-modulate ingredients levels (salt, sugar, oil). This is ideal when users forget to take a photo, when recording historic meals, or when professionals need to log meals on behalf of users.


When to Use It / Outcomes
- Users don’t have a photo or prefer manual entry.
- Professionals need to add meals for their managed users, individually or in bulk.
- You want to recreate meals from a known dish id and optionally customize ingredients and quantity.
- Output: JSON with the created intake (ID, timestamp, dish list) and any overrides applied; on bulk/assign endpoints, creation results per user.
Feature-Specific Details
- Add one or more dishes to record what was eaten.
- Optionally include ingredients for each dish to show what it’s made of.
- Specify easy-to-modulate ingredient levels (salt, sugar, oil) as high, medium, low, or none.
- Include a serving size in grams for each dish so the system can scale ingredient quantities automatically.
- Add a timestamp for when the meal was eaten (defaults to the current time if not provided).
- If you give ingredients, they replace the default recipe for that dish.
- The system automatically adjusts nutrition based on your quantities and levels.
- Managers can quickly log or assign meals for one or many users at once.
Related Endpoints
Use the following endpoints to create and manage manual intakes:
-
POST /intake/manualInput/{userId} → 🔴 🔵 Create a manual intake for a specific user.
-
POST /intake/manualInput/bulkAssign → 🔵 **Create manual intakes in bulk for one or multiple users.
-
Maintenance helpers:
- POST /intake/modifyNutritionalInfo → 🔴 🔵 Modify the nutritional info of an uploaded intake.
- POST /intake/modifyTimestamp → ⚫ 🔵 🔴 Set/override the intake timestamp.
- DELETE /intake/{imageId} → ⚫ 🔵 🔴 Remove an uploaded intake. This is applicable for any kind of intake (image-based, manual, barcode-based, etc.)
-
Optional lookup helpers:
- GET /dataset/ingredients → ⚫ 🔴 🔵 List available ingredients (IDs, names, measures).
Typical Workflow
- Collect inputs:
dish
ID(s), and optionally ingredients, levels, quantity, timestamp. - Single user: call POST /intake/manualInput/{userId}.
- Bulk/assignment (managers): call POST /intake/manualInput/bulkAssign.
- (Optional) Adjust via POST /intake/modifyNutritionalInfo and/or POST /intake/modifyTimestamp.
- Store & display the new intake in History and progress dashboards.
Updated about 11 hours ago