---
title: "List stores"
method: GET
path: "/stores"
tags: ["Stores"]
---

# List stores

`GET /stores`

## Request

- Base URL: `https://api.helloextend.com`
- URL: `https://api.helloextend.com/stores`
- Auth: API key in header `X-Extend-Access-Token`

Returns stores for the account in the merchant token. An accountId query does not override that account. Cross-account listing requires separate internal or integration authorization. Requires any one scope: `stores:list`, `stores:list-all`, `stores:view`, `stores:edit`, `stores:full`, `all`.

## Query parameters

- `limit` integer
- `cursor` string
- `includeDeleted` boolean

## Response `200`

Successful request

- object
  - `items` object[], required
    - `accountId` string, required: The account that owns the store.
    - `address` object: Always returned. An empty object when not configured.
      - `address1` string
      - `address2` string
      - `city` string
      - `country` string
      - `countryCode` string
      - `province` string
      - `provinceCode` string
      - `zipCode` string
    - `adminDealerNumber` string: Returned when configured on the store.
    - `adminLocationNumber` string: Returned when configured on the store.
    - `adminManufacturer` string: Returned when configured on the store.
    - `analyticsDisabled` boolean: Returned when configured on the store.
    - `annualSales` number: Returned when configured on the store.
    - `approved` boolean, required: Whether Extend has approved the store.
    - `bankDetailsSubmittedAt` number: Returned when configured on the store.
    - `branding` object: Returned when configured on the store.
      - `primaryColor` string
      - `font` string
      - `fontUrl` string
    - `claimsManagementEnabled` boolean: Returned when configured on the store.
    - `currencyCode` 'AUD' | 'CAD' | 'EUR' | 'GBP' | 'NZD' | 'USD': Returned when configured on the store.
    - `customLeadUrl` string: Returned when configured on the store. Absent from the create response.
    - `customReports` object[]: Returned when configured on the store. Absent from the create response.
      - `title` string, required
      - `url` string, required
    - `defaultLeadUrl` string: Returned when configured on the store. Absent from the create response.
    - `postClaimRedirectUrl` string: Returned when configured on the store. Absent from the create response.
    - `domain` string, required: The store's domain.
    - `enabled` boolean: Whether the store is enabled. Always returned by create, as false; other responses return it when set.
    - `enableMerchantPortalLeadEmailsConfiguration` boolean: Returned when configured on the store.
    - `escalationContact` object: Returned when configured on the store.
      - `phoneNumber` object
        - `number` string, required
        - `type` 'cell' | 'work' | 'home'
        - `extension` string
      - `email` string
      - `contactName` string
      - `hours` string
      - `url` string
    - `extendCut` number, nullable: Returned only when present on an unfiltered list or create response. Omitted from merchant get and update responses.
    - `generateLeadsEnabled` boolean: Returned when configured on the store.
    - `historicalLeadsEnabled` boolean: Always returned. Defaults to true when not configured.
    - `historicalLeadsLookbackMonths` number: Always returned. Defaults to 0 when not configured.
    - `inStoreAppEnabled` boolean: Returned when configured on the store. Absent from the create response.
    - `isABTestingEnabled` boolean: Always returned. Defaults to false when not configured.
    - `isTestStore` boolean: Returned when configured on the store.
    - `leadUrlConfigurabilityEnabled` boolean: Returned when configured on the store. Absent from the create response.
    - `localesConfig` object: Returned when configured on the store.
    - `locationFilteringEnabled` boolean: Returned when configured on the store.
    - `merchantCut` number, required: Always returned. Defaults to 0 when not set.
    - `merchantEwRevenueAgreement` 'net_revenue_share' | 'gross_revenue_share' | 'wholesale' | 'null', nullable: Returned when configured on the store.
    - `merchantEwRevenueSharePercentage` number, nullable: Returned when configured on the store.
    - `merchantSpRevenueAgreement` 'revenue_share' | 'null', nullable: Returned when configured on the store.
    - `merchantSpRevenueSharePercentage` number, nullable: Returned when configured on the store.
    - `partialReimbursementEnabled` boolean, nullable: Returned when configured on the store.
    - `partialReimbursementPercentage` number, nullable: Returned when configured on the store.
    - `partialReimbursementType` 'percentage' | 'fixed' | 'null', nullable: Returned when configured on the store.
    - `partialReimbursementFixed` number, nullable: Returned when configured on the store.
    - `name` string: The store's name. Always returned by create; other responses return it when set.
    - `offerModalVersion` string: Returned when configured on the store.
    - `offerPlanRecordEnabled` boolean: Always returned. Defaults to false when not configured.
    - `offerPriceType` 'product_list_price' | 'product_purchase_price' | 'product_sale_price': Returned when configured on the store.
    - `offersByCategoryEnabled` boolean: Returned by create and list. Always false in merchant get and update responses after restricted properties are filtered.
    - `offerVersion` string: Returned when configured on the store.
    - `phoneNumbers` object[]: Always returned. An empty array when not configured.
      - `number` string, required
      - `type` 'cell' | 'work' | 'home'
      - `extension` string
    - `platform` 'magento' | 'shopify' | 'salesforce' | 'big-commerce' | 'woo-commerce' | 'custom', required: The ecommerce platform the store runs on.
    - `platformMetaData` object: Always returned. An empty object when not configured.
      - `platformCreatedAt` number
      - `platformUpdatedAt` number
      - `platformPlanName` string
      - `extendVersion` number
      - `platformStoreName` string
    - `secondaryName` string: Returned when configured on the store.
    - `shippingProtection` object: Returned when configured on the store. Absent from the create response.
      - `purchaseModel` 'SINGLE_PLAN' | 'CATEGORY' | 'PRICE_BAND'
      - `approved` boolean
      - `enabled` boolean
      - `offersByCategoryEnabled` boolean
      - `offerType` 'OPT_IN' | 'OPT_OUT' | 'OPT_MERCHANT' | 'SAFE_PACKAGE'
      - `offerTypeMap` object
        - `enabled` boolean
        - `map` object[]
          - `low` number
          - `high` number, nullable
          - `offerType` 'OPT_IN' | 'OPT_OUT' | 'OPT_MERCHANT' | 'SAFE_PACKAGE'
      - `planId` string
      - `partialReimbursementEnabled` boolean
      - `partialReimbursementPercentage` number, nullable
      - `partialReimbursementType` 'percentage' | 'fixed' | 'null', nullable
      - `partialReimbursementFixed` number, nullable
      - `locationFilteringEnabled` boolean
      - `isABTestingEnabled` boolean
      - `isLoyaltyApproved` boolean, nullable
      - `loyaltyRevShare` number, nullable
      - `loyaltyOfferMap` object[]
        - `status` string, required
        - `offerType` 'OPT_IN' | 'OPT_OUT' | 'OPT_MERCHANT' | 'SAFE_PACKAGE', required
        - `purchaseModel` 'SINGLE_PLAN' | 'CATEGORY' | 'PRICE_BAND', required
        - `planId` string, required
        - `revenueShare` number
    - `storeType` string: Returned when configured on the store.
    - `supportContact` object: Returned when configured on the store.
      - `phoneNumber` object
        - `number` string, required
        - `type` 'cell' | 'work' | 'home'
        - `extension` string
      - `email` string
      - `contactName` string
      - `hours` string
      - `url` string
    - `syncOrderProducts` boolean: Returned by create and list. Always false in merchant get and update responses after restricted properties are filtered.
    - `tableauUserId` string: Returned when configured on the store. Absent from the create response.
    - `trustConsumerData` boolean: Returned when configured on the store.
    - `unmappedProductContracts` boolean: Always returned. Defaults to false when not configured.
    - `whiteLabeledEnabled` boolean: Returned when configured on the store.
    - `wismoNotifications` object: Returned when configured on the store.
      - `enabled` boolean, required
      - `sourcePhoneNumber` string
      - `dailySummaryEnabled` boolean
      - `enabledAt` number: Timestamp in milliseconds since the Unix epoch when notifications were enabled.
    - `offersCustomContentEnabled` boolean: Returned when configured on the store. Absent from the create response.
    - `themeConfigurabilityEnabled` boolean: Returned when configured on the store. Absent from the create response.
    - `isMiniDemo` boolean: Returned when configured on the store.
    - `createdAt` number, required: Store creation timestamp in milliseconds since the Unix epoch.
    - `deletedAt` number: Soft deletion timestamp in milliseconds since the Unix epoch, returned only for a deleted store. Absent from the create response.
    - `id` string, required: The store ID.
    - `logoKey` string: Returned when configured on the store.
    - `logoUrl` string, nullable: Returned when configured on the store.
    - `organizationId` string: Returned when configured on the store.
    - `preDiscounted` boolean: Returned by list, get and update when configured. Absent from the create response.
    - `updatedAt` number, required: Last update timestamp in milliseconds since the Unix epoch.
  - `nextPageCursor` string: Present when another page is available.
  - `limit` integer

## Other responses

- `401`: Missing or invalid access token
- `403`: Scope or account boundary does not permit this request

---

[API](https://skmtc.dev/extend/apis/stores-api.md) - [All operations](https://skmtc.dev/extend/apis/stores-api/llms.txt) - [OpenAPI document](https://skmtc.dev/extend/apis/stores-api/revisions/fa33a338c0f2?raw)
