Storefront GraphQL API Reference

Queries

customer

Description

The currently logged in customer.

Response

Returns a Customer

Example

Query
query customer {
  customer {
    entityId
    company
    customerGroupId
    email
    firstName
    lastName
    notes
    phone
    taxExemptCategory
    addressCount
    attributeCount
    storeCredit {
      ...MoneyFragment
    }
    attributes {
      ...CustomerAttributesFragment
    }
    wishlists {
      ...WishlistConnectionFragment
    }
  }
}
Response
{
  "data": {
    "customer": {
      "entityId": 123,
      "company": "abc123",
      "customerGroupId": 123,
      "email": "xyz789",
      "firstName": "abc123",
      "lastName": "xyz789",
      "notes": "xyz789",
      "phone": "xyz789",
      "taxExemptCategory": "abc123",
      "addressCount": 987,
      "attributeCount": 123,
      "storeCredit": [Money],
      "attributes": CustomerAttributes,
      "wishlists": WishlistConnection
    }
  }
}

inventory

Alpha version. Do not use in production.
Response

Returns an Inventory!

Example

Query
query inventory {
  inventory {
    locations {
      ...LocationConnectionFragment
    }
  }
}
Response
{"data": {"inventory": {"locations": LocationConnection}}}

node

Description

Fetches an object given its ID

Response

Returns a Node

Arguments
Name Description
id - ID! The ID of an object

Example

Query
query node($id: ID!) {
  node(id: $id) {
    id
  }
}
Variables
{"id": "4"}
Response
{"data": {"node": {"id": 4}}}

site

Response

Returns a Site!

Example

Query
query site {
  site {
    search {
      ...SearchQueriesFragment
    }
    categoryTree {
      ...CategoryTreeItemFragment
    }
    category {
      ...CategoryFragment
    }
    brands {
      ...BrandConnectionFragment
    }
    products {
      ...ProductConnectionFragment
    }
    newestProducts {
      ...ProductConnectionFragment
    }
    bestSellingProducts {
      ...ProductConnectionFragment
    }
    featuredProducts {
      ...ProductConnectionFragment
    }
    product {
      ...ProductFragment
    }
    route {
      ...RouteFragment
    }
    settings {
      ...SettingsFragment
    }
    content {
      ...ContentFragment
    }
    currency {
      ...CurrencyFragment
    }
    currencies {
      ...CurrencyConnectionFragment
    }
    publicWishlist {
      ...PublicWishlistFragment
    }
  }
}
Response
{
  "data": {
    "site": {
      "search": SearchQueries,
      "categoryTree": [CategoryTreeItem],
      "category": Category,
      "brands": BrandConnection,
      "products": ProductConnection,
      "newestProducts": ProductConnection,
      "bestSellingProducts": ProductConnection,
      "featuredProducts": ProductConnection,
      "product": Product,
      "route": Route,
      "settings": Settings,
      "content": Content,
      "currency": Currency,
      "currencies": CurrencyConnection,
      "publicWishlist": PublicWishlist
    }
  }
}

Mutations

login

Response

Returns a LoginResult!

Arguments
Name Description
email - String!
password - String!

Example

Query
mutation login(
  $email: String!,
  $password: String!
) {
  login(
    email: $email,
    password: $password
  ) {
    result
    customer {
      ...CustomerFragment
    }
  }
}
Variables
{
  "email": "abc123",
  "password": "abc123"
}
Response
{
  "data": {
    "login": {
      "result": "abc123",
      "customer": Customer
    }
  }
}

logout

Response

Returns a LogoutResult!

Example

Query
mutation logout {
  logout {
    result
  }
}
Response
{"data": {"logout": {"result": "xyz789"}}}

wishlist

Description

The wishlist mutations.

Response

Returns a WishlistMutations!

Example

Query
mutation wishlist {
  wishlist {
    createWishlist {
      ...CreateWishlistResultFragment
    }
    addWishlistItems {
      ...AddWishlistItemsResultFragment
    }
    deleteWishlistItems {
      ...DeleteWishlistItemsResultFragment
    }
    updateWishlist {
      ...UpdateWishlistResultFragment
    }
    deleteWishlists {
      ...DeleteWishlistResultFragment
    }
  }
}
Response
{
  "data": {
    "wishlist": {
      "createWishlist": CreateWishlistResult,
      "addWishlistItems": AddWishlistItemsResult,
      "deleteWishlistItems": DeleteWishlistItemsResult,
      "updateWishlist": UpdateWishlistResult,
      "deleteWishlists": DeleteWishlistResult
    }
  }
}

Types

AddWishlistItemsInput

Description

Add wishlist items input object

Fields
Input Field Description
entityId - Int!
items - [WishlistItemInput!]!
Example
{"entityId": 123, "items": [WishlistItemInput]}

AddWishlistItemsResult

Description

Add wishlist items

Fields
Field Name Description
result - Wishlist!
Example
{"result": Wishlist}

Aggregated

Description

Aggregated

Fields
Field Name Description
availableToSell - Long! Number of available products in stock. This can be 'null' if inventory is not set orif the store's Inventory Settings disable displaying stock levels on the storefront.
warningLevel - Int! Indicates a threshold low-stock level. This can be 'null' if the inventory warning level is not set or if the store's Inventory Settings disable displaying stock levels on the storefront.
Example
{"availableToSell": {}, "warningLevel": 123}

AggregatedInventory

Description

Aggregated Product Inventory

Fields
Field Name Description
availableToSell - Int! Number of available products in stock. This can be 'null' if inventory is not set orif the store's Inventory Settings disable displaying stock levels on the storefront.
warningLevel - Int! Indicates a threshold low-stock level. This can be 'null' if the inventory warning level is not set or if the store's Inventory Settings disable displaying stock levels on the storefront.
Example
{"availableToSell": 123, "warningLevel": 987}

Author

Description

Author

Fields
Field Name Description
name - String! Author name.
Example
{"name": "xyz789"}

BigDecimal

Description

The BigDecimal scalar type represents signed fractional values with arbitrary precision.

Example
BigDecimal

Boolean

Description

The Boolean scalar type represents true or false.

Brand

Description

Brand

Fields
Field Name Description
id - ID! The ID of an object
entityId - Int! Id of the brand.
name - String! Name of the brand.
defaultImage - Image Default image for brand.
pageTitle - String! Page title for the brand. Use SEO details instead.
metaDesc - String! Meta description for the brand. Use SEO details instead.
metaKeywords - [String!]! Meta keywords for the brand. Use SEO details instead.
seo - SeoDetails! Brand SEO details.
searchKeywords - [String!]! Search keywords for the brand.
path - String! Path for the brand page.
products - ProductConnection!
Arguments
before - String
after - String
first - Int
last - Int
hideOutOfStock - Boolean
metafields - MetafieldConnection! Metafield data related to a brand.
Arguments
namespace - String!
keys - [String!]
before - String
after - String
first - Int
last - Int
Example
{
  "id": "4",
  "entityId": 123,
  "name": "abc123",
  "defaultImage": Image,
  "pageTitle": "abc123",
  "metaDesc": "abc123",
  "metaKeywords": ["xyz789"],
  "seo": SeoDetails,
  "searchKeywords": ["xyz789"],
  "path": "xyz789",
  "products": ProductConnection,
  "metafields": MetafieldConnection
}

BrandConnection

Description

A connection to a list of items.

Fields
Field Name Description
pageInfo - PageInfo! Information to aid in pagination.
edges - [BrandEdge] A list of edges.
Example
{
  "pageInfo": PageInfo,
  "edges": [BrandEdge]
}

BrandEdge

Description

An edge in a connection.

Fields
Field Name Description
node - Brand! The item at the end of the edge.
cursor - String! A cursor for use in pagination.
Example
{
  "node": Brand,
  "cursor": "abc123"
}

Breadcrumb

Description

Breadcrumb

Fields
Field Name Description
entityId - Int! Category id.
name - String! Name of the category.
Example
{"entityId": 987, "name": "xyz789"}

BreadcrumbConnection

Description

A connection to a list of items.

Fields
Field Name Description
pageInfo - PageInfo! Information to aid in pagination.
edges - [BreadcrumbEdge] A list of edges.
Example
{
  "pageInfo": PageInfo,
  "edges": [BreadcrumbEdge]
}

BreadcrumbEdge

Description

An edge in a connection.

Fields
Field Name Description
node - Breadcrumb! The item at the end of the edge.
cursor - String! A cursor for use in pagination.
Example
{
  "node": Breadcrumb,
  "cursor": "abc123"
}

BulkPricingFixedPriceDiscount

Description

Bulk pricing tier that sets a fixed price for the product or variant.

Fields
Field Name Description
price - BigDecimal! This price will override the current product price.
minimumQuantity - Int! Minimum item quantity that applies to this bulk pricing tier.
maximumQuantity - Int Maximum item quantity that applies to this bulk pricing tier - if not defined then the tier does not have an upper bound.
Example
{
  "price": BigDecimal,
  "minimumQuantity": 123,
  "maximumQuantity": 987
}

