Skip to content
merran
GitHubInstall

Merran documentation API & integrations

Change the household's lists

PUT
/api/list/lists
curl --request PUT \
--url http://localhost:3000/api/list/lists \
--header 'Content-Type: application/json' \
--cookie merran.session_token=<merran.session_token> \
--data '{ "lists": [ { "id": "0199e8b0-5a10-7a01-8b00-00000000001c", "name": "Groceries", "aisles": [] }, { "name": "Costco", "aisles": [ "0199e8b0-5a10-7a01-8b00-000000000021" ] } ] }'

Household admins only. The lists as a whole, in order: one with no id is new, and one left out goes, with what’s on it moving to the main list, which has to stay. Each store has one list, and each aisle goes on one. Then what’s waiting on the main list moves to the list its food or aisle goes on now.

Media typeapplication/json
object
lists
required
Array<object>
>= 1 items <= 10 items
object
id

An existing list’s id; none for a new one.

string | null
name
required
string
>= 1 characters <= 40 characters
aisles
required
Array<string>
<= 40 items

Example

{
"lists": [
{
"id": "0199e8b0-5a10-7a01-8b00-00000000001c",
"name": "Groceries",
"aisles": []
},
{
"name": "Costco",
"aisles": [
"0199e8b0-5a10-7a01-8b00-000000000021"
]
}
]
}

Saved.

Media typeapplication/json
object
lists
required
Array<object>
object
id
required
string
name
required
string
main
required

The main list, which takes what no other list does.

boolean
aisles
required

The ids of the aisles that go on it.

Array<string>

Example

{
"lists": [
{
"id": "0199e8b0-5a10-7a01-8b00-00000000001c",
"name": "Shopping list",
"main": true,
"aisles": []
},
{
"id": "0199e8b0-5a10-7a01-8b00-000000000025",
"name": "Costco",
"main": false,
"aisles": [
"0199e8b0-5a10-7a01-8b00-000000000021"
]
}
]
}

The main list left out, too many lists, a store twice or an aisle on two lists.

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

No such list or aisle.

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.