Skip to content

Save Meal From Items

POST
/users/{user_id}/saved-meals/from-items
curl --request POST \
--url https://example.com/users/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/saved-meals/from-items \
--header 'Content-Type: application/json' \
--data '{ "event_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "kind": "meal", "name": "example", "place": "example", "source": "home" }'

“Save as meal”: snapshot an event’s tray into a reusable named template.

Copies the event’s meal_items as template components (event_id NULL), computes the aggregate, and links the event for provenance. Deduped like the upsert path — an existing meal with the same (kind, description) is reused and its template replaced. 400 while captures are still enriching (the client disables the button) or if the tray is empty.

user_id
required
User Id
string format: uuid
Media typeapplication/json
SavedMealFromItems

“Save as meal”: snapshot an event’s tray items into a reusable named template.

object
event_id
required
Event Id
string format: uuid
kind
Kind
string
default: meal
Allowed values: meal snack drink
name
required
Name
string
place
Any of:
string
source
Any of:
string
Allowed values: home restaurant store takeout

Successful Response

Media typeapplication/json
SavedMealRead
object
created_at
required
Created At
string format: date-time
deleted_at
required
Any of:
string format: date-time
description
required
Description
string
id
required
Id
string format: uuid
items
Any of:
Array<object>
EventMealItemRead
object
capture_id
required
Any of:
string format: uuid
food_item
required
FoodItemRead
object
barcode
required
Any of:
string
brand
required
Brand
string
confidence
required
Any of:
string
created_at
required
Created At
string format: date-time
id
required
Id
string format: uuid
is_drink
required
Is Drink
boolean
name
required
Name
string
nutrition
required
Any of:
object
key
additional properties
any
place
required
Any of:
string
serving_description
required
Any of:
string
source
required
Source
string
updated_at
required
Updated At
string format: date-time
usage_count
required
Usage Count
integer
id
required
Id
string format: uuid
nutrition_snapshot
required
Any of:
object
key
additional properties
any
position
required
Position
integer
quantity
required
Quantity
number
serving_description
required
Any of:
string
kind
required
Kind
string
Allowed values: meal snack drink
last_used_at
required
Last Used At
string format: date-time
name
required
Any of:
string
nutrition_data
required
Any of:
object
key
additional properties
any
place
required
Any of:
string
source
required
Source
string
Allowed values: home restaurant store takeout
updated_at
required
Updated At
string format: date-time
user_id
required
User Id
string format: uuid
Example
{
"kind": "meal",
"source": "home"
}

Validation Error

Media typeapplication/json
HTTPValidationError
object
detail
Detail
Array<object>
ValidationError
object
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
Examplegenerated
{
"detail": [
{
"loc": [
"example"
],
"msg": "example",
"type": "example"
}
]
}