BulkPricingPercentageDiscount

Description

Bulk pricing tier that reduces the price of the product or variant by a percentage.

Fields
Field Name Description
percentOff - BigDecimal! The percentage that will be removed from the product price.
minimumQuantity - Int! Minimum item quantity that applies to this bulk pricing tier.
maximumQuantity - Int Maximum item quantity that applies to this bulk pricing tier - if not defined then the tier does not have an upper bound.
Example
{
  "percentOff": BigDecimal,
  "minimumQuantity": 987,
  "maximumQuantity": 123
}

BulkPricingRelativePriceDiscount

Description

Bulk pricing tier that will subtract an amount from the price of the product or variant.

Fields
Field Name Description
priceAdjustment - BigDecimal! The price of the product/variant will be reduced by this priceAdjustment.
minimumQuantity - Int! Minimum item quantity that applies to this bulk pricing tier.
maximumQuantity - Int Maximum item quantity that applies to this bulk pricing tier - if not defined then the tier does not have an upper bound.
Example
{
  "priceAdjustment": BigDecimal,
  "minimumQuantity": 987,
  "maximumQuantity": 123
}

BulkPricingTier

Description

A set of bulk pricing tiers that define price discounts which apply when purchasing specified quantities of a product or variant.

Fields
Field Name Description
minimumQuantity - Int! Minimum item quantity that applies to this bulk pricing tier.
maximumQuantity - Int Maximum item quantity that applies to this bulk pricing tier - if not defined then the tier does not have an upper bound.
Example
{"minimumQuantity": 987, "maximumQuantity": 123}

CatalogProductOption

Description

Product Option

Fields
Field Name Description
entityId - Int! Unique ID for the option.
displayName - String! Display name for the option.
isRequired - Boolean! One of the option values is required to be selected for the checkout.
isVariantOption - Boolean! Indicates whether it is a variant option or modifier.
Example
{
  "entityId": 987,
  "displayName": "xyz789",
  "isRequired": false,
  "isVariantOption": false
}

CatalogProductOptionValue

Description

Product Option Value

Fields
Field Name Description
entityId - Int! Unique ID for the option value.
label - String! Label for the option value.
isDefault - Boolean! Indicates whether this value is the chosen default selected value.
Possible Types
CatalogProductOptionValue Types

MultipleChoiceOptionValue

ProductPickListOptionValue

SwatchOptionValue

Example
{
  "entityId": 123,
  "label": "abc123",
  "isDefault": true
}

Category

Description

Category

Fields
Field Name Description
id - ID! The ID of an object
entityId - Int! Unique ID for the category.
name - String! Category name.
path - String! Category path.
defaultImage - Image Default image for the category.
description - String! Category description.
breadcrumbs - BreadcrumbConnection! Category breadcrumbs.
Arguments
depth - Int!
before - String
after - String
first - Int
last - Int
products - ProductConnection!
Arguments
before - String
after - String
first - Int
last - Int
hideOutOfStock - Boolean
metafields - MetafieldConnection! Metafield data related to a category.
Arguments
namespace - String!
keys - [String!]
before - String
after - String
first - Int
last - Int
seo - SeoDetails! Category SEO details.
shopByPriceRanges - ShopByPriceConnection! Alpha version. Do not use in production.
Arguments
currencyCode - currencyCode

Please select a currency

includeTax - Boolean
before - String
after - String
first - Int
last - Int
defaultProductSort - CategoryProductSort Category default product sort.
Example
{
  "id": "4",
  "entityId": 123,
  "name": "abc123",
  "path": "abc123",
  "defaultImage": Image,
  "description": "xyz789",
  "breadcrumbs": BreadcrumbConnection,
  "products": ProductConnection,
  "metafields": MetafieldConnection,
  "seo": SeoDetails,
  "shopByPriceRanges": ShopByPriceConnection,
  "defaultProductSort": "DEFAULT"
}

CategoryConnection

Description

A connection to a list of items.

Fields
Field Name Description
pageInfo - PageInfo! Information to aid in pagination.
edges - [CategoryEdge] A list of edges.
Example
{
  "pageInfo": PageInfo,
  "edges": [CategoryEdge]
}

CategoryEdge

Description

An edge in a connection.

Fields
Field Name Description
node - Category! The item at the end of the edge.
cursor - String! A cursor for use in pagination.
Example
{
  "node": Category,
  "cursor": "abc123"
}

CategoryProductSort

Description

Product sorting by categories.

Values
Enum Value Description

DEFAULT

FEATURED

NEWEST

BEST_SELLING

A_TO_Z

Z_TO_A

BEST_REVIEWED

LOWEST_PRICE

HIGHEST_PRICE

Example
"DEFAULT"

CategoryTreeItem

Description

An item in a tree of categories.

Fields
Field Name Description
entityId - Int! The id category.
name - String! The name of category.
path - String! Path assigned to this category
description - String! The description of this category.
productCount - Int! The number of products in this category.
image - Image The category image.
children - [CategoryTreeItem!]! Subcategories of this category
Example
{
  "entityId": 123,
  "name": "xyz789",
  "path": "xyz789",
  "description": "xyz789",
  "productCount": 987,
  "image": Image,
  "children": [CategoryTreeItem]
}

CheckboxOption

Description

A simple yes/no question represented by a checkbox.

Fields
Field Name Description
checkedByDefault - Boolean! Indicates the default checked status.
label - String! Label of the checkbox option.
entityId - Int! Unique ID for the option.
displayName - String! Display name for the option.
isRequired - Boolean! One of the option values is required to be selected for the checkout.
isVariantOption - Boolean! Indicates whether it is a variant option or modifier.
Example
{
  "checkedByDefault": false,
  "label": "xyz789",
  "entityId": 987,
  "displayName": "xyz789",
  "isRequired": true,
  "isVariantOption": true
}

ContactField

Description

Contact field

Fields
Field Name Description
address - String! Store address line.
country - String! Store country.
addressType - String! Store address type.
email - String! Store email.
phone - String! Store phone number.
Example
{
  "address": "xyz789",
  "country": "xyz789",
  "addressType": "abc123",
  "email": "xyz789",
  "phone": "xyz789"
}

Content

Description

The page content.

Fields
Field Name Description
renderedRegionsByPageType - RenderedRegionsByPageType!
Arguments
pageType - PageType!
renderedRegionsByPageTypeAndEntityId - RenderedRegionsByPageType!
Arguments
entityId - Long!
entityPageType - EntityPageType!
Example
{
  "renderedRegionsByPageType": RenderedRegionsByPageType,
  "renderedRegionsByPageTypeAndEntityId": RenderedRegionsByPageType
}

CreateWishlistInput

Description

Create wishlist input object

Fields
Input Field Description
name - String!
isPublic - Boolean!
items - [WishlistItemInput!]
Example
{
  "name": "xyz789",
  "isPublic": true,
  "items": [WishlistItemInput]
}

CreateWishlistResult

Description

Create wishlist

Fields
Field Name Description
result - Wishlist!
Example
{"result": Wishlist}

Currency

Fields
Field Name Description
entityId - Int! Currency ID.
code - currencyCode! Currency code.
name - String! Currency name.
flagImage - String Flag image URL.
isActive - Boolean! Indicates whether this currency is active.
exchangeRate - Float! Exchange rate relative to default currency.
isTransactional - Boolean! Indicates whether this currency is transactional.
display - CurrencyDisplay! Currency display settings.
Example
{
  "entityId": 123,
  "code": "ADP",
  "name": "abc123",
  "flagImage": "xyz789",
  "isActive": false,
  "exchangeRate": 987.65,
  "isTransactional": true,
  "display": CurrencyDisplay
}

CurrencyConnection

Description

A connection to a list of items.

Fields
Field Name Description
pageInfo - PageInfo! Information to aid in pagination.
edges - [CurrencyEdge] A list of edges.
Example
{
  "pageInfo": PageInfo,
  "edges": [CurrencyEdge]
}

CurrencyDisplay

Fields
Field Name Description
symbol - String! Currency symbol.
symbolPlacement - CurrencySymbolPosition! Currency symbol.
decimalToken - String! Currency decimal token.
thousandsToken - String! Currency thousands token.
decimalPlaces - Int! Currency decimal places.
Example
{
  "symbol": "xyz789",
  "symbolPlacement": "LEFT",
  "decimalToken": "xyz789",
  "thousandsToken": "xyz789",
  "decimalPlaces": 987
}

CurrencyEdge

Description

An edge in a connection.

Fields
Field Name Description
node - Currency! The item at the end of the edge.
cursor - String! A cursor for use in pagination.
Example
{
  "node": Currency,
  "cursor": "xyz789"
}

CurrencySymbolPosition

Description

Currency symbol position

Values
Enum Value Description

LEFT

RIGHT

Example
"LEFT"

CustomField

Description

Custom field

Fields
Field Name Description
entityId - Int! Custom field id.
name - String! Name of the custom field.
value - String! Value of the custom field.
Example
{
  "entityId": 987,
  "name": "abc123",
  "value": "abc123"
}

