Merran documentation API & integrations
Where each thing on a list can go
const url = 'http://localhost:3000/api/stores/send-plan?list=0199e8b0-5a10-7a01-8b00-00000000001c';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/stores/send-plan?list=0199e8b0-5a10-7a01-8b00-00000000001c' \ --cookie merran.session_token=<merran.session_token>For Send: the stores Merran can send to, and each thing left on the list with the stores the household picked a product at for it, newest first, which is where it goes (asking when there’s more than one), and where it’s been sent already. Each store’s part is then reviewed and sent with its basket’s items. With an API key, it needs the list: read permission.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Query Parameters
Section titled “Query Parameters”The list being sent: the one the person’s looking at.
Example
0199e8b0-5a10-7a01-8b00-00000000001cThe list being sent: the one the person’s looking at.
Responses
Section titled “Responses”Where each thing can go.
object
The stores Merran can send to.
object
object
The stores the household picked a product at for its food (someone picked it, or it was sent there before; Merran’s own picks don’t count), newest first.
The stores it’s been sent to while it’s on the list.
Example
{ "stores": [ { "key": "kroger", "name": "Fry's" }, { "key": "walmart", "name": "Walmart" } ], "items": [ { "itemId": "0199e8b0-5a10-7a01-8b00-00000000001d", "name": "milk", "amount": "1 gallon", "picked": [ "walmart", "kroger" ], "sent": [] }, { "itemId": "0199e8b0-5a10-7a01-8b00-00000000001e", "name": "eggs", "amount": "12", "picked": [], "sent": [] } ]}Not signed in.
object
object
object
Example
{ "error": { "code": "not_found", "message": "There's nothing here.", "fields": { "name": "Give it a name." } }}Not allowed.
object
object
object
Example
{ "error": { "code": "not_found", "message": "There's nothing here.", "fields": { "name": "Give it a name." } }}There’s no such list.
object
object
object
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.