Merran documentation API & integrations
The household's own names for foods
GET
/api/list/foods
const url = 'http://localhost:3000/api/list/foods';const options = { method: 'GET', headers: {cookie: 'merran.session_token=<merran.session_token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url http://localhost:3000/api/list/foods \ --cookie merran.session_token=<merran.session_token>What it said was the same food as another (Same as…) or kept apart (Not the same) on the list, which win over Merran’s own names for it. With an API key, it needs the list: read permission.
Authorizations
Section titled “Authorizations”Responses
Section titled “Responses”Its names, by name.
Media typeapplication/json
object
aliases
required
Array<object>
object
id
required
string
name
required
A food’s key made another’s (Same as…), or a name kept its own (Not the same).
string
food
required
The food it is, for the household.
string
apart
required
Kept its own food.
boolean
Example
{ "aliases": [ { "id": "0199e8b0-5a10-7a01-8b00-00000000001f", "name": "unsalted butter", "food": "unsalted butter", "apart": true } ]}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.