CustomFieldConnection

Description

A connection to a list of items.

Fields
Field Name Description
pageInfo - PageInfo! Information to aid in pagination.
edges - [CustomFieldEdge] A list of edges.
Example
{
  "pageInfo": PageInfo,
  "edges": [CustomFieldEdge]
}

CustomFieldEdge

Description

An edge in a connection.

Fields
Field Name Description
node - CustomField! The item at the end of the edge.
cursor - String! A cursor for use in pagination.
Example
{
  "node": CustomField,
  "cursor": "abc123"
}

Customer

Description

A customer that shops on a store

Fields
Field Name Description
entityId - Int! The ID of the customer.
company - String! The company name of the customer.
customerGroupId - Int! The customer group id of the customer.
email - String! The email address of the customer.
firstName - String! The first name of the customer.
lastName - String! The last name of the customer.
notes - String! The notes of the customer.
phone - String! The phone number of the customer.
taxExemptCategory - String! The tax exempt category of the customer.
addressCount - Int! Customer addresses count.
attributeCount - Int! Customer attributes count.
storeCredit - [Money!]! Customer store credit.
attributes - CustomerAttributes! Customer attributes.
wishlists - WishlistConnection!
Arguments
before - String
after - String
first - Int
last - Int
Example
{
  "entityId": 123,
  "company": "abc123",
  "customerGroupId": 123,
  "email": "abc123",
  "firstName": "abc123",
  "lastName": "abc123",
  "notes": "abc123",
  "phone": "xyz789",
  "taxExemptCategory": "abc123",
  "addressCount": 987,
  "attributeCount": 123,
  "storeCredit": [Money],
  "attributes": CustomerAttributes,
  "wishlists": WishlistConnection
}

CustomerAttribute

Description

A custom, store-specific attribute for a customer

Fields
Field Name Description
entityId - Int! The ID of the custom customer attribute
value - String The value of the custom customer attribute
name - String! The name of the custom customer attribute
Example
{
  "entityId": 987,
  "value": "xyz789",
  "name": "abc123"
}

CustomerAttributes

Description

Custom, store-specific customer attributes

Fields
Field Name Description
attribute - CustomerAttribute!
Arguments
entityId - Int!

The ID of the customer attribute

Example
{"attribute": CustomerAttribute}

DateFieldOption

Description

A calendar for allowing selection of a date.

Fields
Field Name Description
defaultValue - DateTime The default timestamp of date option.
earliest - DateTime The earliest timestamp of date option.
latest - DateTime The latest timestamp of date option.
limitDateBy - LimitDateOption! Limit date by
entityId - Int! Unique ID for the option.
displayName - String! Display name for the option.
isRequired - Boolean! One of the option values is required to be selected for the checkout.
isVariantOption - Boolean! Indicates whether it is a variant option or modifier.
Example
{
  "defaultValue": "2007-12-03T10:15:30Z",
  "earliest": "2007-12-03T10:15:30Z",
  "latest": "2007-12-03T10:15:30Z",
  "limitDateBy": "NO_LIMIT",
  "entityId": 123,
  "displayName": "xyz789",
  "isRequired": false,
  "isVariantOption": false
}

DateTime

Example
"2007-12-03T10:15:30Z"

DateTimeExtended

Description

Date Time Extended

Fields
Field Name Description
utc - DateTime! ISO-8601 formatted date in UTC
Example
{"utc": "2007-12-03T10:15:30Z"}

DeleteWishlistItemsInput

Description

Delete wishlist items input object

Fields
Input Field Description
entityId - Int!
itemEntityIds - [Int!]!
Example
{"entityId": 123, "itemEntityIds": [987]}

DeleteWishlistItemsResult

Description

Delete wishlist items

Fields
Field Name Description
result - Wishlist!
Example
{"result": Wishlist}

DeleteWishlistResult

Description

Delete wishlist

Fields
Field Name Description
result - String!
Example
{"result": "xyz789"}

DeleteWishlistsInput

Description

Delete wishlists input object

Fields
Input Field Description
entityIds - [Int!]!
Example
{"entityIds": [987]}

DisplayField

Description

Display field

Fields
Field Name Description
shortDateFormat - String! Short date format.
extendedDateFormat - String! Extended date format.
Example
{
  "shortDateFormat": "xyz789",
  "extendedDateFormat": "abc123"
}

Distance

Description

Distance

Fields
Field Name Description
value - Float! Distance in specified length unit
lengthUnit - LengthUnit! Length unit
Example
{"value": 987.65, "lengthUnit": "Miles"}

DistanceFilter

Description

Filter locations by the distance

Fields
Input Field Description
radius - Float!

Radius of search in length units specified in lengthUnit argument

longitude - Float!

Signed decimal degrees without compass direction

latitude - Float!

Signed decimal degrees without compass direction

lengthUnit - LengthUnit!
Example
{
  "radius": 987.65,
  "longitude": 123.45,
  "latitude": 987.65,
  "lengthUnit": "Miles"
}

EntityPageType

Description

Entity page type

Values
Enum Value Description

BLOG_POST

BRAND

CATEGORY

CONTACT_US

PAGE

PRODUCT

Example
"BLOG_POST"

FileUploadFieldOption

Description

A form allowing selection and uploading of a file from the user's local computer.

Fields
Field Name Description
maxFileSize - Int! The maximum size of the file in kilobytes
fileTypes - [String!]! All possible file extensions. Empty means that all files allowed.
entityId - Int! Unique ID for the option.
displayName - String! Display name for the option.
isRequired - Boolean! One of the option values is required to be selected for the checkout.
isVariantOption - Boolean! Indicates whether it is a variant option or modifier.
Example
{
  "maxFileSize": 123,
  "fileTypes": ["abc123"],
  "entityId": 987,
  "displayName": "xyz789",
  "isRequired": true,
  "isVariantOption": true
}

Float

Description

The Float scalar type represents signed double-precision fractional values as specified by IEEE 754.

Example
123.45

GiftWrapping

Description

Gift wrapping for product

Fields
Field Name Description
entityId - Int! Gift wrapping id.
name - String! Gift wrapping name.
allowComments - Boolean! Indicates whether commenting is allowed for the gift wrapping.
previewImageUrl - String Gift wrapping preview image url.
Example
{
  "entityId": 123,
  "name": "abc123",
  "allowComments": true,
  "previewImageUrl": "xyz789"
}

GiftWrappingConnection

Description

A connection to a list of items.

Fields
Field Name Description
pageInfo - PageInfo! Information to aid in pagination.
edges - [GiftWrappingEdge] A list of edges.
Example
{
  "pageInfo": PageInfo,
  "edges": [GiftWrappingEdge]
}

GiftWrappingEdge

Description

An edge in a connection.

Fields
Field Name Description
node - GiftWrapping! The item at the end of the edge.
cursor - String! A cursor for use in pagination.
Example
{
  "node": GiftWrapping,
  "cursor": "xyz789"
}

ID

Description

The ID scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as "4") or integer (such as 4) input value will be accepted as an ID.

Example
"4"

Image

Description

Image

Fields
Field Name Description
url - String! Absolute path to image using store CDN.
Arguments
width - Int!
height - Int
urlOriginal - String! Absolute path to original image using store CDN.
altText - String! Text description of an image that can be used for SEO and/or accessibility purposes.
isDefault - Boolean! Indicates whether this is the primary image.
Example
{
  "url": "abc123",
  "urlOriginal": "xyz789",
  "altText": "abc123",
  "isDefault": true
}

ImageConnection

Description

A connection to a list of items.

Fields
Field Name Description
pageInfo - PageInfo! Information to aid in pagination.
edges - [ImageEdge] A list of edges.
Example
{
  "pageInfo": PageInfo,
  "edges": [ImageEdge]
}

ImageEdge

Description

An edge in a connection.

Fields
Field Name Description
node - Image! The item at the end of the edge.
cursor - String! A cursor for use in pagination.
Example
{
  "node": Image,
  "cursor": "xyz789"
}

Int

Description

The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.

Example
123

Inventory

Description

An inventory

Fields
Field Name Description
locations - LocationConnection! Locations
Arguments
entityIds - [Int!]
codes - [String!]
typeIds - [String!]
serviceTypeIds - [String!]
distanceFilter - DistanceFilter
countryCodes - [countryCode!]
states - [String!]
cities - [String!]
before - String
after - String
first - Int
last - Int
Example
{"locations": LocationConnection}

InventoryByLocations

Description

Inventory By Locations

Fields
Field Name Description
locationEntityId - Long! Location id.
availableToSell - Long! Number of available products in stock.
warningLevel - Int! Indicates a threshold low-stock level.
isInStock - Boolean! Indicates whether this product is in stock.
locationDistance - Distance Distance between location and specified longitude and latitude
locationEntityTypeId - String Location type id.
locationEntityServiceTypeIds - [String!]! Location service type ids. Deprecated. Will be substituted with pickup methods.
locationEntityCode - String! Location code.
Example
{
  "locationEntityId": {},
  "availableToSell": {},
  "warningLevel": 123,
  "isInStock": true,
  "locationDistance": Distance,
  "locationEntityTypeId": "xyz789",
  "locationEntityServiceTypeIds": [
    "abc123"
  ],
  "locationEntityCode": "xyz789"
}

