Merran documentation API & integrations
What's at home
GET
/api/pantry
const url = 'http://localhost:3000/api/pantry';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/pantry \ --cookie merran.session_token=<merran.session_token>The fridge, the freezer and the cupboard: how much of each thing, its use-by date, the planned meals it’s set aside for, and why to use it soon when it should be. With an API key, it needs the pantry: read permission.
Authorizations
Section titled “Authorizations”Responses
Section titled “Responses”What’s at home.
Media typeapplication/json
object
items
required
The fridge, the freezer, then the cupboard; by aisle in each.
Array<object>
object
id
required
string
name
required
string
amount
required
How much, as it shows: “2 lb”, “half a bag”, or empty for just “have it”.
string
quantity
required
number | null
unit
required
string | null
amountText
required
string | null
storedIn
required
Where it’s kept.
string | null
aisle
required
string | null
useBy
required
string | null
meals
required
The planned meals it’s set aside for.
Array<object>
object
id
required
string
name
required
string
date
required
string
status
required
string
useSoon
required
createdAt
required
string format: date-time
Example
{ "items": [ { "id": "0199e8b0-5a10-7a01-8b00-000000000026", "name": "chicken thighs", "amount": "2 lb", "quantity": 2, "unit": "pound", "amountText": null, "storedIn": "fridge", "aisle": "0199e8b0-5a10-7a01-8b00-000000000021", "useBy": "2026-10-18", "meals": [ { "id": "0199e8b0-5a10-7a01-8b00-00000000001b", "name": "Lemon Chicken", "date": "2026-10-17", "status": "planned" } ], "useSoon": { "kind": "soon", "date": "2026-10-18" }, "createdAt": "2026-10-15T18:30:00.000Z" }, { "id": "0199e8b0-5a10-7a01-8b00-000000000027", "name": "rice", "amount": "", "quantity": null, "unit": null, "amountText": null, "storedIn": "cupboard", "aisle": "0199e8b0-5a10-7a01-8b00-000000000022", "useBy": null, "meals": [], "useSoon": null, "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.