Skip to content
merran
GitHubInstall

Merran documentation API & integrations

Change something on the list

PATCH
/api/list/items/{itemId}
curl --request PATCH \
--url http://localhost:3000/api/list/items/0199e8b0-5a10-7a01-8b00-00000000001d \
--header 'Content-Type: application/json' \
--cookie merran.session_token=<merran.session_token> \
--data '{ "checked": true }'

Check it off or not, rename it, change how much, or move it to another aisle or list, which the household remembers for the food. With an API key, it needs the list: write permission.

itemId
required
string

Example

0199e8b0-5a10-7a01-8b00-00000000001d
Media typeapplication/json
object
name
string
>= 1 characters <= 200 characters
amount

“2 lb”, “half a bag”, or empty for none.

string
<= 60 characters
checked
boolean
aisle

An aisle’s id, or null. The household’s remembered for the food: next time it goes there.

string | null
list

Another list’s id. Remembered for the food too: next time it goes on that list.

string

Example

{
"checked": true
}

Changed.

Media typeapplication/json
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

{
"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."
}
}
}

Not on the list, or no such aisle or list.

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.