Skip to content
merran
GitHubInstall

Merran documentation API & integrations

Pick the household's Kroger store

PUT
/api/stores/kroger
curl --request PUT \
--url http://localhost:3000/api/stores/kroger \
--header 'Content-Type: application/json' \
--cookie merran.session_token=<merran.session_token> \
--data '{ "locationId": "70500822", "modality": "PICKUP" }'

Household admins only. The store the household shops at (from GET /stores/kroger/locations), and whether orders are picked up or delivered. A new store has its prices and sales checked straight away.

Media typeapplication/json
object
locationId
string
<= 40 characters
modality
string
Allowed values: PICKUP DELIVERY

Example

{
"locationId": "70500822",
"modality": "PICKUP"
}

Its stores now.

Media typeapplication/json
object
kroger
required
object
ready
required

The server has a Kroger developer app.

boolean
location
required
Any of:
object
locationId
required
string
name
required
string
banner
required

Kroger’s name for the chain: Fry’s, Ralphs, King Soopers…

string
domain
required

The banner’s site.

string
address
required
string
modality
required

Orders are picked up or delivered.

string
Allowed values: PICKUP DELIVERY
linked
required

The account whose cart things go to.

object
by
required
string | null
at
required
string format: date-time
needsRelink
required

Kroger stopped taking the linked account.

boolean
pricesCheckedAt
required

When its prices and sales were last checked.

string | null format: date-time
leanOnSales
required

How much Fill the week and the autoplan lean on deals: the household setting stores.leanOnSales.

string
Allowed values: off some lots
weeklyBudget
required

The household’s weekly budget in its store’s currency, or null: the household setting stores.weeklyBudget.

number | null

Example

{
"kroger": {
"ready": true,
"location": {
"locationId": "70500822",
"name": "Fry's Food Stores - Phoenix",
"banner": "Fry's",
"domain": "frysfood.com",
"address": "4724 N 20th St, Phoenix, AZ"
},
"modality": "PICKUP",
"linked": {
"by": "Kyle",
"at": "2026-10-01T17:30:00.000Z"
},
"needsRelink": false,
"pricesCheckedAt": null,
"leanOnSales": "some",
"weeklyBudget": 120
}
}

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

Kroger isn’t set up 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.