---
title: "List products"
method: GET
path: "/stores/{storeId}/products"
tags: ["Products"]
---

# List products

`GET /stores/{storeId}/products`

## Request

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

Returns a product array. Follow the next URL in the Link response header with the same Accept and access token headers until Link is absent. Internal OEM/category filters are unavailable to merchant tokens. Requires one of `stores:products:view`, `stores:products:full`, `stores:products:list`, for the store account.

## Query parameters

- `limit` integer
- `pageCursor` string

## Response `200`

Success

- object[]
  - `brand` string: The Product Brand, Manufacturer or Vendor.
  - `category` string: Product category. Can be any value and may be used by Extend to map the product to warranty plans.
  - `subCategories` unknown[]: An array of additional product categories.
    - unknown
  - `description` string: The product description.
  - `enabled` boolean
  - `modelNumber` string
  - `itemDimensions` object
    - `height` number
    - `width` number
    - `length` number
    - `unit` 'inch' | 'centimeter' | 'millimeter' | 'foot'
  - `itemWeight` object
    - `value` number
    - `unit` 'pound' | 'ounce' | 'gram' | 'kilogram'
  - `condition` 'new' | 'used' | 'refurbished'
  - `imageUrl` string: A url pointing to the primary image for the product.
  - `price` object
    - `amount` number, required
    - `currencyCode` 'AUD' | 'CAD' | 'EUR' | 'GBP' | 'NZD' | 'USD'
    - `formattedAmount` string: Optional display formatting.
  - `title` string, required: Product name.
  - `referenceId` string, required: Unique product identifier, such as a SKU or variant ID. URL-encode it when using an item endpoint.
  - `parentReferenceId` string: Parent product referenceId for a variant.
  - `reimbursementAmount` object
    - `amount` number, required
    - `currencyCode` 'AUD' | 'CAD' | 'EUR' | 'GBP' | 'NZD' | 'USD'
    - `formattedAmount` string: Optional display formatting.
  - `identifiers` object
    - `asin` string
    - `barcode` string
    - `gtin` string
    - `isbn` string
    - `sku` string
    - `upc` string
  - `mfrWarranty` object: Optional manufacturer warranty details used for warranty matching.
    - `labor` number
    - `parts` number
    - `url` string
  - `plans` string[]
  - `warrantyStatus` 'pending' | 'warrantable' | 'non-warrantable' | 'review_required'
  - `shipEnabled` boolean: Indicates whether or not the product is enabled for Extend shipping protection coverage. Differs from the shippable property in that it could be a product that is physically shipped but the product type or category is not eligible for Extend shipping protection. Set by Extend.
  - `shippable` boolean: Whether the item is physically shipped. Defaults to true. Digital goods and services are ineligible for shipping protection.
  - `settings` object
    - `partialReplacementEligible` boolean
    - `isBundle` boolean
    - `isProductReturn` boolean
    - `servicingLocationId` string, nullable: Null clears the association.
  - `alternateLanguages` object
    - `fr-CA` object
      - `title` string
  - `unitCost` object
    - `amount` number, required
    - `currencyCode` 'AUD' | 'CAD' | 'EUR' | 'GBP' | 'NZD' | 'USD'
    - `formattedAmount` string: Optional display formatting.
  - `overrides` object
    - `brand` string
    - `condition` 'new' | 'used' | 'refurbished'
    - `mfrWarranty` object
      - `labor` number
      - `parts` number
      - `url` string
    - `reimbursementAmount` object
      - `amount` number, required
      - `currencyCode` 'AUD' | 'CAD' | 'EUR' | 'GBP' | 'NZD' | 'USD'
      - `formattedAmount` string: Optional display formatting.
    - `subcategory` string
  - `storeId` string, required
  - `createdAt` number: Unix timestamp in milliseconds.
  - `updatedAt` number: Unix timestamp in milliseconds.
  - `deletedAt` number, nullable
  - `metadata` object
  - `updatedBy` object
    - `actor` string
    - `email` string: On reads, returned only with stores:products:view:sensitive. Write responses may include the actor email.
  - `oemStatus` 'INELIGIBLE' | 'MAPPED' | 'NEEDS_REVIEW'
  - `oemPolicyId` string
  - `oemCoverageId` string
  - `planCategoryId` string
  - `planCategoryName` string
  - `subproducts` object[]: Bundle subproducts with quantity and product details.
    - `referenceId` string
    - `title` string
    - `quantity` number
  - `status` 'new' | 'updated' | 'active' | 'inactive': Optional legacy product status, distinct from warrantyStatus.

## Other responses

- `400`: The request to the endpoint was invalid
- `401`: Unauthorized
- `403`: Forbidden
- `404`: The specified resource was not found

---

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