Operations

Markets

Every Shopify market in the account, with its per-store records and the catalogs attached to it — the region, currency, and price-list structure a pricing or localization integration reads before it writes store-local values.

List markets

GET/api/v1/marketspim:read

The account's markets. The list is bounded by the account, so the whole set is returned in one response and next_cursor is always null — there is nothing to paginate.

curl "https://api.peak-pim.com/api/v1/markets" \
  -H "Authorization: Bearer $PEAK_PIM_KEY"

Response — 200

{
  "data": [
    {
      "id": "7c9a2f1e-4b6d-4e2a-9c1f-3d8b5a7e6f01",
      "name": "Europe",
      "pending_publish": false,
      "stores": [
        {
          "store_id": "1e8e4c2a-9f3b-4d7c-8a5e-6b2d9c1f7a30",
          "store_domain": "acme-eu.myshopify.com",
          "shopify_gid": "gid://shopify/Market/74940973366",
          "name": "Europe",
          "regions": ["FR", "DE", "NL", "BE"],
          "currency": "EUR",
          "web_presences": [],
          "pending_publish": false,
          "last_publish_status": "published"
        }
      ],
      "catalogs": [
        {
          "id": "b3f1d8c4-2a7e-4c9b-8d1a-5e6f2b9c4d72",
          "title": "EU wholesale",
          "slug": "eu-wholesale",
          "pending_publish": false,
          "stores": [
            {
              "store_id": "1e8e4c2a-9f3b-4d7c-8a5e-6b2d9c1f7a30",
              "store_domain": "acme-eu.myshopify.com",
              "shopify_gid": "gid://shopify/Catalog/29130588214",
              "status": "ACTIVE",
              "currency": "EUR",
              "price_adjustment": "-10%",
              "auto_publish": true,
              "price_list_gid": "gid://shopify/PriceList/28439871542",
              "publication_gid": "gid://shopify/Publication/178150375478",
              "pending_publish": false,
              "last_publish_status": "published"
            }
          ]
        }
      ]
    }
  ],
  "next_cursor": null
}

Errors: 401, 403, 429 — the standard envelope.

Get one market

GET/api/v1/markets/{id}pim:read

One market, as a single object with the same shape as a list item. A market id that belongs to another account, or an id of a different kind of entity, answers 404 not_found.

Path parameters

ParameterTypeDescription
iduuidThe market's id, from the list.

The market shape

FieldTypeDescription
iduuidThe market's id in Peak PIM.
namestringThe market's name.
pending_publishbooleanThe market has unpublished changes.
storesarrayOne record per store the market exists on — see below.
catalogsarrayThe catalogs attached to the market — see below.

Each entry in stores is one store's version of the market:

FieldTypeDescription
store_iduuidThe store, as returned by GET /api/v1/stores.
store_domainstringThe Shopify domain.
shopify_gidstringThe market's GID on that store.
namestringThe store-local market name.
regionsarray of stringThe country/region codes the market covers.
currencystringThe market's currency.
web_presencesThe market's web presences, as Shopify returned them.
pending_publishbooleanThe store record has unpublished changes.
last_publish_statusenumnever_published, pending, published, or failed.

Catalogs

A catalog carries id, title, slug, pending_publish, and its own stores array. The store records are where a pricing integration finds the handles it addresses Shopify by:

FieldTypeDescription
store_id / store_domainuuid / stringWhich store this record belongs to.
shopify_gidstringThe catalog's GID on that store.
statusstringThe catalog's status on that store.
currencystringThe catalog's currency.
price_adjustmentstringThe catalog's price adjustment.
auto_publishbooleanWhether the catalog publishes automatically.
price_list_gidstringThe Shopify price-list handle for fixed or adjusted prices.
publication_gidstringThe Shopify publication handle for catalog membership.
pending_publishbooleanUnpublished changes on this record.
last_publish_statusenumSame publish-state values as everywhere else.
Read before you price.

A pricing integration should read the market's catalogs first and address Shopify by price_list_gid and publication_gid, rather than rebuilding that mapping itself. See the translations & markets guide.

Notes