Skip to content
merran
GitHubInstall

Merran documentation API & integrations

Add planned meals to the list

POST
/api/list/from-plan
curl --request POST \
--url http://localhost:3000/api/list/from-plan \
--header 'Content-Type: application/json' \
--cookie merran.session_token=<merran.session_token> \
--data '{ "from": "2026-10-12", "to": "2026-10-18" }'

The ingredients of planned meals from one day to another that aren’t on the list yet: scaled to their servings, their sides’ too, added up across meals and into what’s there, leaving off what’s always on hand. Every-week items not on the list come along. From then on the list follows the plan: taking a meal off, skipping it or changing it takes its share back off. With an API key, it needs the list: write permission.

Media typeapplication/json
object
from
required
string
/^\d{4}-\d{2}-\d{2}$/

Example

2026-10-15
to
required
string
/^\d{4}-\d{2}-\d{2}$/

Example

2026-10-15

Example

{
"from": "2026-10-12",
"to": "2026-10-18"
}

Added.

Media typeapplication/json
object
meals
required

Meals added.

integer
added
required

New lines on the list.

integer
merged
required

Lines added to ones already there.

integer
everyWeek
required

Every-week items added.

integer
onHand
required

Left off: always on hand.

Array<string>
inPantry
required

Left off: at home already, and now set aside for them.

Array<string>

Example

{
"meals": 3,
"added": 14,
"merged": 2,
"everyWeek": 2,
"onHand": [
"salt",
"black pepper"
],
"inPantry": [
"rice"
]
}

Days out of order, or too many at once.

Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
fields
object
key
additional properties
string

Example

{
"error": {
"code": "not_found",
"message": "There's nothing here.",
"fields": {
"name": "Give it a name."
}
}
}

Not signed in.

Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
fields
object
key
additional properties
string

Example

{
"error": {
"code": "not_found",
"message": "There's nothing here.",
"fields": {
"name": "Give it a name."
}
}
}

Not allowed.

Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
fields
object
key
additional properties
string

Example

{
"error": {
"code": "not_found",
"message": "There's nothing here.",
"fields": {
"name": "Give it a name."
}
}
}

© 2026 Kyle Johnson. Documentation: CC BY 4.0. Merran: AGPL-3.0-or-later.