Skip to content
merran
GitHubInstall

Merran documentation API & integrations

Change what the household eats

PUT
/api/households/current/tastes
curl --request PUT \
--url http://localhost:3000/api/households/current/tastes \
--header 'Content-Type: application/json' \
--cookie merran.session_token=<merran.session_token> \
--data '{ "avoid": [ { "food": "peanuts", "level": "allergy", "who": "Sam" }, { "food": "mushrooms", "level": "leave-out", "who": "Emma" } ], "diets": [], "weeknightMinutes": 45 }'

Anyone in the household can: everyone eats. Replaces them all; a food listed twice is kept once, as an allergy if either says so. With an API key, it needs the plan: write permission.

Media typeapplication/json
object
avoid
required

Foods the household doesn’t eat.

Array<object>
<= 100 items
object
food
required
string
>= 1 characters <= 60 characters
level
required

How firmly: an allergy or never, and recipes with it aren’t suggested; leave-out, and they are, with it crossed off, unless it’s what the dish is or the recipe needs it. Nuts, dairy, gluten, eggs and meat can’t be left out, so they’re saved as never.

string
Allowed values: allergy never leave-out
who

Who doesn’t eat it, when it isn’t everyone.

string | null
<= 40 characters
diets
required

Diets every meal must fit.

Array<string>
<= 6 items
Allowed values: vegetarian vegan gluten-free dairy-free egg-free nut-free
weeknightMinutes
required

The longest a dinner Monday to Thursday can take.

integer | null
>= 10 <= 240

Example

{
"avoid": [
{
"food": "peanuts",
"level": "allergy",
"who": "Sam"
},
{
"food": "mushrooms",
"level": "leave-out",
"who": "Emma"
}
],
"diets": [],
"weeknightMinutes": 45
}

Saved.

Media typeapplication/json
object
avoid
required

Foods the household doesn’t eat.

Array<object>
<= 100 items
object
food
required
string
>= 1 characters <= 60 characters
level
required

How firmly: an allergy or never, and recipes with it aren’t suggested; leave-out, and they are, with it crossed off, unless it’s what the dish is or the recipe needs it. Nuts, dairy, gluten, eggs and meat can’t be left out, so they’re saved as never.

string
Allowed values: allergy never leave-out
who

Who doesn’t eat it, when it isn’t everyone.

string | null
<= 40 characters
diets
required

Diets every meal must fit.

Array<string>
<= 6 items
Allowed values: vegetarian vegan gluten-free dairy-free egg-free nut-free
weeknightMinutes
required

The longest a dinner Monday to Thursday can take.

integer | null
>= 10 <= 240

Example

{
"avoid": [
{
"food": "peanuts",
"level": "allergy",
"who": "Sam"
},
{
"food": "mushrooms",
"level": "leave-out",
"who": "Emma"
}
],
"diets": [],
"weeknightMinutes": 45
}

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.