Creates several manual intakes in one request.
This endpoint is available only to APIUserManagers. Every target userId must belong to an APIUser accessible by the authenticated manager.
Each entry in intakes is validated independently and may use either:
- the existing legacy manual-input contract, or
- the unified typed contract.
Different intakes in the same bulk request may use different contracts.
For example, one intake may be legacy and the next one unified.
However, legacy and unified food items cannot be mixed inside the same dishes array.
If any food item in an intake provides type, every item in that intake must use the unified contract.
The unified contract supports:
dishingredientfavoritecustom_recipebarcode_food_item
Nested ingredients may use:
ingredientbarcode_ingredient
Favorites and custom recipes are resolved using the target APIUser's context, not the authenticated APIUserManager's context.
This means:
- a favorite must belong to the APIUser receiving that intake;
- a custom recipe must belong to the target APIUser's APICompany.
Timestamp and occasion
timestamp is required for every intake and must use the format %Y/%m/%d, %H:%M:%S.
Every intake may optionally provide either occasion or occasion_id, but never both.
occasion identifies an occasion by name. occasion_id identifies a custom company occasion.
Explicit occasion selection takes precedence over the occasion that would otherwise be inferred from the intake timestamp.
If neither field is provided, the occasion continues to be determined automatically from the target APIUser's timestamp and occasion configuration.
Occasion validation uses the occasion configuration that was active for the target APIUser's company at the supplied timestamp.
Optional display image
Requests without an image can use application/json.
To attach one display image to all intakes created by the request, use multipart/form-data with:
data: the JSON-serialized bulk request;image: the optional display image file.
The uploaded image is display-only. It does not trigger food recognition or segmentation and does not change the supplied foods or nutritional information.
The same uploaded file is processed independently for every intake. Each resulting intake therefore receives its own display-image record even though all of them originate from the same uploaded file.
The maximum uploaded image size is 1 MB.
If no image is supplied during creation, each intake's display image can still be attached or replaced later through POST /v2/intake/{image_id}/display_image.
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests⦠| |||