LengthUnit

Description

length unit

Values
Enum Value Description

Miles

Kilometres

Example
"Miles"

LimitDateOption

Values
Enum Value Description

NO_LIMIT

EARLIEST_DATE

LATEST_DATE

RANGE

Example
"NO_LIMIT"

LimitInputBy

Values
Enum Value Description

NO_LIMIT

LOWEST_VALUE

HIGHEST_VALUE

RANGE

Example
"NO_LIMIT"

LocationConnection

Description

A connection to a list of items.

Fields
Field Name Description
pageInfo - PageInfo! Information to aid in pagination.
edges - [LocationEdge] A list of edges.
Example
{
  "pageInfo": PageInfo,
  "edges": [LocationEdge]
}

LocationEdge

Description

An edge in a connection.

Fields
Field Name Description
node - InventoryByLocations! The item at the end of the edge.
cursor - String! A cursor for use in pagination.
Example
{
  "node": InventoryByLocations,
  "cursor": "abc123"
}

LoginResult

Description

Login result

Fields
Field Name Description
result - String! The result of a login Use customer node instead.
customer - Customer The currently logged in customer.
Example
{
  "result": "xyz789",
  "customer": Customer
}

LogoField

Description

Logo field

Fields
Field Name Description
title - String! Logo title.
image - Image! Store logo image.
Example
{
  "title": "xyz789",
  "image": Image
}

LogoutResult

Description

Logout result

Fields
Field Name Description
result - String! The result of a logout
Example
{"result": "abc123"}

Long

Description

The Long scalar type represents non-fractional signed whole numeric values. Long can represent values between -(2^63) and 2^63 - 1.

Example
{}

Measurement

Description

Measurement

Fields
Field Name Description
value - Float! Unformatted weight measurement value.
unit - String! Unit of measurement.
Example
{"value": 987.65, "unit": "xyz789"}

MetafieldConnection

Description

A connection to a list of items.

Fields
Field Name Description
pageInfo - PageInfo! Information to aid in pagination.
edges - [MetafieldEdge] A list of edges.
Example
{
  "pageInfo": PageInfo,
  "edges": [MetafieldEdge]
}

MetafieldEdge

Description

An edge in a connection.

Fields
Field Name Description
node - Metafields! The item at the end of the edge.
cursor - String! A cursor for use in pagination.
Example
{
  "node": Metafields,
  "cursor": "xyz789"
}

Metafields

Description

Key/Value pairs of data attached tied to a resource entity (product, brand, category, etc.)

Fields
Field Name Description
id - ID! The ID of an object
entityId - Int! The ID of the metafield when referencing via our backend API.
key - String! A label for identifying a metafield data value.
value - String! A metafield value.
Example
{
  "id": 4,
  "entityId": 987,
  "key": "xyz789",
  "value": "xyz789"
}

Money

Description

A money object - includes currency code and a money amount

Fields
Field Name Description
currencyCode - String! Currency code of the current money.
value - BigDecimal! The amount of money.
Example
{
  "currencyCode": "xyz789",
  "value": BigDecimal
}

MoneyRange

Description

A min and max pair of money objects

Fields
Field Name Description
min - Money! Minimum money object.
max - Money! Maximum money object.
Example
{"min": Money, "max": Money}

MultiLineTextFieldOption

Description

A multi-line text input field, aka a text box.

Fields
Field Name Description
defaultValue - String Default value of the multiline text field option.
minLength - Int The minimum number of characters.
maxLength - Int The maximum number of characters.
maxLines - Int The maximum number of lines.
entityId - Int! Unique ID for the option.
displayName - String! Display name for the option.
isRequired - Boolean! One of the option values is required to be selected for the checkout.
isVariantOption - Boolean! Indicates whether it is a variant option or modifier.
Example
{
  "defaultValue": "xyz789",
  "minLength": 987,
  "maxLength": 987,
  "maxLines": 987,
  "entityId": 987,
  "displayName": "abc123",
  "isRequired": false,
  "isVariantOption": false
}

MultipleChoiceOption

Description

An option type that has a fixed list of values.

Fields
Field Name Description
displayStyle - String! The chosen display style for this multiple choice option.
values - ProductOptionValueConnection! List of option values.
Arguments
before - String
after - String
first - Int
last - Int
entityId - Int! Unique ID for the option.
displayName - String! Display name for the option.
isRequired - Boolean! One of the option values is required to be selected for the checkout.
isVariantOption - Boolean! Indicates whether it is a variant option or modifier.
Example
{
  "displayStyle": "xyz789",
  "values": ProductOptionValueConnection,
  "entityId": 987,
  "displayName": "abc123",
  "isRequired": false,
  "isVariantOption": false
}

MultipleChoiceOptionValue

Description

A simple multiple choice value comprised of an id and a label.

Fields
Field Name Description
entityId - Int! Unique ID for the option value.
label - String! Label for the option value.
isDefault - Boolean! Indicates whether this value is the chosen default selected value.
Example
{
  "entityId": 123,
  "label": "xyz789",
  "isDefault": true
}

Node

Description

An object with an ID

Fields
Field Name Description
id - ID! The id of the object.
Possible Types
Node Types

Brand

Category

Product

Variant

Example
{"id": "4"}

NumberFieldOption

Description

A single line text input field that only accepts numbers.

Fields
Field Name Description
defaultValue - Float Default value of the text field option.
lowest - Float The bottom limit of possible numbers.
highest - Float The top limit of possible numbers.
isIntegerOnly - Boolean! Allow whole numbers only.
limitNumberBy - LimitInputBy! Limit numbers by several options.
entityId - Int! Unique ID for the option.
displayName - String! Display name for the option.
isRequired - Boolean! One of the option values is required to be selected for the checkout.
isVariantOption - Boolean! Indicates whether it is a variant option or modifier.
Example
{
  "defaultValue": 987.65,
  "lowest": 123.45,
  "highest": 123.45,
  "isIntegerOnly": false,
  "limitNumberBy": "NO_LIMIT",
  "entityId": 987,
  "displayName": "abc123",
  "isRequired": true,
  "isVariantOption": false
}

OptionConnection

Description

A connection to a list of items.

Fields
Field Name Description
pageInfo - PageInfo! Information to aid in pagination.
edges - [OptionEdge] A list of edges.
Example
{
  "pageInfo": PageInfo,
  "edges": [OptionEdge]
}

OptionEdge

Description

An edge in a connection.

Fields
Field Name Description
node - ProductOption! The item at the end of the edge.
cursor - String! A cursor for use in pagination.
Example
{
  "node": ProductOption,
  "cursor": "abc123"
}

OptionValueConnection

Description

A connection to a list of items.

Fields
Field Name Description
pageInfo - PageInfo! Information to aid in pagination.
edges - [OptionValueEdge] A list of edges.
Example
{
  "pageInfo": PageInfo,
  "edges": [OptionValueEdge]
}

OptionValueEdge

Description

An edge in a connection.

Fields
Field Name Description
node - ProductOptionValue! The item at the end of the edge.
cursor - String! A cursor for use in pagination.
Example
{
  "node": ProductOptionValue,
  "cursor": "xyz789"
}

OptionValueId

Fields
Input Field Description
optionEntityId - Int!
valueEntityId - Int!
Example
{"optionEntityId": 123, "valueEntityId": 123}

PageInfo

Description

Information about pagination in a connection.

Fields
Field Name Description
hasNextPage - Boolean! When paginating forwards, are there more items?
hasPreviousPage - Boolean! When paginating backwards, are there more items?
startCursor - String When paginating backwards, the cursor to continue.
endCursor - String When paginating forwards, the cursor to continue.
Example
{
  "hasNextPage": false,
  "hasPreviousPage": false,
  "startCursor": "abc123",
  "endCursor": "abc123"
}

PageType

Description

Page type

Values
Enum Value Description

ACCOUNT_ADDRESS

ACCOUNT_ADD_ADDRESS

ACCOUNT_ADD_RETURN

ACCOUNT_ADD_WISHLIST

ACCOUNT_DOWNLOAD_ITEM

ACCOUNT_EDIT

ACCOUNT_INBOX

ACCOUNT_ORDERS_ALL

ACCOUNT_ORDERS_COMPLETED

ACCOUNT_ORDERS_DETAILS

ACCOUNT_ORDERS_INVOICE

ACCOUNT_RECENT_ITEMS

ACCOUNT_RETURNS

ACCOUNT_RETURN_SAVED

ACCOUNT_WISHLISTS

ACCOUNT_WISHLIST_DETAILS

AUTH_ACCOUNT_CREATED

AUTH_CREATE_ACC

AUTH_FORGOT_PASS

