The Merchandising GraphQL API enables developers to build rich, dynamic storefront experiences by providing efficient access to catalog data from Adobe Commerce Optimizer.
API endpoint
https://na1-sandbox.api.commerce.adobe.com/{TENANT_ID}/graphql
Headers
# Required. View ID for catalog context.
AC-View-Id: cde0ab4c-1f7b-4e12-91f6-9c7840ab6523
# Required. Content type header.
Content-Type: application/json
# Price book identifier for pricing context.
AC-Price-Book-ID: us
# Trigger name and value that sets data access filters.
AC-Policy-{*}: AC-Policy-Brand
Required headers
All API requests must include the following headers:
AC-View-Id: View ID for catalog context.Content-Type: Content type header.
Queries
attributeMetadata
Return a list of product attribute codes that can be used for sorting or filtering in a productSearch query
Response: AttributeMetadataResponse!
Example
Query
query attributeMetadata {
attributeMetadata {
filterableInSearch {
...FilterableInSearchAttributeFragment
}
sortable {
...SortableAttributeFragment
}
}
}
Response
{
"data": {
"attributeMetadata": {
"filterableInSearch": [FilterableInSearchAttribute],
"sortable": [SortableAttribute]
}
}
}
categoryTree
Retrieves category tree nodes, optionally filtered by family, slugs and limited by depth.
Response: [CategoryTreeView]
Arguments
family - Stringslugs - [String!]depth - IntExample
Query
query categoryTree(
$family: String,
$slugs: [String!],
$depth: Int
) {
categoryTree(
family: $family,
slugs: $slugs,
depth: $depth
) {
slug
name
description
metaTags {
...CategoryMetaTagsFragment
}
images {
...CategoryImageFragment
}
level
parentSlug
childrenSlugs
}
}
Variables
{
"family": "xyz789",
"slugs": ["xyz789"],
"depth": 987
}
Response
{
"data": {
"categoryTree": [
{
"slug": "abc123",
"name": "abc123",
"description": "xyz789",
"metaTags": CategoryMetaTags,
"images": [CategoryImage],
"level": 987,
"parentSlug": "abc123",
"childrenSlugs": ["xyz789"]
}
]
}
}
navigation
Retrieves the navigation tree for a given product family.
Response: [CategoryNavigationView]
Arguments
family - String!Example
Query
query navigation($family: String!) {
navigation(family: $family) {
slug
name
children {
...CategoryNavigationViewFragment
}
}
}
Variables
{"family": "xyz789"}
Response
{
"data": {
"navigation": [
{
"slug": "abc123",
"name": "abc123",
"children": [CategoryNavigationView]
}
]
}
}
productSearch
Search products using Live Search
Response: ProductSearchResponse!
Arguments
context - QueryContextInputcurrent_page - Int1filter - [SearchClauseInput!]page_size - Int20phrase - String!sort - [ProductSearchSortInput!]Example
Query
query productSearch(
$context: QueryContextInput,
$current_page: Int,
$filter: [SearchClauseInput!],
$page_size: Int,
$phrase: String!,
$sort: [ProductSearchSortInput!]
) {
productSearch(
context: $context,
current_page: $current_page,
filter: $filter,
page_size: $page_size,
phrase: $phrase,
sort: $sort
) {
facets {
...AggregationFragment
}
items {
...ProductSearchItemFragment
}
page_info {
...SearchResultPageInfoFragment
}
related_terms
suggestions
total_count
warnings {
...ProductSearchWarningFragment
}
}
}
Variables
{
"context": QueryContextInput,
"current_page": 1,
"filter": [SearchClauseInput],
"page_size": 20,
"phrase": "abc123",
"sort": [ProductSearchSortInput]
}
Response
{
"data": {
"productSearch": {
"facets": [Aggregation],
"items": [ProductSearchItem],
"page_info": SearchResultPageInfo,
"related_terms": ["abc123"],
"suggestions": ["abc123"],
"total_count": 987,
"warnings": [ProductSearchWarning]
}
}
}
products
Search for products that match the specified SKU values. In Adobe Commerce as a Cloud Service, this query replaces the products query defined in the Commerce Foundation.
Response: [ProductView]
Arguments
skus - [String]Example
Query
query products($skus: [String]) {
products(skus: $skus) {
addToCartAllowed
inStock
lowStock
attributes {
...ProductViewAttributeFragment
}
description
id
images {
...ProductViewImageFragment
}
videos {
...ProductViewVideoFragment
}
lastModifiedAt
metaDescription
metaKeyword
metaTitle
name
shortDescription
inputOptions {
...ProductViewInputOptionFragment
}
sku
externalId
url
urlKey
links {
...ProductViewLinkFragment
}
categories {
...CategoryProductViewFragment
}
queryType
visibility
}
}
Variables
{"skus": ["xyz789"]}
Response
{
"data": {
"products": [
{
"addToCartAllowed": false,
"inStock": false,
"lowStock": true,
"attributes": [ProductViewAttribute],
"description": "xyz789",
"id": "4",
"images": [ProductViewImage],
"videos": [ProductViewVideo],
"lastModifiedAt": "2007-12-03T10:15:30Z",
"metaDescription": "abc123",
"metaKeyword": "abc123",
"metaTitle": "abc123",
"name": "xyz789",
"shortDescription": "xyz789",
"inputOptions": [ProductViewInputOption],
"sku": "xyz789",
"externalId": "xyz789",
"url": "abc123",
"urlKey": "abc123",
"links": [ProductViewLink],
"categories": [CategoryProductView],
"queryType": "abc123",
"visibility": "abc123"
}
]
}
}
recommendationsByUnitIds
Response: Recommendations
Arguments
unitIds - [String!]!currentSku - StringcurrentProduct - CurrentProductInputuserPurchaseHistory - [PurchaseHistory]userViewHistory - [ViewHistory]cartSkus - [String]Example
Query
query recommendationsByUnitIds(
$unitIds: [String!]!,
$currentSku: String,
$currentProduct: CurrentProductInput,
$userPurchaseHistory: [PurchaseHistory],
$userViewHistory: [ViewHistory],
$cartSkus: [String]
) {
recommendationsByUnitIds(
unitIds: $unitIds,
currentSku: $currentSku,
currentProduct: $currentProduct,
userPurchaseHistory: $userPurchaseHistory,
userViewHistory: $userViewHistory,
cartSkus: $cartSkus
) {
results {
...RecommendationUnitFragment
}
totalResults
}
}
Variables
{
"unitIds": ["xyz789"],
"currentSku": "abc123",
"currentProduct": CurrentProductInput,
"userPurchaseHistory": [PurchaseHistory],
"userViewHistory": [ViewHistory],
"cartSkus": ["xyz789"]
}
Response
{
"data": {
"recommendationsByUnitIds": {
"results": [RecommendationUnit],
"totalResults": 123
}
}
}
refineProduct
Narrow down the results of a products query that was run against a complex product. Specify option IDs and SKUs to refine the product.
Response: ProductView
Arguments
optionIds - [String!]!sku - String!Example
Query
query refineProduct(
$optionIds: [String!]!,
$sku: String!
) {
refineProduct(
optionIds: $optionIds,
sku: $sku
) {
addToCartAllowed
inStock
lowStock
attributes {
...ProductViewAttributeFragment
}
description
id
images {
...ProductViewImageFragment
}
videos {
...ProductViewVideoFragment
}
lastModifiedAt
metaDescription
metaKeyword
metaTitle
name
shortDescription
inputOptions {
...ProductViewInputOptionFragment
}
sku
externalId
url
urlKey
links {
...ProductViewLinkFragment
}
categories {
...CategoryProductViewFragment
}
queryType
visibility
}
}
Variables
{
"optionIds": ["xyz789"],
"sku": "abc123"
}
Response
{
"data": {
"refineProduct": {
"addToCartAllowed": false,
"inStock": false,
"lowStock": false,
"attributes": [ProductViewAttribute],
"description": "abc123",
"id": "4",
"images": [ProductViewImage],
"videos": [ProductViewVideo],
"lastModifiedAt": "2007-12-03T10:15:30Z",
"metaDescription": "xyz789",
"metaKeyword": "abc123",
"metaTitle": "xyz789",
"name": "abc123",
"shortDescription": "xyz789",
"inputOptions": [ProductViewInputOption],
"sku": "xyz789",
"externalId": "xyz789",
"url": "abc123",
"urlKey": "abc123",
"links": [ProductViewLink],
"categories": [CategoryProductView],
"queryType": "abc123",
"visibility": "xyz789"
}
}
}
searchCategory
Search for categories by name with optional filtering and pagination.
Response: SearchCategoryResultPage
Arguments
searchTerm - String!family - StringpageSize - Int20currentPage - Int1Example
Query
query searchCategory(
$searchTerm: String!,
$family: String,
$pageSize: Int,
$currentPage: Int
) {
searchCategory(
searchTerm: $searchTerm,
family: $family,
pageSize: $pageSize,
currentPage: $currentPage
) {
items {
...CategoryTreeViewFragment
}
totalCount
pageInfo {
...PageInfoFragment
}
}
}
Variables
{
"searchTerm": "abc123",
"family": "xyz789",
"pageSize": 20,
"currentPage": 1
}
Response
{
"data": {
"searchCategory": {
"items": [CategoryTreeView],
"totalCount": 987,
"pageInfo": PageInfo
}
}
}
variants
Response: ProductViewVariantResults
Arguments
sku - String!optionIds - [String!]pageSize - Intcursor - StringExample
Query
query variants(
$sku: String!,
$optionIds: [String!],
$pageSize: Int,
$cursor: String
) {
variants(
sku: $sku,
optionIds: $optionIds,
pageSize: $pageSize,
cursor: $cursor
) {
variants {
...ProductViewVariantFragment
}
cursor
}
}
Variables
{
"sku": "xyz789",
"optionIds": ["abc123"],
"pageSize": 987,
"cursor": "xyz789"
}
Response
{
"data": {
"variants": {
"variants": [ProductViewVariant],
"cursor": "xyz789"
}
}
}
Types
Aggregation
A bucket that contains information for each filterable option
Fields
attribute - String!buckets - [Bucket]!title - String!type - AggregationTypeExample
{
"attribute": "abc123",
"buckets": [Bucket],
"title": "abc123",
"type": "INTELLIGENT"
}
AggregationType
Identifies the data type of the aggregation
Values
INTELLIGENTPINNEDPOPULARExample
""INTELLIGENT""
AppliedQueryRule
The rule that was applied to this product
Fields
action_type - AppliedQueryRuleActionTyperule_id - Stringrule_name - StringExample
{
"action_type": "BOOST",
"rule_id": "abc123",
"rule_name": "abc123"
}
AppliedQueryRuleActionType
The type of rule that was applied to a product during search (optional)
Values
BOOSTBURYPINExample
""BOOST""
AttributeMetadataResponse
Contains the output of the attributeMetadata query
Fields
filterableInSearch - [FilterableInSearchAttribute!]sortable - [SortableAttribute!]Example
{
"filterableInSearch": [FilterableInSearchAttribute],
"sortable": [SortableAttribute]
}
Boolean
The Boolean scalar type represents true or false.
Bucket
An interface for bucket contents
Fields
title - String!Possible Types
Example
{"title": "xyz789"}
CategoryBucket
New category bucket for federation
Fields
Example
{
"count": 123,
"id": "4",
"path": "xyz789",
"title": "abc123"
}
CategoryBucketInterface
Fields
id - ID!Possible Types
Example
{"id": "4"}
CategoryImage
Represents an image associated with a category.
Fields
url - String!label - Stringroles - [String]customRoles - [String]Example
{
"url": "abc123",
"label": "abc123",
"roles": ["abc123"],
"customRoles": ["xyz789"]
}
CategoryMetaTags
SEO metadata tags for the category.
Fields
title - Stringdescription - Stringkeywords - [String]Example
{
"title": "xyz789",
"description": "xyz789",
"keywords": ["xyz789"]
}
CategoryNavigationView
Represents a category optimized for navigation menus, with nested children for building navigation trees.
Fields
slug - String!name - String!children - [CategoryNavigationView]Example
{
"slug": "abc123",
"name": "abc123",
"children": [CategoryNavigationView]
}
CategoryProductView
Represents category information associated with a product, including hierarchical parent relationships.
Fields
name - String!slug - String!level - Int!parents - [CategoryProductView!]Example
{
"name": "xyz789",
"slug": "xyz789",
"level": 987,
"parents": [CategoryProductView]
}
CategoryTreeView
Represents a category within a hierarchical tree structure, including parent and children relationships.
Fields
slug - String!name - String!description - StringmetaTags - CategoryMetaTagsimages - [CategoryImage]level - IntparentSlug - StringchildrenSlugs - [String]Example
{
"slug": "xyz789",
"name": "xyz789",
"description": "abc123",
"metaTags": CategoryMetaTags,
"images": [CategoryImage],
"level": 987,
"parentSlug": "xyz789",
"childrenSlugs": ["abc123"]
}
CategoryView
Represents a category. Contains information about a category, including the category ID, the category name, the category path, the category URL key, the category URL path, and the category roles.
Fields
availableSortBy - [String]children - [String!]defaultSortBy - Stringid - ID!level - Intname - StringparentId - String!position - Intpath - Stringroles - [String!]!urlKey - StringurlPath - Stringcount - Int!title - String!Example
{
"availableSortBy": ["xyz789"],
"children": ["abc123"],
"defaultSortBy": "abc123",
"id": 4,
"level": 987,
"name": "abc123",
"parentId": "abc123",
"position": 987,
"path": "xyz789",
"roles": ["abc123"],
"urlKey": "abc123",
"urlPath": "abc123",
"count": 987,
"title": "abc123"
}
CategoryViewInterface
Base interface defining essential category fields shared across all category views.
Fields
availableSortBy - [String]defaultSortBy - Stringid - ID!level - Intname - Stringpath - Stringroles - [String]urlKey - StringurlPath - StringPossible Types
Example
{
"availableSortBy": ["abc123"],
"defaultSortBy": "abc123",
"id": "4",
"level": 123,
"name": "abc123",
"path": "abc123",
"roles": ["abc123"],
"urlKey": "abc123",
"urlPath": "xyz789"
}
CategoryViewV2
Base interface defining essential category fields shared across all category views.
Fields
slug - String!name - String!Possible Types
Example
{
"slug": "abc123",
"name": "xyz789"
}
ComplexProductView
Represents all product types, except simple products. Complex product prices are returned as a price range, because price values can vary based on selected options.
Fields
addToCartAllowed - BooleaninStock - BooleanlowStock - Booleanattributes - [ProductViewAttribute]description - Stringid - ID!images - [ProductViewImage]videos - [ProductViewVideo]lastModifiedAt - DateTimemetaDescription - StringmetaKeyword - StringmetaTitle - Stringname - StringinputOptions - [ProductViewInputOption]options - [ProductViewOption]priceRange - ProductViewPriceRangeshortDescription - Stringsku - StringexternalId - Stringurl - StringurlKey - Stringlinks - [ProductViewLink]categories - [CategoryProductView!]queryType - Stringvisibility - StringExample
{
"addToCartAllowed": true,
"inStock": false,
"lowStock": false,
"attributes": [ProductViewAttribute],
"description": "xyz789",
"id": 4,
"images": [ProductViewImage],
"videos": [ProductViewVideo],
"lastModifiedAt": "2007-12-03T10:15:30Z",
"metaDescription": "abc123",
"metaKeyword": "xyz789",
"metaTitle": "xyz789",
"name": "abc123",
"inputOptions": [ProductViewInputOption],
"options": [ProductViewOption],
"priceRange": ProductViewPriceRange,
"shortDescription": "xyz789",
"sku": "abc123",
"externalId": "abc123",
"url": "xyz789",
"urlKey": "xyz789",
"links": [ProductViewLink],
"categories": [CategoryProductView],
"queryType": "abc123",
"visibility": "abc123"
}
CurrentProductInput
Attributes of the product currently being viewed on PDP
Input Fields
sku - Stringprice - FloatExample
{"sku": "abc123", "price": 987.65}
DateTime
A slightly refined version of RFC-3339 compliant DateTime Scalar
Example
"2007-12-03T10:15:30Z"
FilterableInSearchAttribute
Contains product attributes that can be used for filtering in a productSearch query
Fields
attribute - String!frontendInput - Stringlabel - Stringnumeric - BooleanExample
{
"attribute": "xyz789",
"frontendInput": "abc123",
"label": "abc123",
"numeric": true
}
Float
The Float scalar type represents signed double-precision fractional values as specified by IEEE 754.
Example
987.65
Highlight
An object that provides highlighted text for matched words
Fields
attribute - String!matched_words - [String]!value - String!Example
{
"attribute": "xyz789",
"matched_words": ["abc123"],
"value": "abc123"
}
ID
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"
Int
The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.
Example
123
JSON
A JSON scalar
Example
{}
PageInfo
Provides pagination information for navigating through paginated result sets.
Fields
currentPage - Int!pageSize - Int!totalPages - Int!Example
{"currentPage": 123, "pageSize": 123, "totalPages": 123}
Price
Defines the price of a simple product or a part of a price range for a complex product. It can include a list of price adjustments.
Fields
adjustments - [PriceAdjustment]amount - ProductViewMoneyExample
{
"adjustments": [PriceAdjustment],
"amount": ProductViewMoney
}
PriceAdjustment
Specifies the amount and type of price adjustment.
Fields
amount - Floatcode - StringExample
{"amount": 987.65, "code": "abc123"}
ProductSearchItem
A single product returned by the query
Fields
applied_query_rule - AppliedQueryRulehighlights - [Highlight]productView - ProductViewExample
{
"applied_query_rule": AppliedQueryRule,
"highlights": [Highlight],
"productView": ProductView
}
ProductSearchResponse
Contains the output of a productSearch query
Fields
facets - [Aggregation]items - [ProductSearchItem]page_info - SearchResultPageInforelated_terms - [String]suggestions - [String]total_count - Intwarnings - [ProductSearchWarning]Example
{
"facets": [Aggregation],
"items": [ProductSearchItem],
"page_info": SearchResultPageInfo,
"related_terms": ["xyz789"],
"suggestions": ["abc123"],
"total_count": 987,
"warnings": [ProductSearchWarning]
}
ProductSearchSortInput
The product attribute to sort on
Input Fields
attribute - String!direction - SortEnum!Example
{"attribute": "xyz789", "direction": "ASC"}
ProductSearchWarning
Structured warning with code and message for easier client handling
Fields
code - String!message - String!Example
{
"code": "abc123",
"message": "abc123"
}
ProductView
Defines the product fields available to the SimpleProductView and ComplexProductView types.
Fields
addToCartAllowed - BooleaninStock - BooleanlowStock - Booleanattributes - [ProductViewAttribute]description - Stringid - ID!images - [ProductViewImage]videos - [ProductViewVideo]lastModifiedAt - DateTimemetaDescription - StringmetaKeyword - StringmetaTitle - Stringname - StringshortDescription - StringinputOptions - [ProductViewInputOption]sku - StringexternalId - Stringurl - StringurlKey - Stringlinks - [ProductViewLink]categories - [CategoryProductView!]queryType - Stringvisibility - StringPossible Types
Example
{
"addToCartAllowed": true,
"inStock": false,
"lowStock": false,
"attributes": [ProductViewAttribute],
"description": "xyz789",
"id": 4,
"images": [ProductViewImage],
"videos": [ProductViewVideo],
"lastModifiedAt": "2007-12-03T10:15:30Z",
"metaDescription": "abc123",
"metaKeyword": "xyz789",
"metaTitle": "xyz789",
"name": "abc123",
"shortDescription": "abc123",
"inputOptions": [ProductViewInputOption],
"sku": "xyz789",
"externalId": "abc123",
"url": "xyz789",
"urlKey": "abc123",
"links": [ProductViewLink],
"categories": [CategoryProductView],
"queryType": "abc123",
"visibility": "xyz789"
}
ProductViewAttribute
A container for customer-defined attributes that are displayed the storefront.
Fields
label - Stringname - String!roles - [String]value - JSONExample
{
"label": "xyz789",
"name": "abc123",
"roles": ["abc123"],
"value": {}
}
ProductViewCurrency
The list of supported currency codes.
Values
AEDAFNALLAMDANGAOAARSAUDAWGAZMAZNBAMBBDBDTBGNBHDBIFBMDBNDBOBBRLBSDBTNBUKBWPBYNBZDCADCDFCHECHFCHWCLPCNYCOPCRCCUPCVECZKDJFDKKDOPDZDEEKEGPERNETBEURFJDFKPGBPGEKGELGHSGIPGMDGNFGQEGTQGYDHKDHNLHRKHTGHUFIDRILSINRIQDIRRISKJMDJODJPYKESKGSKHRKMFKPWKRWKWDKYDKZTLAKLBPLKRLRDLSLLSMLTLLVLLYDMADMDLMGAMKDMMKMNTMOPMROMURMVRMWKMXNMYRMZNNADNGNNICNOKNPRNZDOMRPABPENPGKPHPPKRPLNPYGQARRHDROLRONRSDRUBRWFSARSBDSCRSDGSEKSGDSHPSKKSLLSOSSRDSTDSVCSYPSZLTHBTJSTMMTNDTOPTRLTRYTTDTWDTZSUAHUGXUSDUYUUZSVEBVEFVNDVUVWSTXCDXOFXPFYERZARZMKZWDNONEExample
""AED""
ProductViewImage
Contains details about a product image.
Fields
label - Stringroles - [String]url - String!Example
{
"label": "xyz789",
"roles": ["abc123"],
"url": "xyz789"
}
ProductViewInputOption
Product options provide a way to configure products by making selections of particular option values. Selecting one or many options will point to a simple product.
Fields
id - IDtitle - Stringrequired - Booleantype - StringmarkupAmount - Floatsuffix - StringsortOrder - Intrange - ProductViewInputOptionRangeimageSize - ProductViewInputOptionImageSizefileExtensions - StringExample
{
"id": "4",
"title": "abc123",
"required": false,
"type": "abc123",
"markupAmount": 123.45,
"suffix": "abc123",
"sortOrder": 987,
"range": ProductViewInputOptionRange,
"imageSize": ProductViewInputOptionImageSize,
"fileExtensions": "xyz789"
}
ProductViewInputOptionImageSize
Dimensions of the image associated with the input option.
Fields
width - Intheight - IntExample
{"width": 123, "height": 123}
ProductViewInputOptionRange
Lists the value range associated with a ProductViewInputOption. For example, if the input option is a text field, the range represents the number of characters.
Fields
from - Floatto - FloatExample
{"from": 123.45, "to": 987.65}
ProductViewLink
The product link type. Contains details about product links for related products and cross selling. For example, related, up_sell or cross_sell
Fields
product - ProductView!linkTypes - [String!]!Example
{
"product": ProductView,
"linkTypes": ["xyz789"]
}
ProductViewMoney
Defines a monetary value, including a numeric value and a currency code.
Fields
currency - ProductViewCurrencyvalue - FloatExample
{"currency": "AED", "value": 123.45}
ProductViewOption
Product options provide a way to configure products by making selections of particular option values. Selecting one or many options will point to a simple product.
Fields
id - IDmulti - Booleanrequired - Booleantitle - Stringvalues - [ProductViewOptionValue!]Example
{
"id": "4",
"multi": true,
"required": true,
"title": "abc123",
"values": [ProductViewOptionValue]
}
ProductViewOptionValue
Defines the product fields available to the ProductViewOptionValueProduct and ProductViewOptionValueConfiguration types.
Fields
id - IDtitle - StringinStock - BooleanPossible Types
Example
{
"id": "4",
"title": "xyz789",
"inStock": true
}
ProductViewOptionValueConfiguration
An implementation of ProductViewOptionValue for configuration values.
Fields
id - IDtitle - StringinStock - BooleanExample
{
"id": 4,
"title": "xyz789",
"inStock": false
}
ProductViewOptionValueProduct
An implementation of ProductViewOptionValue that adds details about a simple product.
Fields
id - IDisDefault - Booleanproduct - SimpleProductViewquantity - Floattitle - StringinStock - BooleanExample
{
"id": "4",
"isDefault": true,
"product": SimpleProductView,
"quantity": 123.45,
"title": "xyz789",
"inStock": true
}
ProductViewOptionValueSwatch
An implementation of ProductViewOptionValueSwatch for swatches.
Fields
id - IDtitle - Stringtype - SwatchTypevalue - StringinStock - BooleanExample
{
"id": 4,
"title": "xyz789",
"type": "TEXT",
"value": "abc123",
"inStock": true
}
ProductViewPrice
Base product price view. Contains the final price after discounts, the regular price, and the list of tier prices.
Fields
final - Priceregular - Pricetiers - [ProductViewTierPrice]roles - [String]Example
{
"final": Price,
"regular": Price,
"tiers": [ProductViewTierPrice],
"roles": ["xyz789"]
}
ProductViewPriceRange
The minimum and maximum price of a complex product.
Fields
maximum - ProductViewPriceminimum - ProductViewPriceExample
{
"maximum": ProductViewPrice,
"minimum": ProductViewPrice
}
ProductViewTierCondition
Types
Example
ProductViewTierRangeCondition
ProductViewTierExactMatchCondition
Minimum quantity (inclusive) required to activate this tier price. For example, a value of 10 means this tier applies when 10 or more items are purchased.
Fields
in - [Float]Example
{"in": [987.65]}
ProductViewTierPrice
The discounted price that applies when the quantity conditions in quantity are satisfied. Contains the monetary amount and any price adjustments applied to this tier.
Fields
tier - Pricequantity - [ProductViewTierCondition!]!Example
{
"tier": Price,
"quantity": [ProductViewTierRangeCondition]
}
ProductViewTierRangeCondition
Minimum quantity (inclusive) required to activate this tier price. For example, a value of 10 means this tier applies when 10 or more items are purchased. Maximum quantity (exclusive) required to activate this tier price. For example, a value of 20 means this tier applies when less than 20 items are purchased.
Fields
gte - Floatlt - FloatExample
{"gte": 987.65, "lt": 987.65}
ProductViewVariant
Represents a product variant.
Fields
selections - [String!]product - ProductViewExample
{
"selections": ["abc123"],
"product": ProductView
}
ProductViewVariantResults
Represents the results of a product variant search.
Fields
variants - [ProductViewVariant]!cursor - StringExample
{
"variants": [ProductViewVariant],
"cursor": "xyz789"
}
ProductViewVideo
Contains details about a product video. For example, a video of the product being used or a video of the product being assembled.
Fields
preview - ProductViewImageurl - String!description - Stringtitle - StringExample
{
"preview": ProductViewImage,
"url": "xyz789",
"description": "abc123",
"title": "abc123"
}
PurchaseHistory
User purchase history
Input Fields
Example
{
"date": "2007-12-03T10:15:30Z",
"items": ["abc123"]
}
QueryContextInput
Input Fields
customerGroup - String!userViewHistory - [ViewHistoryInput!]Example
{
"customerGroup": "abc123",
"userViewHistory": [ViewHistoryInput]
}
RangeBucket
For use on numeric product fields
Fields
count - Int!from - Float!title - String!to - FloatExample
{
"count": 123,
"from": 987.65,
"title": "abc123",
"to": 123.45
}
RecommendationUnit
Recommendation Unit containing product and other details
Fields
displayOrder - IntpageType - StringproductsView - [ProductView]storefrontLabel - StringtotalProducts - InttypeId - StringunitId - StringunitName - StringExample
{
"displayOrder": 123,
"pageType": "xyz789",
"productsView": [ProductView],
"storefrontLabel": "abc123",
"totalProducts": 987,
"typeId": "abc123",
"unitId": "abc123",
"unitName": "abc123"
}
Recommendations
Recommendations response
Fields
results - [RecommendationUnit]totalResults - IntExample
{"results": [RecommendationUnit], "totalResults": 987}
ScalarBucket
For use on string and other scalar product fields
Fields
count - Int!id - ID!title - String!Example
{
"count": 123,
"id": "4",
"title": "xyz789"
}
SearchCategoryResultPage
Represents a paginated result set of category search results.
Fields
items - [CategoryTreeView!]!totalCount - Int!pageInfo - PageInfo!Example
{
"items": [CategoryTreeView],
"totalCount": 987,
"pageInfo": PageInfo
}
SearchClauseInput
A product attribute to filter on
Input Fields
attribute - String!contains - Stringeq - Stringin - [String]range - SearchRangeInputstartsWith - StringExample
{
"attribute": "abc123",
"contains": "abc123",
"eq": "xyz789",
"in": ["abc123"],
"range": SearchRangeInput,
"startsWith": "abc123"
}
SearchRangeInput
A range of numeric values for use in a search
Input Fields
from - Floatto - FloatExample
{"from": 987.65, "to": 987.65}
SearchResultPageInfo
Provides navigation for the query response.
Fields
current_page - Intpage_size - Inttotal_pages - IntExample
{"current_page": 987, "page_size": 987, "total_pages": 123}
SimpleProductView
Represents a single-SKU product without selectable variants. Because there are no variant combinations, pricing is returned as a single price (not a price range).
Fields
addToCartAllowed - BooleaninStock - BooleanlowStock - Booleanattributes - [ProductViewAttribute]description - Stringid - ID!images - [ProductViewImage]videos - [ProductViewVideo]inputOptions - [ProductViewInputOption]lastModifiedAt - DateTimemetaDescription - StringmetaKeyword - StringmetaTitle - Stringname - Stringprice - ProductViewPriceshortDescription - Stringsku - StringexternalId - Stringurl - StringurlKey - Stringlinks - [ProductViewLink]categories - [CategoryProductView!]queryType - Stringvisibility - StringExample
{
"addToCartAllowed": true,
"inStock": false,
"lowStock": false,
"attributes": [ProductViewAttribute],
"description": "xyz789",
"id": 4,
"images": [ProductViewImage],
"videos": [ProductViewVideo],
"inputOptions": [ProductViewInputOption],
"lastModifiedAt": "2007-12-03T10:15:30Z",
"metaDescription": "xyz789",
"metaKeyword": "abc123",
"metaTitle": "xyz789",
"name": "xyz789",
"price": ProductViewPrice,
"shortDescription": "xyz789",
"sku": "xyz789",
"externalId": "abc123",
"url": "abc123",
"urlKey": "xyz789",
"links": [ProductViewLink],
"categories": [CategoryProductView],
"queryType": "abc123",
"visibility": "xyz789"
}
SortEnum
Indicates whether to return results in ascending or descending order.
Values
ASCDESCExample
""ASC""
SortableAttribute
Contains product attributes that be used for sorting in a productSearch query
Fields
attribute - String!frontendInput - Stringlabel - Stringnumeric - BooleanExample
{
"attribute": "xyz789",
"frontendInput": "xyz789",
"label": "abc123",
"numeric": false
}
StatsBucket
For retrieving statistics across multiple buckets
Fields
max - Float!min - Float!title - String!Example
{
"max": 987.65,
"min": 987.65,
"title": "abc123"
}
String
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"
SwatchType
The type of the swatch.
Values
TEXTIMAGECOLOR_HEXCUSTOMExample
""TEXT""
ViewHistory
User view history
Input Fields
Example
{
"date": "2007-12-03T10:15:30Z",
"sku": "xyz789"
}
ViewHistoryInput
User view history
Input Fields
Example
{
"dateTime": "2007-12-03T10:15:30Z",
"sku": "abc123"
}