Skip to content
merran
GitHubInstall

Merran documentation API & integrations

Put usual buys on the list

POST
/api/list/usual/add
curl --request POST \
--url http://localhost:3000/api/list/usual/add \
--header 'Content-Type: application/json' \
--cookie merran.session_token=<merran.session_token> \
--data '{ "foods": [ "milk" ] }'

As they were last bought, each in its aisle and on its list. Ones not due are passed over. With an API key, it needs the list: write permission.

Media typeapplication/json
object
foods
required
Array<string>
>= 1 items <= 50 items

Example

{
"foods": [
"milk"
]
}

On the list.

Media typeapplication/json
object
items
required
Array<object>
object
id
required
string
list
required

The list it’s on.

string
name
required
string
amount
required

How much, as it shows: “1 ½ cups”, “half a bag”, or empty.

string
quantity
required
number | null
unit
required

A unit id, like “cup” or “pound”; null for a count.

string | null
amountText
required

An amount in words (“half a bag”), when it isn’t a number.

string | null
aisle
required

Its aisle’s id.

string | null
checked
required
boolean
source
required

How it got on the list: from the plan, typed in, every week, a usual buy, or the assistant.

string
Allowed values: plan typed every-week usual assistant
meals
required

The planned meals it’s for.

Array<object>
object
id
required
string
name
required
string
createdAt
required
string format: date-time

Example

{
"items": [
{
"id": "0199e8b0-5a10-7a01-8b00-00000000001d",
"list": "0199e8b0-5a10-7a01-8b00-00000000001c",
"name": "chicken thighs",
"amount": "3 lb",
"quantity": 3,
"unit": "pound",
"amountText": null,
"aisle": "0199e8b0-5a10-7a01-8b00-000000000021",
"checked": false,
"source": "plan",
"meals": [
{
"id": "0199e8b0-5a10-7a01-8b00-00000000001b",
"name": "Lemon Chicken"
}
],
"createdAt": "2026-10-15T18:30:00.000Z"
}
]
}

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.