AUTH_LOGIN

AUTH_NEW_PASS

BLOG

BRANDS

CART

COMPARE

GIFT_CERT_BALANCE

GIFT_CERT_PURCHASE

GIFT_CERT_REDEEM

HOME

ORDER_INFO

SEARCH

SITEMAP

SUBSCRIBED

UNSUBSCRIBE

Example
"ACCOUNT_ADDRESS"

PriceRanges

Description

The min and max range of prices that apply to this product.

Fields
Field Name Description
priceRange - MoneyRange! Product price min/max range.
retailPriceRange - MoneyRange Product retail price min/max range.
Example
{
  "priceRange": MoneyRange,
  "retailPriceRange": MoneyRange
}

PriceSearchFilterInput

Fields
Input Field Description
minPrice - Float
maxPrice - Float
Example
{"minPrice": 987.65, "maxPrice": 987.65}

Prices

Description

The various prices that can be set on a product.

Fields
Field Name Description
price - Money! Calculated price of the product. Calculated price takes into account basePrice, salePrice, rules (modifier, option, option set) that apply to the product configuration, and customer group discounts. It represents the in-cart price for a product configuration without bulk pricing rules.
salePrice - Money Sale price of the product.
basePrice - Money Original price of the product.
retailPrice - Money Retail price of the product.
mapPrice - Money Minimum advertised price of the product.
priceRange - MoneyRange! Product price min/max range.
retailPriceRange - MoneyRange Product retail price min/max range.
saved - Money The difference between the retail price (MSRP) and the current price, which can be presented to the shopper as their savings.
bulkPricing - [BulkPricingTier!]! List of bulk pricing tiers applicable to a product or variant.
Example
{
  "price": Money,
  "salePrice": Money,
  "basePrice": Money,
  "retailPrice": Money,
  "mapPrice": Money,
  "priceRange": MoneyRange,
  "retailPriceRange": MoneyRange,
  "saved": Money,
  "bulkPricing": [BulkPricingTier]
}

Product

Description

Product

Fields
Field Name Description
id - ID! The ID of an object
entityId - Int! Id of the product.
sku - String! Default product variant when no options are selected.
path - String! Relative URL path to product page.
name - String! Name of the product.
description - String! Description of the product.
plainTextDescription - String! Description of the product in plain text.
Arguments
characterLimit - Int
warranty - String! Warranty information of the product.
minPurchaseQuantity - Int Minimum purchasable quantity for this product in a single order.
maxPurchaseQuantity - Int Maximum purchasable quantity for this product in a single order.
addToCartUrl - String! Absolute URL path for adding a product to cart.
addToWishlistUrl - String! Absolute URL path for adding a product to customer's wishlist. Deprecated.
prices - Prices Prices object determined by supplied product ID, variant ID, and selected option IDs.
Arguments
includeTax - Boolean
currencyCode - currencyCode

Please select a currency

priceRanges - PriceRanges The minimum and maximum price of this product based on variant pricing and/or modifier price rules. Use priceRanges inside prices node instead.
Arguments
includeTax - Boolean
weight - Measurement Weight of the product.
height - Measurement Height of the product.
width - Measurement Width of the product.
depth - Measurement Depth of the product.
options - OptionConnection! Product options. Use productOptions instead.
Arguments
before - String
after - String
first - Int
last - Int
productOptions - ProductOptionConnection! Product options.
Arguments
before - String
after - String
first - Int
last - Int
reviewSummary - Reviews! Summary of the product reviews, includes the total number of reviews submitted and summation of the ratings on the reviews (ratings range from 0-5 per review).
type - String! Type of product, ex: physical, digital
availability - String! The availability state of the product. Use status inside availabilityV2 instead.
availabilityDescription - String! A few words telling the customer how long it will normally take to ship this product, such as 'Usually ships in 24 hours'. Use description inside availabilityV2 instead.
availabilityV2 - ProductAvailability! The availability state of the product.
categories - CategoryConnection! List of categories associated with the product.
Arguments
before - String
after - String
first - Int
last - Int
brand - Brand Brand associated with the product.
variants - VariantConnection! Variants associated with the product.
Arguments
before - String
after - String
first - Int
last - Int
isPurchasable - Boolean
entityIds - [Int!]
optionValueIds - [OptionValueId!]
customFields - CustomFieldConnection! Custom fields of the product.
Arguments
names - [String!]
before - String
after - String
first - Int
last - Int
images - ImageConnection! A list of the images for a product.
Arguments
before - String
after - String
first - Int
last - Int
defaultImage - Image Default image for a product.
relatedProducts - RelatedProductsConnection! Related products for this product.
Arguments
before - String
after - String
first - Int
last - Int
hideOutOfStock - Boolean
inventory - ProductInventory! Inventory information of the product.
metafields - MetafieldConnection! Metafield data related to a product.
Arguments
namespace - String!
keys - [String!]
before - String
after - String
first - Int
last - Int
upc - String Universal product code.
mpn - String Manufacturer part number.
gtin - String Global trade item number.
createdAt - DateTimeExtended! Product creation date Alpha version. Do not use in production.
reviews - ReviewConnection! Reviews associated with the product.
Arguments
before - String
after - String
first - Int
last - Int
seo - SeoDetails! Product SEO details.
giftWrappingOptions - GiftWrappingConnection! Gift wrapping options available for the product.
Arguments
before - String
after - String
first - Int
last - Int
condition - ProductConditionType Product condition
Example
{
  "id": "4",
  "entityId": 987,
  "sku": "xyz789",
  "path": "abc123",
  "name": "xyz789",
  "description": "abc123",
  "plainTextDescription": "abc123",
  "warranty": "xyz789",
  "minPurchaseQuantity": 987,
  "maxPurchaseQuantity": 123,
  "addToCartUrl": "abc123",
  "addToWishlistUrl": "abc123",
  "prices": Prices,
  "priceRanges": PriceRanges,
  "weight": Measurement,
  "height": Measurement,
  "width": Measurement,
  "depth": Measurement,
  "options": OptionConnection,
  "productOptions": ProductOptionConnection,
  "reviewSummary": Reviews,
  "type": "abc123",
  "availability": "xyz789",
  "availabilityDescription": "xyz789",
  "availabilityV2": ProductAvailability,
  "categories": CategoryConnection,
  "brand": Brand,
  "variants": VariantConnection,
  "customFields": CustomFieldConnection,
  "images": ImageConnection,
  "defaultImage": Image,
  "relatedProducts": RelatedProductsConnection,
  "inventory": ProductInventory,
  "metafields": MetafieldConnection,
  "upc": "xyz789",
  "mpn": "xyz789",
  "gtin": "abc123",
  "createdAt": DateTimeExtended,
  "reviews": ReviewConnection,
  "seo": SeoDetails,
  "giftWrappingOptions": GiftWrappingConnection,
  "condition": "NEW"
}

ProductAttributeSearchFilterInput

Fields
Input Field Description
attribute - String!
values - [String!]!
Example
{
  "attribute": "xyz789",
  "values": ["xyz789"]
}

ProductAvailability

Description

Product availability

Fields
Field Name Description
status - ProductAvailabilityStatus! The availability state of the product.
description - String! A few words telling the customer how long it will normally take to ship this product, such as 'Usually ships in 24 hours'.
Possible Types
ProductAvailability Types

ProductAvailable

ProductPreOrder

ProductUnavailable

Example
{
  "status": "Available",
  "description": "abc123"
}

ProductAvailabilityStatus

Description

Product availability status

Values
Enum Value Description

Available

Preorder

Unavailable

Example
"Available"

ProductAvailable

Description

Available Product

Fields
Field Name Description
status - ProductAvailabilityStatus! The availability state of the product.
description - String! A few words telling the customer how long it will normally take to ship this product, such as 'Usually ships in 24 hours'.
Example
{
  "status": "Available",
  "description": "xyz789"
}

ProductConditionType

Values
Enum Value Description

NEW

USED

REFURBISHED

Example
"NEW"

ProductConnection

Description

A connection to a list of items.

Fields
Field Name Description
pageInfo - PageInfo! Information to aid in pagination.
edges - [ProductEdge] A list of edges.
Example
{
  "pageInfo": PageInfo,
  "edges": [ProductEdge]
}

ProductEdge

Description

An edge in a connection.

Fields
Field Name Description
node - Product! The item at the end of the edge.
cursor - String! A cursor for use in pagination.
Example
{
  "node": Product,
  "cursor": "abc123"
}

ProductInventory

Description

Product Inventory Information

Fields
Field Name Description
isInStock - Boolean! Indicates whether this product is in stock.
hasVariantInventory - Boolean! Indicates whether this product's inventory is being tracked on variant level. If true, you may wish to check the variants node to understand the true inventory of each individual variant, rather than relying on this product-level aggregate to understand how many items may be added to cart.
aggregated - AggregatedInventory Aggregated product inventory information. This data may not be available if not set or if the store's Inventory Settings have disabled displaying stock levels on the storefront.
Example
{
  "isInStock": false,
  "hasVariantInventory": false,
  "aggregated": AggregatedInventory
}

