Skip to content
merran
GitHubInstall

Merran documentation API & integrations

What the extension put in the Walmart cart

POST
/api/stores/walmart/sent
curl --request POST \
--url http://localhost:3000/api/stores/walmart/sent \
--header 'Content-Type: application/json' \
--cookie merran.session_token=<merran.session_token> \
--data '{ "lines": [ { "itemId": "0199e8b0-5a10-7a01-8b00-00000000001d", "packages": 1, "product": { "id": "10450114", "upc": null, "name": "Great Value 2% Reduced Fat Milk, Gallon, 128 fl oz", "brand": "Great Value", "size": "128 fl oz", "image": "https://i5.walmartimages.com/seo/milk.jpeg", "price": 327, "salePrice": null, "saleEnds": null, "currency": "USD", "aisle": null, "inStock": true, "url": "https://www.walmart.com/ip/10450114" } } ] }'

Remembered as sent while it’s still on the list, so it’s left unticked next time, and its product kept as the household’s, as its page showed it. The extension adds to the cart in the person’s own Walmart tab; this only records it. With an API key, it needs the list: write permission.

Media typeapplication/json
object
lines
required
Array<object>
>= 1 items <= 300 items
object
itemId
required
string
packages
required
integer
>= 1 <= 99
product

The product as its page showed it when it was added.

object
id
required
string
/^[0-9A-Za-z]{1,64}$/
upc
required
string | null
<= 20 characters
name
required
string
>= 1 characters <= 300 characters
brand
required
string | null
<= 120 characters
size
required
string | null
<= 60 characters
image
required
string | null
<= 1000 characters /^https:\/\//
price
required
integer | null
<= 10000000
salePrice
required
integer | null
<= 10000000
saleEnds
required

Walmart’s pages don’t say, so the extension sends null.

string | null format: date
currency
required
string
Allowed values: USD
aisle
required
string | null
<= 60 characters
inStock
required
boolean
url
required
string | null
<= 1000 characters /^https:\/\/www\.walmart\.com\//

Example

{
"id": "10450114",
"upc": null,
"name": "Great Value 2% Reduced Fat Milk, Gallon, 128 fl oz",
"brand": "Great Value",
"size": "128 fl oz",
"image": "https://i5.walmartimages.com/seo/milk.jpeg",
"price": 327,
"salePrice": null,
"saleEnds": null,
"currency": "USD",
"aisle": null,
"inStock": true,
"url": "https://www.walmart.com/ip/10450114"
}

Example

{
"lines": [
{
"itemId": "0199e8b0-5a10-7a01-8b00-00000000001d",
"packages": 1,
"product": {
"id": "10450114",
"upc": null,
"name": "Great Value 2% Reduced Fat Milk, Gallon, 128 fl oz",
"brand": "Great Value",
"size": "128 fl oz",
"image": "https://i5.walmartimages.com/seo/milk.jpeg",
"price": 327,
"salePrice": null,
"saleEnds": null,
"currency": "USD",
"aisle": null,
"inStock": true,
"url": "https://www.walmart.com/ip/10450114"
}
}
]
}

Remembered.

Media typeapplication/json
object
sent
required
integer
store
required
string
cartUrl
required

The store’s cart, to check out.

string

Example

{
"sent": 1,
"store": "Fry's",
"cartUrl": "https://www.frysfood.com/cart"
}

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

Walmart isn’t turned on on this server.

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.