Skip to content
merran
GitHubInstall

Merran documentation API & integrations

Pick a product for something on the list

PUT
/api/stores/kroger/products/{itemId}
curl --request PUT \
--url http://localhost:3000/api/stores/kroger/products/0199e8b0-5a10-7a01-8b00-00000000001d \
--header 'Content-Type: application/json' \
--cookie merran.session_token=<merran.session_token> \
--data '{ "productId": "0001111041700" }'

Kept for that food from now on, at the household’s store, and never replaced by itself. With an API key, it needs the list: write permission.

itemId
required
string

Example

0199e8b0-5a10-7a01-8b00-00000000001d
Media typeapplication/json
object
productId
required
string
>= 1 characters <= 40 characters

Example

{
"productId": "0001111041700"
}

Its line, with the product.

Media typeapplication/json
object
itemId
required
string
name
required
string
amount
required
string
product
required
Any of:
object
id
required
string
upc
required
string | null
name
required
string
brand
required
string | null
size
required
string | null
image
required
string | null
price
required

In the currency’s smallest unit: cents.

integer | null
salePrice
required
integer | null
saleEnds
required

The sale’s last day.

string | null
currency
required
string
aisle
required
string | null
inStock
required
boolean
url
required
string | null
suggested
required

Merran’s pick, not one the household chose.

boolean
packages
required
integer
sure
required

How many is worked out from the product’s size, not a guess.

boolean
sent
required

Sent to the cart last time.

boolean
sale
required

Its sale today, if it’s on one.

object
verdict
required

How good a sale is, against what the product usually costs: the lowest in a while, a normal sale, or barely off (under a tenth).

string
Allowed values: lowest sale small
usual
required

What it usually costs, in cents: its most common price over 90 days, else its regular price.

integer | null

Example

{
"itemId": "0199e8b0-5a10-7a01-8b00-00000000001d",
"name": "milk",
"amount": "1 gallon",
"product": {
"id": "0001111041700",
"upc": "0001111041700",
"name": "Kroger 2% Reduced Fat Milk",
"brand": "Kroger",
"size": "1 gal",
"image": "https://www.kroger.com/product/images/medium/front/0001111041700",
"price": 349,
"salePrice": 299,
"saleEnds": "2026-10-21",
"currency": "USD",
"aisle": "Dairy",
"inStock": true,
"url": "https://www.frysfood.com/p/milk/0001111041700"
},
"suggested": true,
"packages": 1,
"sure": true,
"sent": false,
"sale": {
"verdict": "sale",
"usual": 349
}
}

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 thing on the list, or product at the store.

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.