ProductOption

Description

Product Option

Fields
Field Name Description
entityId - Int! Unique ID for the option.
displayName - String! Display name for the option.
isRequired - Boolean! One of the option values is required to be selected for the checkout.
values - OptionValueConnection! Option values.
Arguments
before - String
after - String
first - Int
last - Int
Example
{
  "entityId": 123,
  "displayName": "abc123",
  "isRequired": false,
  "values": OptionValueConnection
}

ProductOptionConnection

Description

A connection to a list of items.

Fields
Field Name Description
pageInfo - PageInfo! Information to aid in pagination.
edges - [ProductOptionEdge] A list of edges.
Example
{
  "pageInfo": PageInfo,
  "edges": [ProductOptionEdge]
}

ProductOptionEdge

Description

An edge in a connection.

Fields
Field Name Description
node - CatalogProductOption! The item at the end of the edge.
cursor - String! A cursor for use in pagination.
Example
{
  "node": CatalogProductOption,
  "cursor": "xyz789"
}

ProductOptionValue

Description

Product Option Value

Fields
Field Name Description
entityId - Int! Unique ID for the option value.
label - String! Label for the option value.
Example
{"entityId": 987, "label": "abc123"}

ProductOptionValueConnection

Description

A connection to a list of items.

Fields
Field Name Description
pageInfo - PageInfo! Information to aid in pagination.
edges - [ProductOptionValueEdge] A list of edges.
Example
{
  "pageInfo": PageInfo,
  "edges": [ProductOptionValueEdge]
}

ProductOptionValueEdge

Description

An edge in a connection.

Fields
Field Name Description
node - CatalogProductOptionValue! The item at the end of the edge.
cursor - String! A cursor for use in pagination.
Example
{
  "node": CatalogProductOptionValue,
  "cursor": "xyz789"
}

ProductPickListOptionValue

Description

A Product PickList Value - a product to be mapped to the base product if selected.

Fields
Field Name Description
productId - Int! The ID of the product associated with this option value.
entityId - Int! Unique ID for the option value.
label - String! Label for the option value.
isDefault - Boolean! Indicates whether this value is the chosen default selected value.
Example
{
  "productId": 123,
  "entityId": 123,
  "label": "abc123",
  "isDefault": true
}

ProductPreOrder

Description

PreOrder Product

Fields
Field Name Description
message - String The message to be shown in the store when a product is put into the pre-order availability state, e.g. "Expected release date is %%DATE%%"
willBeReleasedAt - DateTimeExtended Product release date
status - ProductAvailabilityStatus! The availability state of the product.
description - String! A few words telling the customer how long it will normally take to ship this product, such as 'Usually ships in 24 hours'.
Example
{
  "message": "abc123",
  "willBeReleasedAt": DateTimeExtended,
  "status": "Available",
  "description": "xyz789"
}

ProductReviewsFiltersInput

Fields
Input Field Description
rating - ProductReviewsRatingFilterInput
Example
{"rating": ProductReviewsRatingFilterInput}

ProductReviewsRatingFilterInput

Fields
Input Field Description
minRating - Int
maxRating - Int
Example
{"minRating": 123, "maxRating": 987}

ProductReviewsSortInput

Values
Enum Value Description

NEWEST

OLDEST

HIGHEST_RATING

LOWEST_RATING

Example
"NEWEST"

ProductUnavailable

Description

Unavailable Product

Fields
Field Name Description
message - String The message to be shown in the store when "Call for pricing" is enabled for this product, e.g. "Contact us at 555-5555"
status - ProductAvailabilityStatus! The availability state of the product.
description - String! A few words telling the customer how long it will normally take to ship this product, such as 'Usually ships in 24 hours'.
Example
{
  "message": "abc123",
  "status": "Available",
  "description": "xyz789"
}

PublicWishlist

Description

Public Wishlist

Fields
Field Name Description
entityId - Int! The wishlist id.
name - String! The wishlist name.
token - String! The wishlist token.
items - WishlistItemConnection!
Arguments
hideOutOfStock - Boolean
first - Int
Example
{
  "entityId": 123,
  "name": "abc123",
  "token": "xyz789",
  "items": WishlistItemConnection
}

RatingSearchFilterInput

Fields
Input Field Description
minRating - Float
maxRating - Float
Example
{"minRating": 987.65, "maxRating": 987.65}

Region

Fields
Field Name Description
name - String! The name of a region.
html - String! The rendered HTML content targeted at the region.
Example
{
  "name": "abc123",
  "html": "abc123"
}

RelatedProductsConnection

Description

A connection to a list of items.

Fields
Field Name Description
pageInfo - PageInfo! Information to aid in pagination.
edges - [RelatedProductsEdge] A list of edges.
Example
{
  "pageInfo": PageInfo,
  "edges": [RelatedProductsEdge]
}

RelatedProductsEdge

Description

An edge in a connection.

Fields
Field Name Description
node - Product! The item at the end of the edge.
cursor - String! A cursor for use in pagination.
Example
{
  "node": Product,
  "cursor": "abc123"
}

RenderedRegionsByPageType

Description

The rendered regions by specific page.

Fields
Field Name Description
regions - [Region!]!
Example
{"regions": [Region]}

Review

Description

Review

Fields
Field Name Description
entityId - Long! Unique ID for the product review.
author - Author! Product review author.
title - String! Product review title.
text - String! Product review text.
rating - Int! Product review rating.
createdAt - DateTimeExtended! Product review creation date.
Example
{
  "entityId": {},
  "author": Author,
  "title": "xyz789",
  "text": "xyz789",
  "rating": 987,
  "createdAt": DateTimeExtended
}

ReviewConnection

Description

A connection to a list of items.

Fields
Field Name Description
pageInfo - PageInfo! Information to aid in pagination.
edges - [ReviewEdge] A list of edges.
Example
{
  "pageInfo": PageInfo,
  "edges": [ReviewEdge]
}

ReviewEdge

Description

An edge in a connection.

Fields
Field Name Description
node - Review! The item at the end of the edge.
cursor - String! A cursor for use in pagination.
Example
{
  "node": Review,
  "cursor": "xyz789"
}

Reviews

Description

Review Rating Summary

Fields
Field Name Description
averageRating - Float! Average rating of the product. Alpha version. Do not use in production.
numberOfReviews - Int! Total number of reviews on product.
summationOfRatings - Int! Summation of rating scores from each review.
Example
{"averageRating": 123.45, "numberOfReviews": 123, "summationOfRatings": 987}

Route

Description

route

Fields
Field Name Description
node - Node node
Example
{"node": Node}

SearchProducts

Fields
Field Name Description
products - ProductConnection! Details of the products.
Arguments
after - String
first - Int
Example
{"products": ProductConnection}

SearchProductsFiltersInput

Fields
Input Field Description
searchTerm - String

Textual search term. Used to search for products based on text entered by a shopper, typically in a search box. Searches against several fields on the product including Name, SKU, and Description.

price - PriceSearchFilterInput

Search by price range. At least a minPrice or maxPrice must be supplied.

rating - RatingSearchFilterInput

Filter by rating. At least a minRating or maxRating must be supplied. This filter will do nothing unless your store has the Product Filtering feature available on your plan and enabled. If it is supplied when your store does not have the feature enabled, it will be silently ignored.

categoryEntityId - Int

Filter by products belonging to a single Category. This is intended for use when presenting a Category page in a PLP experience. This argument must be used in order for custom product sorts and custom product filtering settings targeted at a particular category to take effect.

categoryEntityIds - [Int!]

Filter by products belonging to any of the specified Categories. Intended for Advanced Search and Faceted Search/Product Filtering use cases, not for a page for a specific Category.

searchSubCategories - Boolean

Boolean argument to determine whether products within sub-Categories will be returned when filtering products by Category. Defaults to False if not supplied.

brandEntityIds - [Int!]

Filter by products belonging to any of the specified Brands.

productAttributes - [ProductAttributeSearchFilterInput!]

Filter by the attributes of products such as Product Options and Product Custom Fields. This filter will do nothing unless your store has the Product Filtering feature available on your plan and enabled. If it is supplied when your store does not have the feature enabled, it will be silently ignored.

isFreeShipping - Boolean

Filters by Products which have explicit Free Shipping configured within the catalog. If not supplied, the Free Shipping status of products will not be considered when returning the list of products.

isFeatured - Boolean

Filters by Products which have explicitly been marked as Featured within the catalog. If not supplied, the Featured status of products will not be considered when returning the list of products.

hideOutOfStock - Boolean

When set to True, hides products which are out of stock. Defaults to False. This filter will do nothing unless your store has the Product Filtering feature available on your plan and enabled. If it is supplied when your store does not have the feature enabled, it will be silently ignored.

