Catalog
Stores
The Shopify stores linked to the account. Store ids are the addressing scheme for
everything store-scoped in the API — store versions, sales channels, and
store-scoped filters all take a store_id from this list.
List linked stores
/api/v1/storespim:read
Every Shopify store linked to the account. Bounded by the account's stores, so
the whole list is returned in one response and next_cursor is
always null — no pagination parameters to pass.
| Field | Type | Description |
|---|---|---|
data[].id | uuid | The store's id — the store_id every store-scoped endpoint takes. |
data[].domain | string | The Shopify domain, e.g. acme.myshopify.com. |
data[].name | string | The store's display name. |
next_cursor | null | Always null — the list is complete. |
curl -s "https://api.peak-pim.com/api/v1/stores" \
-H "Authorization: Bearer pk_live_..."
{
"data": [
{
"id": "9b2f6c1a-7d3e-4f80-b1c5-6a4e8d2b9c30",
"domain": "acme.myshopify.com",
"name": "Acme US"
},
{
"id": "4d8e1f2a-3b5c-4967-8d0e-1f2a3b4c5d6e",
"domain": "acme-eu.myshopify.com",
"name": "Acme EU"
}
],
"next_cursor": null
}
It rarely changes, and every store-scoped call needs an id from it. A store id that is not this account's is reported as 404 not_found — indistinguishable from a nonexistent store.
Where store ids are used
The store list is small on purpose — the interesting reads hang off other resources and take a store id:
| Usage | Where |
|---|---|
/api/v1/{resource}/{id}/stores/{store_id} | One store's version of a product, variant, collection, or media file — the values that store publishes. |
?store_id=… on sales-channel reads | Sales-channel membership is per store, so those endpoints require the store to answer for. |
store_ids on list items | Every entity list row names the stores the entity lives on, so you can tell single-store from multi-store rows without a detail read. |
stores[] on entities | The entity detail carries per-store publish state (store_id, store_domain, pending_publish, last_publish_status) — state only, the values live on the store subresource. |
A store's sales channels
/api/v1/stores/{id}/sales-channelspim:read
Every Shopify sales channel the store owns — the set an entity's own channel
membership is drawn from. This read reaches Shopify live, so it can answer
502. next_cursor is always null. Fully
documented on the Sales channels page.