Example
{
  "searchTerm": "abc123",
  "price": PriceSearchFilterInput,
  "rating": RatingSearchFilterInput,
  "categoryEntityId": 987,
  "categoryEntityIds": [123],
  "searchSubCategories": false,
  "brandEntityIds": [987],
  "productAttributes": [
    ProductAttributeSearchFilterInput
  ],
  "isFreeShipping": true,
  "isFeatured": false,
  "hideOutOfStock": false
}

SearchProductsSortInput

Values
Enum Value Description

FEATURED

NEWEST

BEST_SELLING

BEST_REVIEWED

A_TO_Z

Z_TO_A

LOWEST_PRICE

HIGHEST_PRICE

RELEVANCE

Example
"FEATURED"

SearchQueries

Fields
Field Name Description
searchProducts - SearchProducts! Details of the products and facets matching given search criteria.
Arguments
sort - SearchProductsSortInput

The results are sorted by relevance if the sort argument is not provided.

Example
{"searchProducts": SearchProducts}

SeoDetails

Description

Seo Details

Fields
Field Name Description
pageTitle - String! Page title.
metaDescription - String! Meta description.
metaKeywords - String! Meta keywords.
Example
{
  "pageTitle": "abc123",
  "metaDescription": "abc123",
  "metaKeywords": "abc123"
}

Settings

Description

Store settings information from the control panel.

Fields
Field Name Description
storeName - String! The name of the store.
storeHash - String! The hash of the store.
status - StorefrontStatusType! The current store status.
logo - LogoField! Logo information for the store.
contact - ContactField Contact information for the store.
url - UrlField! Store urls.
display - DisplayField! Store display format information.
channelId - Long! Channel ID.
tax - TaxDisplaySettings
search - Search! Store search settings.
Example
{
  "storeName": "abc123",
  "storeHash": "xyz789",
  "status": "LAUNCHED",
  "logo": LogoField,
  "contact": ContactField,
  "url": UrlField,
  "display": DisplayField,
  "channelId": {},
  "tax": TaxDisplaySettings,
  "search": Search
}

ShopByPriceConnection

Description

A connection to a list of items.

Fields
Field Name Description
pageInfo - PageInfo! Information to aid in pagination.
edges - [ShopByPriceEdge] A list of edges.
Example
{
  "pageInfo": PageInfo,
  "edges": [ShopByPriceEdge]
}

ShopByPriceEdge

Description

An edge in a connection.

Fields
Field Name Description
node - ShopByPriceRange! The item at the end of the edge.
cursor - String! A cursor for use in pagination.
Example
{
  "node": ShopByPriceRange,
  "cursor": "abc123"
}

ShopByPriceRange

Description

Category shop by price money ranges

Fields
Field Name Description
ranges - MoneyRange! Category shop by price range.
Example
{"ranges": MoneyRange}

Site

Description

A site

Fields
Field Name Description
search - SearchQueries! The Search queries.
categoryTree - [CategoryTreeItem!]!
Arguments
rootEntityId - Int
category - Category Retrieve a category object by the id.
Arguments
entityId - Int!
brands - BrandConnection! Details of the brand.
Arguments
before - String
after - String
first - Int
last - Int
productEntityIds - [Int!]
products - ProductConnection! Details of the products.
Arguments
before - String
after - String
first - Int
last - Int
ids - [ID!]
entityIds - [Int!]
hideOutOfStock - Boolean
newestProducts - ProductConnection! Details of the newest products.
Arguments
before - String
after - String
first - Int
last - Int
hideOutOfStock - Boolean
bestSellingProducts - ProductConnection! Details of the best selling products.
Arguments
before - String
after - String
first - Int
last - Int
hideOutOfStock - Boolean
featuredProducts - ProductConnection! Details of the featured products.
Arguments
before - String
after - String
first - Int
last - Int
hideOutOfStock - Boolean
product - Product A single product object with variant pricing overlay capabilities.
Arguments
id - ID
entityId - Int
variantEntityId - Int
optionValueIds - [OptionValueId!]
sku - String
route - Route! Route for a node
Arguments
path - String!
settings - Settings Store settings.
content - Content!
currency - Currency Currency details.
Arguments
currencyCode - currencyCode!

Currency Code

currencies - CurrencyConnection! Store Currencies.
Arguments
before - String
after - String
first - Int
last - Int
publicWishlist - PublicWishlist
Arguments
token - String!
Example
{
  "search": SearchQueries,
  "categoryTree": [CategoryTreeItem],
  "category": Category,
  "brands": BrandConnection,
  "products": ProductConnection,
  "newestProducts": ProductConnection,
  "bestSellingProducts": ProductConnection,
  "featuredProducts": ProductConnection,
  "product": Product,
  "route": Route,
  "settings": Settings,
  "content": Content,
  "currency": Currency,
  "currencies": CurrencyConnection,
  "publicWishlist": PublicWishlist
}

StorefrontStatusType

Description

Storefront Mode

Values
Enum Value Description

LAUNCHED

MAINTENANCE

PRE_LAUNCH

HIBERNATION

Example
"LAUNCHED"

String

Description

The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.

Example
"xyz789"

SwatchOptionValue

Description

A swatch option value - swatch values can be associated with a list of hexidecimal colors or an image.

Fields
Field Name Description
hexColors - [String!]! List of up to 3 hex encoded colors to associate with a swatch value.
imageUrl - String Absolute path of a swatch texture image.
Arguments
width - Int!
height - Int
entityId - Int! Unique ID for the option value.
label - String! Label for the option value.
isDefault - Boolean! Indicates whether this value is the chosen default selected value.
Example
{
  "hexColors": ["abc123"],
  "imageUrl": "abc123",
  "entityId": 987,
  "label": "xyz789",
  "isDefault": true
}

TaxDisplaySettings

Fields
Field Name Description
pdp - TaxPriceDisplay! Tax display setting for Product Details Page.
plp - TaxPriceDisplay! Tax display setting for Product List Page.
Example
{"pdp": "INC", "plp": "INC"}

TaxPriceDisplay

Description

Tax setting can be set included or excluded (Tax setting can also be set to both on PDP/PLP).

Values
Enum Value Description

INC

EX

BOTH

Example
"INC"

TextFieldOption

Description

A single line text input field.

Fields
Field Name Description
defaultValue - String Default value of the text field option.
minLength - Int The minimum number of characters.
maxLength - Int The maximum number of characters.
entityId - Int! Unique ID for the option.
displayName - String! Display name for the option.
isRequired - Boolean! One of the option values is required to be selected for the checkout.
isVariantOption - Boolean! Indicates whether it is a variant option or modifier.
Example
{
  "defaultValue": "abc123",
  "minLength": 987,
  "maxLength": 123,
  "entityId": 987,
  "displayName": "xyz789",
  "isRequired": true,
  "isVariantOption": false
}

UpdateWishlistInput

Description

Update wishlist input object

Fields
Input Field Description
entityId - Int!
data - WishlistUpdateDataInput!
Example
{"entityId": 123, "data": WishlistUpdateDataInput}

UpdateWishlistResult

Description

Update wishlist

Fields
Field Name Description
result - Wishlist!
Example
{"result": Wishlist}

UrlField

Description

Url field

Fields
Field Name Description
vanityUrl - String! Store url.
cdnUrl - String! CDN url to fetch assets.
Example
{
  "vanityUrl": "xyz789",
  "cdnUrl": "xyz789"
}

Variant

Description

Variant

Fields
Field Name Description
id - ID! The ID of an object
entityId - Int! Id of the variant.
sku - String! Sku of the variant.
weight - Measurement The variant's weight. If a weight was not explicitly specified on the variant, this will be the product's weight.
height - Measurement The variant's height. If a height was not explicitly specified on the variant, this will be the product's height.
width - Measurement The variant's width. If a width was not explicitly specified on the variant, this will be the product's width.
depth - Measurement The variant's depth. If a depth was not explicitly specified on the variant, this will be the product's depth.
options - OptionConnection! The options which define a variant.
Arguments
before - String
after - String
first - Int
last - Int
productOptions - ProductOptionConnection! Product options that compose this variant.
Arguments
before - String
after - String
first - Int
last - Int
defaultImage - Image Default image for a variant.
prices - Prices Variant prices
Arguments
includeTax - Boolean
currencyCode - currencyCode

Please select a currency

inventory - VariantInventory Variant inventory
metafields - MetafieldConnection! Metafield data related to a variant.
Arguments
namespace - String!
keys - [String!]
before - String
after - String
first - Int
last - Int
upc - String Universal product code.
mpn - String Manufacturer part number.
gtin - String Global trade item number.
isPurchasable - Boolean!
Example
{
  "id": "4",
  "entityId": 123,
  "sku": "xyz789",
  "weight": Measurement,
  "height": Measurement,
  "width": Measurement,
  "depth": Measurement,
  "options": OptionConnection,
  "productOptions": ProductOptionConnection,
  "defaultImage": Image,
  "prices": Prices,
  "inventory": VariantInventory,
  "metafields": MetafieldConnection,
  "upc": "abc123",
  "mpn": "abc123",
  "gtin": "abc123",
  "isPurchasable": true
}

VariantConnection

Description

A connection to a list of items.

Fields
Field Name Description
pageInfo - PageInfo! Information to aid in pagination.
edges - [VariantEdge] A list of edges.
Example
{
  "pageInfo": PageInfo,
  "edges": [VariantEdge]
}

VariantEdge

Description

An edge in a connection.

Fields
Field Name Description
node - Variant! The item at the end of the edge.
cursor - String! A cursor for use in pagination.
Example
{
  "node": Variant,
  "cursor": "xyz789"
}

VariantInventory

Description

Variant Inventory

Fields
Field Name Description
aggregated - Aggregated Aggregated product variant inventory information. This data may not be available if not set or if the store's Inventory Settings have disabled displaying stock levels on the storefront.
isInStock - Boolean! Indicates whether this product is in stock.
byLocation - LocationConnection Inventory by locations.
Arguments
locationEntityIds - [Int!]
locationEntityCodes - [String!]
locationEntityTypeIds - [String!]
locationEntityServiceTypeIds - [String!]
distanceFilter - DistanceFilter
before - String
after - String
first - Int
last - Int
Example
{
  "aggregated": Aggregated,
  "isInStock": false,
  "byLocation": LocationConnection
}

Wishlist

Fields
Field Name Description
entityId - Int! The wishlist id.
name - String! The wishlist name.
isPublic - Boolean! Is the wishlist public?
token - String! The wishlist token.
items - WishlistItemConnection!
Arguments
hideOutOfStock - Boolean
first - Int
Example
{
  "entityId": 123,
  "name": "xyz789",
  "isPublic": true,
  "token": "abc123",
  "items": WishlistItemConnection
}

WishlistConnection

Description

A connection to a list of items.

Fields
Field Name Description
pageInfo - PageInfo! Information to aid in pagination.
edges - [WishlistEdge] A list of edges.
Example
{
  "pageInfo": PageInfo,
  "edges": [WishlistEdge]
}

WishlistEdge

Description

An edge in a connection.

Fields
Field Name Description
node - Wishlist! The item at the end of the edge.
cursor - String! A cursor for use in pagination.
Example
{
  "node": Wishlist,
  "cursor": "xyz789"
}

WishlistFiltersInput

Description

Wishlist filters input object

Fields
Input Field Description
entityIds - [Int!]
Example
{"entityIds": [987]}

WishlistItem

Description

WishlistItem

Fields
Field Name Description
entityId - Int! Wishlist item id.
product - Product!
productEntityId - Int!
variantEntityId - Int
Example
{
  "entityId": 123,
  "product": Product,
  "productEntityId": 987,
  "variantEntityId": 987
}

WishlistItemConnection

Description

A connection to a list of items.

Fields
Field Name Description
pageInfo - PageInfo! Information to aid in pagination.
edges - [WishlistItemEdge] A list of edges.
Example
{
  "pageInfo": PageInfo,
  "edges": [WishlistItemEdge]
}

WishlistItemEdge

Description

An edge in a connection.

Fields
Field Name Description
node - WishlistItem! The item at the end of the edge.
cursor - String! A cursor for use in pagination.
Example
{
  "node": WishlistItem,
  "cursor": "abc123"
}

WishlistItemInput

Description

Wishlist item input object

Fields
Input Field Description
productEntityId - Int!
variantEntityId - Int
Example
{"productEntityId": 123, "variantEntityId": 987}

WishlistMutations

Fields
Field Name Description
createWishlist - CreateWishlistResult
Arguments
addWishlistItems - AddWishlistItemsResult
Arguments
deleteWishlistItems - DeleteWishlistItemsResult
Arguments
updateWishlist - UpdateWishlistResult
Arguments
deleteWishlists - DeleteWishlistResult
Arguments
Example
{
  "createWishlist": CreateWishlistResult,
  "addWishlistItems": AddWishlistItemsResult,
  "deleteWishlistItems": DeleteWishlistItemsResult,
  "updateWishlist": UpdateWishlistResult,
  "deleteWishlists": DeleteWishlistResult
}

WishlistUpdateDataInput

Description

Wishlist data to update

Fields
Input Field Description
name - String
isPublic - Boolean
Example
{"name": "xyz789", "isPublic": true}

countryCode

Description

Country Code

Values
Enum Value Description

AW

AF

AO

AI

AX

AL

AD

AE

AR

AM

AS

AQ

TF

AG

AU

AT

AZ

BI

BE

BJ

BQ

BF

BD

BG

BH

BS

BA

BL

BY

BZ

BM

BO

BR

BB

BN

BT

BV

BW

CF

CA

CC

CH

CL

CN

CI

CM

CD

CG

CK

CO

KM

CV

CR

CU

CW

CX

KY

CY

CZ

DE

DJ

DM

DK

DO

DZ

EC

EG

ER

EH

ES

EE

ET

FI

FJ

FK

FR

FO

FM

GA

GB

GE

GG

GH

GI

GN

GP

GM

GW

GQ

GR

GD

GL

GT

GF

GU

GY

HK

HM

HN

HR

HT

HU

ID

IM

IN

IO

IE

IR

IQ

IS

IL

IT

JM

JE

JO

JP

KZ

KE

KG

KH

KI

KN

KR

KW

LA

LB

LR

LY

LC

LI

LK

LS

LT

LU

LV

MO

MF

MA

MC

MD

MG

MV

MX

MH

MK

ML

MT

MM

ME

MN

MP

MZ

MR

MS

MQ

MU

MW

MY

YT

NA

NC

NE

NF

NG

NI

NU

NL

NO

NP

NR

NZ

OM

PK

PA

PN

PE

PH

PW

PG

PL

PR

KP

PT

PY

PS

PF

QA

RE

RO

RU

RW

SA

SD

SN

SG

GS

SH

SJ

SB

SL

SV

SM

SO

PM

RS

SS

ST

SR

SK

SI

SE

SZ

SX

SC

SY

TC

TD

TG

TH

TJ

TK

TM

TL

TO

TT

TN

TR

TV

TW

TZ

UG

UA

UM

UY

US

UZ

VA

VC

VE

VG

VI

VN

VU

WF

WS

YE

ZA

ZM

ZW

Example
"AW"

currencyCode

Description

Currency Code

Values
Enum Value Description

ADP

AED

AFA

AFN

ALK

ALL

AMD

ANG

AOA

AOK

AON

AOR

ARA

ARL

ARM

ARP

ARS

ATS

AUD

AWG

AZM

AZN

BAD

BAM

BAN

BBD

BDT

BEC

BEF

BEL

BGL

BGM

BGN

BGO

BHD

BIF

BMD

BND

BOB

BOL

BOP

BOV

BRB

BRC

BRE

BRL

BRN

BRR

BRZ

BSD

BTN

BUK

BWP

BYB

BYN

BYR

BZD

CAD

CDF

CHE

CHF

CHW

CLE

CLF

CLP

CNX

CNY

COP

COU

CRC

CSD

CSK

CUC

CUP

CVE

CYP

CZK

DDM

DEM

DJF

DKK

DOP

DZD

ECS

ECV

EEK

EGP

ERN

ESA

ESB

ESP

ETB

EUR

FIM

FJD

FKP

FRF

GBP

GEK

GEL

GHC

GHS

GIP

GMD

GNF

GNS

GQE

GRD

GTQ

GWE

GWP

GYD

HKD

HNL

HRD

HRK

HTG

HUF

IDR

IEP

ILP

ILR

ILS

INR

IQD

ISJ

IRR

ISK

ITL

JMD

JOD

JPY

KES

KGS

KHR

KMF

KPW

KRH

KRO

KRW

KWD

KYD

KZT

LAK

LBP

LKR

LRD

LSL

LTL

LTT

LUC

LUF

LUL

LVL

LVR

LYD

MAD

MAF

MCF

MDC

MDL

MGA

MGF

MKD

MKN

MLF

MMK

MNT

MOP

MRO

MTL

MTP

MUR

MVP

MVR

MWK

MXN

MXP

MXV

MYR

MZE

MZM

MZN

NAD

NGN

NIC

NIO

NLG

NOK

NPR

NZD

OMR

PAB

PEI

PEN

PES

PGK

PHP

PKR

PLN

PLZ

PTE

PYG

QAR

RHD

ROL

RON

RSD

RUB

RUR

RWF

SAR

SBD

SCR

SDD

SDG

SDP

SEK

SGD

SHP

SIT

SKK

SLL

SOS

SRD

SRG

SSP

STD

SUR

SVC

SYP

SZL

THB

TJR

TJS

TMM

TMT

TND

TOP

TPE

TRL

TRY

TTD

TWD

TZS

UAH

UAK

UGS

UGX

USD

USN

USS

UYI

UYP

UYU

UZS

VEB

VEF

VND

VNN

VUV

WST

XAF

XCD

XEU

XFO

XFU

XOF

XPF

XRE

YDD

YER

YUD

YUM

YUN

YUR

ZAL

ZAR

ZMK

ZMW

ZRN

ZRZ

ZWD

ZWL

ZWR

Example
"ADP"