Merchandising GraphQL API
Use the Merchandising GraphQL API to access rich view-model (read-only) catalog data to build product-related storefront experiences. For more information about the API, see the developer documentation.
API Endpoints
https://na1-sandbox.api.commerce.adobe.com/{TENANT_ID}/graphql
Headers
# Required. Tenant ID for your Adobe Commerce Optimizer instance.
AC-Environment-Id: Fwus6kdpvYCmeEdcCX7PZg
# 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 to restrict product access based on request attributes.
AC-Policy-{*}: AC-Policy-Brand
Required Headers
All API requests must include the following headers:
- AC-Environment-Id: Tenant ID for your Commerce Optimizer instance
- AC-View-Id: View ID for catalog context
- AC-Source-Locale: Catalog source locale to filter products for display or update
- Content-Type: application/json
These headers ensure proper context for your API requests. See the server configuration below for example values.
Queries
attributeMetadata
Description
Return a list of product attribute codes that can be used for sorting or filtering in a productSearch query
Response
Returns an AttributeMetadataResponse!
Example
Query
query attributeMetadata {
attributeMetadata {
filterableInSearch {
...FilterableInSearchAttributeFragment
}
sortable {
...SortableAttributeFragment
}
}
}
Response
{
"data": {
"attributeMetadata": {
"filterableInSearch": [FilterableInSearchAttribute],
"sortable": [SortableAttribute]
}
}
}
categoryTree
Description
Retrieve hierarchical category data in a tree structure with parent-child relationships and level information.
Primary Use Case: RetailCMS applications requiring full category tree management.
Response
Returns [CategoryTreeView]
Arguments
| Name | Description |
|---|---|
family - String!
|
Required. The catalog family identifier that determines which catalog's categories to retrieve. Typically: Your store's catalog ID |
slugs - [String!]
|
Optional array of specific category slugs to retrieve. When Provided:
When Omitted: All categories in the specified family are returned Use Cases:
|
depth - Int
|
Optional maximum depth level to retrieve in the category tree structure. Depth Levels:
Benefits:
Default: All available levels are returned if omitted |
Example
Query
query categoryTree(
$family: String!,
$slugs: [String!],
$depth: Int
) {
categoryTree(
family: $family,
slugs: $slugs,
depth: $depth
) {
slug
name
level
parentSlug
childrenSlugs
}
}
Variables
{
"family": "abc123",
"slugs": ["abc123"],
"depth": 987
}
Response
{
"data": {
"categoryTree": [
{
"slug": "abc123",
"name": "abc123",
"level": 123,
"parentSlug": "xyz789",
"childrenSlugs": ["abc123"]
}
]
}
}
productSearch
Description
Search products using Live Search
Response
Returns a ProductSearchResponse!
Arguments
| Name | Description |
|---|---|
context - QueryContextInput
|
The query context |
current_page - Int
|
Specifies which page of results to return. The default value is 1. Default = 1 |
page_size - Int
|
The maximum number of results to return at once. Default = 20 |
phrase - String!
|
Phrase to search for in product catalog |
sort - [ProductSearchSortInput!]
|
Attributes and direction to sort on |
Example
Query
query productSearch(
$context: QueryContextInput,
$current_page: Int,
$page_size: Int,
$phrase: String!,
$sort: [ProductSearchSortInput!]
) {
productSearch(
context: $context,
current_page: $current_page,
page_size: $page_size,
phrase: $phrase,
sort: $sort
) {
facets {
...AggregationFragment
}
items {
...ProductSearchItemFragment
}
page_info {
...SearchResultPageInfoFragment
}
related_terms
suggestions
total_count
}
}
Variables
{
"context": QueryContextInput,
"current_page": 1,
"page_size": 20,
"phrase": "abc123",
"sort": [ProductSearchSortInput]
}
Response
{
"data": {
"productSearch": {
"facets": [Aggregation],
"items": [ProductSearchItem],
"page_info": SearchResultPageInfo,
"related_terms": ["xyz789"],
"suggestions": ["abc123"],
"total_count": 123
}
}
}
products
Description
Search for products that match the specified SKU values.
Response
Returns [ProductView]
Arguments
| Name | Description |
|---|---|
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
sku
externalId
url
urlKey
links {
...ProductViewLinkFragment
}
queryType
visibility
}
}
Variables
{"skus": ["abc123"]}
Response
{
"data": {
"products": [
{
"addToCartAllowed": true,
"inStock": true,
"lowStock": false,
"attributes": [ProductViewAttribute],
"description": "xyz789",
"id": 4,
"images": [ProductViewImage],
"videos": [ProductViewVideo],
"lastModifiedAt": "2007-12-03T10:15:30Z",
"metaDescription": "abc123",
"metaKeyword": "xyz789",
"metaTitle": "abc123",
"name": "abc123",
"shortDescription": "xyz789",
"sku": "abc123",
"externalId": "xyz789",
"url": "xyz789",
"urlKey": "abc123",
"links": [ProductViewLink],
"queryType": "xyz789",
"visibility": "abc123"
}
]
}
}
recommendations
Description
Get Recommendations
Response
Returns a Recommendations
Arguments
| Name | Description |
|---|---|
cartSkus - [String]
|
SKUs of products in the cart |
category - String
|
Category currently being viewed |
currentSku - String
|
SKU of the product currently being viewed on PDP |
pageType - PageType
|
Type of page on which recommendations are requested |
userPurchaseHistory - [PurchaseHistory]
|
User purchase history with timestamp |
userViewHistory - [ViewHistory]
|
User view history with timestamp |
config - UnitConfigInput
|
Optional unit configuration |
Example
Query
query recommendations(
$cartSkus: [String],
$category: String,
$currentSku: String,
$pageType: PageType,
$userPurchaseHistory: [PurchaseHistory],
$userViewHistory: [ViewHistory],
$config: UnitConfigInput
) {
recommendations(
cartSkus: $cartSkus,
category: $category,
currentSku: $currentSku,
pageType: $pageType,
userPurchaseHistory: $userPurchaseHistory,
userViewHistory: $userViewHistory,
config: $config
) {
results {
...RecommendationUnitFragment
}
totalResults
}
}
Variables
{
"cartSkus": ["abc123"],
"category": "abc123",
"currentSku": "abc123",
"pageType": "CMS",
"userPurchaseHistory": [PurchaseHistory],
"userViewHistory": [ViewHistory],
"config": UnitConfigInput
}
Response
{
"data": {
"recommendations": {
"results": [RecommendationUnit],
"totalResults": 987
}
}
}
recommendationsByUnitIds
Response
Returns a Recommendations
Arguments
| Name | Description |
|---|---|
unitIds - [String!]!
|
List unit IDs of preconfigured units |
currentSku - String
|
SKU of the product currently being viewed on PDP |
userPurchaseHistory - [PurchaseHistory]
|
User purchase history with timestamp |
userViewHistory - [ViewHistory]
|
User view history with timestamp |
cartSkus - [String]
|
SKUs of products in the cart |
Example
Query
query recommendationsByUnitIds(
$unitIds: [String!]!,
$currentSku: String,
$userPurchaseHistory: [PurchaseHistory],
$userViewHistory: [ViewHistory],
$cartSkus: [String]
) {
recommendationsByUnitIds(
unitIds: $unitIds,
currentSku: $currentSku,
userPurchaseHistory: $userPurchaseHistory,
userViewHistory: $userViewHistory,
cartSkus: $cartSkus
) {
results {
...RecommendationUnitFragment
}
totalResults
}
}
Variables
{
"unitIds": ["xyz789"],
"currentSku": "abc123",
"userPurchaseHistory": [PurchaseHistory],
"userViewHistory": [ViewHistory],
"cartSkus": ["xyz789"]
}
Response
{
"data": {
"recommendationsByUnitIds": {
"results": [RecommendationUnit],
"totalResults": 987
}
}
}
refineProduct
Response
Returns a ProductView
Arguments
| Name | Description |
|---|---|
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
sku
externalId
url
urlKey
links {
...ProductViewLinkFragment
}
queryType
visibility
}
}
Variables
{
"optionIds": ["abc123"],
"sku": "abc123"
}
Response
{
"data": {
"refineProduct": {
"addToCartAllowed": false,
"inStock": false,
"lowStock": false,
"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": "abc123",
"sku": "xyz789",
"externalId": "xyz789",
"url": "xyz789",
"urlKey": "abc123",
"links": [ProductViewLink],
"queryType": "xyz789",
"visibility": "xyz789"
}
}
}
variants
Response
Returns a ProductViewVariantResults
Example
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": "abc123",
"optionIds": ["abc123"],
"pageSize": 123,
"cursor": "xyz789"
}
Response
{
"data": {
"variants": {
"variants": [ProductViewVariant],
"cursor": "xyz789"
}
}
}
Types
Aggregation
Description
A bucket that contains information for each filterable option
Fields
| Field Name | Description |
|---|---|
attribute - String!
|
The attribute code of the filter item |
buckets - [Bucket]!
|
A container that divides the data into manageable groups. For example, attributes that can have numeric values might have buckets that define price ranges |
title - String!
|
The filter name displayed in layered navigation |
type - AggregationType
|
Identifies the data type of the aggregation |
Example
{
"attribute": "abc123",
"buckets": [Bucket],
"title": "xyz789",
"type": "INTELLIGENT"
}
AggregationType
Description
Identifies the data type of the aggregation
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"INTELLIGENT"
AppliedQueryRule
Description
The rule that was applied to this product
Fields
| Field Name | Description |
|---|---|
action_type - AppliedQueryRuleActionType
|
An enum that defines the type of rule that was applied |
rule_id - String
|
The ID assigned to the rule |
rule_name - String
|
The name of the applied rule |
Example
{
"action_type": "BOOST",
"rule_id": "xyz789",
"rule_name": "xyz789"
}
AppliedQueryRuleActionType
Description
The type of rule that was applied to a product during search (optional)
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"BOOST"
AttributeMetadataResponse
Description
Contains the output of the attributeMetadata query
Fields
| Field Name | Description |
|---|---|
filterableInSearch - [FilterableInSearchAttribute!]
|
An array of product attributes that can be used for filtering in a productSearch query |
sortable - [SortableAttribute!]
|
An array of product attributes that can be used for sorting in a productSearch query |
Example
{
"filterableInSearch": [FilterableInSearchAttribute],
"sortable": [SortableAttribute]
}
Boolean
Bucket
Description
An interface for bucket contents
Fields
| Field Name | Description |
|---|---|
title - String!
|
A human-readable name of a bucket |
Possible Types
| Bucket Types |
|---|
Example
{"title": "abc123"}
CategoryBucket
Description
New category bucket for federation
Example
{
"count": 987,
"id": "4",
"path": "xyz789",
"title": "xyz789"
}
CategoryBucketInterface
Fields
| Field Name | Description |
|---|---|
id - ID!
|
Possible Types
| CategoryBucketInterface Types |
|---|
Example
{"id": 4}
CategoryInterface
Description
Contains the full set of attributes that can be returned in a category search.
Fields
| Field Name | Description |
|---|---|
available_sort_by - [String]
|
|
canonical_url - String
|
The relative canonical URL. This value is returned only if the system setting 'Use Canonical Link Meta Tag For Categories' is enabled. |
children_count - String
|
|
custom_layout_update_file - String
|
|
default_sort_by - String
|
The attribute to use for sorting. |
description - String
|
An optional description of the category. |
display_mode - String
|
|
filter_price_range - Float
|
|
image - String
|
|
include_in_menu - Int
|
|
is_anchor - Int
|
|
landing_page - Int
|
|
level - Int
|
The depth of the category within the tree. |
meta_description - String
|
|
meta_keywords - String
|
|
meta_title - String
|
|
name - String
|
The display name of the category. |
path - String
|
The full category path. |
path_in_store - String
|
The category path within the store. |
position - Int
|
The position of the category relative to other categories at the same level in tree. |
product_count - Int
|
The number of products in the category that are marked as visible. By default, in complex products, parent products are visible, but their child products are not. |
uid - ID!
|
The unique ID for a CategoryInterface object. |
url_key - String
|
The URL key assigned to the category. |
url_path - String
|
The URL path assigned to the category. |
Example
{
"available_sort_by": ["xyz789"],
"canonical_url": "xyz789",
"children_count": "abc123",
"custom_layout_update_file": "xyz789",
"default_sort_by": "abc123",
"description": "abc123",
"display_mode": "xyz789",
"filter_price_range": 123.45,
"image": "xyz789",
"include_in_menu": 123,
"is_anchor": 987,
"landing_page": 123,
"level": 123,
"meta_description": "xyz789",
"meta_keywords": "abc123",
"meta_title": "abc123",
"name": "xyz789",
"path": "xyz789",
"path_in_store": "xyz789",
"position": 987,
"product_count": 123,
"uid": "4",
"url_key": "abc123",
"url_path": "abc123"
}
CategoryTreeView
Description
Represents a category in a hierarchical tree structure with comprehensive parent-child relationship metadata.
Key Features:
- Implements CategoryViewV2 interface
- Designed for RetailCMS applications
- Full category tree management capabilities
Provides:
- Level depth information
- Parent slug references
- Children slug collections
- Complete hierarchy metadata
Fields
| Field Name | Description |
|---|---|
slug - String!
|
The unique URL-friendly identifier for the category, used in routing and navigation. |
name - String!
|
The display name of the category as shown to customers in the storefront. |
level - Int
|
The hierarchical depth level of the category in the tree structure. Level Structure:
Used For: Tree traversal and hierarchy management in RetailCMS applications. |
parentSlug - String
|
The slug of the immediate parent category in the hierarchy. Values:
Common Uses:
|
childrenSlugs - [String]
|
Array of slugs for all direct child categories (immediate descendants only). Contains:
Benefits:
|
Example
{
"slug": "abc123",
"name": "xyz789",
"level": 987,
"parentSlug": "abc123",
"childrenSlugs": ["xyz789"]
}
CategoryView
Description
Old category bucket for federation
Fields
| Field Name | Description |
|---|---|
availableSortBy - [String]
|
|
children - [String!]
|
|
defaultSortBy - String
|
|
id - ID!
|
'CategoryView' is deprecated for use as a Bucket in 'productSearch' facet (to be removed after Sep 1, 2024). Use 'CategoryBucket' instead. |
level - Int
|
|
name - String
|
|
parentId - String!
|
|
path - String
|
'CategoryView' is deprecated for use as a Bucket in 'productSearch' facet (to be removed after Sep 1, 2024). Use 'CategoryBucket' instead. |
roles - [String!]!
|
|
urlKey - String
|
|
urlPath - String
|
|
count - Int!
|
'CategoryView' is deprecated for use as a Bucket in 'productSearch' facet (to be removed after Sep 1, 2024). Use 'CategoryBucket' instead. |
title - String!
|
'CategoryView' is deprecated for use as a Bucket in 'productSearch' facet (to be removed after Sep 1, 2024). Use 'CategoryBucket' instead. |
Example
{
"availableSortBy": ["abc123"],
"children": ["abc123"],
"defaultSortBy": "abc123",
"id": "4",
"level": 123,
"name": "abc123",
"parentId": "abc123",
"path": "xyz789",
"roles": ["abc123"],
"urlKey": "abc123",
"urlPath": "xyz789",
"count": 123,
"title": "xyz789"
}
CategoryViewInterface
Fields
| Field Name | Description |
|---|---|
availableSortBy - [String]
|
|
defaultSortBy - String
|
|
id - ID!
|
'CategoryView' is deprecated for use as a Bucket in 'productSearch' facet (to be removed after Sep 1, 2024). Use 'CategoryBucket' instead. |
level - Int
|
|
name - String
|
|
path - String
|
|
roles - [String]
|
|
urlKey - String
|
|
urlPath - String
|
Possible Types
| CategoryViewInterface Types |
|---|
Example
{
"availableSortBy": ["abc123"],
"defaultSortBy": "xyz789",
"id": 4,
"level": 123,
"name": "abc123",
"path": "xyz789",
"roles": ["xyz789"],
"urlKey": "xyz789",
"urlPath": "abc123"
}
CategoryViewV2
Description
Lightweight base interface for category view models designed for storefront APIs without backward compatibility constraints.
Design Principles:
- Minimal essential properties (slug and name only)
- Optimal performance for storefront use cases
- No coupling with search facets
Replaces: The heavyweight CategoryView interface
Implemented By:
- CategoryNavigationView (menu rendering)
- CategoryTreeView (hierarchy management)
Fields
| Field Name | Description |
|---|---|
slug - String!
|
The unique URL-friendly identifier for the category, used in routing and navigation. |
name - String!
|
The display name of the category as shown to customers in the storefront. |
Possible Types
| CategoryViewV2 Types |
|---|
Example
{
"slug": "xyz789",
"name": "abc123"
}
ComplexProductView
Description
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
| Field Name | Description |
|---|---|
addToCartAllowed - Boolean
|
A flag stating if the product can be added to cart This field is deprecated and will be removed. |
inStock - Boolean
|
A flag stating if the product is in stock This field is deprecated and will be removed. |
lowStock - Boolean
|
A flag stating if the product stock is low This field is deprecated and will be removed. |
attributes - [ProductViewAttribute]
|
A list of merchant-defined attributes designated for the storefront. |
Arguments
|
|
description - String
|
The detailed description of the product. |
id - ID!
|
The product ID, generated as a composite key, unique per locale. |
images - [ProductViewImage]
|
A list of images defined for the product. |
Arguments
|
|
videos - [ProductViewVideo]
|
A list of videos defined for the product. |
lastModifiedAt - DateTime
|
Date and time when the product was last updated. |
metaDescription - String
|
A brief overview of the product for search results listings. |
metaKeyword - String
|
A comma-separated list of keywords that are visible only to search engines. |
metaTitle - String
|
A string that is displayed in the title bar and tab of the browser and in search results lists. |
name - String
|
Product name. |
options - [ProductViewOption]
|
A list of selectable options. |
priceRange - ProductViewPriceRange
|
A range of possible prices for a complex product. |
shortDescription - String
|
A summary of the product. |
sku - String
|
Product SKU. |
externalId - String
|
External Id This field is deprecated and will be removed. |
url - String
|
Canonical URL of the product. This field is deprecated and will be removed. |
urlKey - String
|
The URL key of the product. |
links - [ProductViewLink]
|
A list of product links |
Arguments
|
|
queryType - String
|
Indicates if the product was retrieved from the primary or the backup query |
visibility - String
|
Visibility setting of the product |
Example
{
"addToCartAllowed": true,
"inStock": false,
"lowStock": true,
"attributes": [ProductViewAttribute],
"description": "xyz789",
"id": "4",
"images": [ProductViewImage],
"videos": [ProductViewVideo],
"lastModifiedAt": "2007-12-03T10:15:30Z",
"metaDescription": "xyz789",
"metaKeyword": "abc123",
"metaTitle": "abc123",
"name": "xyz789",
"options": [ProductViewOption],
"priceRange": ProductViewPriceRange,
"shortDescription": "xyz789",
"sku": "xyz789",
"externalId": "xyz789",
"url": "xyz789",
"urlKey": "xyz789",
"links": [ProductViewLink],
"queryType": "xyz789",
"visibility": "xyz789"
}
ConditionInput
Fields
| Input Field | Description |
|---|---|
field - Field
|
|
operator - OperatorInput
|
|
enabled - Boolean
|
Example
{
"field": "UNKNOWN_FIELD",
"operator": OperatorInput,
"enabled": true
}
CustomOperatorInput
Fields
| Input Field | Description |
|---|---|
type - CustomOperatorType
|
|
value - [String]
|
Example
{
"type": "UNKNOWN_CUSTOMOPERATOR_TYPE",
"value": ["xyz789"]
}
CustomOperatorType
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"UNKNOWN_CUSTOMOPERATOR_TYPE"
DateTime
Field
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"UNKNOWN_FIELD"
FilterRuleInput
Fields
| Input Field | Description |
|---|---|
name - String
|
|
type - FilterRuleType
|
|
conditions - [ConditionInput]
|
Example
{
"name": "xyz789",
"type": "UNKNOWN_FILTER_RULE_TYPE",
"conditions": [ConditionInput]
}
FilterRuleType
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"UNKNOWN_FILTER_RULE_TYPE"
FilterableInSearchAttribute
Description
Contains product attributes that can be used for filtering in a productSearch query
Fields
| Field Name | Description |
|---|---|
attribute - String!
|
The unique identifier for an attribute code. This value should be in lowercase letters and without spaces |
frontendInput - String
|
Indicates how field rendered on storefront |
label - String
|
The display name assigned to the attribute |
numeric - Boolean
|
Indicates whether this attribute has a numeric value, such as a price or integer |
Example
{
"attribute": "abc123",
"frontendInput": "abc123",
"label": "xyz789",
"numeric": false
}
Float
Description
The Float scalar type represents signed double-precision fractional values as specified by IEEE 754.
Example
123.45
Highlight
Description
An object that provides highlighted text for matched words
Example
{
"attribute": "abc123",
"matched_words": ["xyz789"],
"value": "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
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
IsOperatorInput
Fields
| Input Field | Description |
|---|---|
type - IsOperatorType
|
|
value - Boolean
|
Example
{"type": "UNKNOWN_ISOPERATOR_TYPE", "value": true}
IsOperatorType
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"UNKNOWN_ISOPERATOR_TYPE"
JSON
MediaGalleryInterface
Description
Contains basic information about a product image or video.
Example
{
"disabled": false,
"label": "abc123",
"position": 123,
"url": "abc123"
}
NumericOperatorInput
Fields
| Input Field | Description |
|---|---|
type - NumericOperatorType
|
Example
{"type": "UNKNOWN_NUMERIC_OPERATOR"}
NumericOperatorType
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"UNKNOWN_NUMERIC_OPERATOR"
OperatorInput
Fields
| Input Field | Description |
|---|---|
rangeOperator - RangeOperatorInput
|
|
customOperator - CustomOperatorInput
|
|
isOperator - IsOperatorInput
|
|
numericOperator - NumericOperatorInput
|
|
stringOperator - StringOperatorInput
|
Example
{
"rangeOperator": RangeOperatorInput,
"customOperator": CustomOperatorInput,
"isOperator": IsOperatorInput,
"numericOperator": NumericOperatorInput,
"stringOperator": StringOperatorInput
}
PageType
Description
Type of page on which recommendations are requested
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
This field is deprecated and will be removed. |
|
|
|
|
|
|
|
|
Example
"CMS"
Price
Description
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
| Field Name | Description |
|---|---|
adjustments - [PriceAdjustment]
|
A list of price adjustments. |
amount - ProductViewMoney
|
Contains the monetary value and currency code of a product. |
Example
{
"adjustments": [PriceAdjustment],
"amount": ProductViewMoney
}
PriceAdjustment
Description
Specifies the amount and type of price adjustment.
Example
{"amount": 123.45, "code": "abc123"}
ProductInterface
Description
Contains fields that are common to all types of products.
Fields
| Field Name | Description |
|---|---|
canonical_url - String
|
The relative canonical URL. This value is returned only if the system setting 'Use Canonical Link Meta Tag For Products' is enabled. |
categories - [CategoryInterface]
|
The categories assigned to a product. |
country_of_manufacture - String
|
The product's country of origin. |
crosssell_products - [ProductInterface]
|
Crosssell Products |
gift_message_available - Boolean!
|
Returns a value indicating gift message availability for the product. |
gift_wrapping_available - Boolean!
|
Returns a value indicating gift wrapping availability for the product. |
is_returnable - String
|
Indicates whether the product can be returned. |
manufacturer - Int
|
A number representing the product's manufacturer. |
max_sale_qty - Float
|
Maximum Qty Allowed in Shopping Cart |
media_gallery - [MediaGalleryInterface]
|
An array of media gallery objects. |
meta_description - String
|
A brief overview of the product for search results listings, maximum 255 characters. |
meta_keyword - String
|
A comma-separated list of keywords that are visible only to search engines. |
meta_title - String
|
A string that is displayed in the title bar and tab of the browser and in search results lists. |
min_sale_qty - Float
|
Minimum Qty Allowed in Shopping Cart |
name - String
|
The product name. Customers use this name to identify the product. |
new_from_date - String
|
The beginning date for new product listings, and determines if the product is featured as a new product. |
new_to_date - String
|
The end date for new product listings. |
only_x_left_in_stock - Float
|
Product stock only x left count |
options_container - String
|
If the product has multiple options, determines where they appear on the product page. |
product_links - [ProductLinksInterface]
|
An array of ProductLinks objects. |
quantity - Float
|
Quantity of available stock |
related_products - [ProductInterface]
|
An array of products to be displayed in a Related Products block. |
sku - String
|
A number or code assigned to a product to identify the product, options, price, and manufacturer. |
special_price - Float
|
The discounted price of the product. |
special_to_date - String
|
The end date for a product with a special price. |
swatch_image - String
|
The file name of a swatch image. |
uid - ID!
|
The unique ID for a ProductInterface object. |
upsell_products - [ProductInterface]
|
Upsell Products |
url_key - String
|
The part of the URL that identifies the product |
Example
{
"canonical_url": "xyz789",
"categories": [CategoryInterface],
"country_of_manufacture": "abc123",
"crosssell_products": [ProductInterface],
"gift_message_available": true,
"gift_wrapping_available": true,
"is_returnable": "xyz789",
"manufacturer": 987,
"max_sale_qty": 123.45,
"media_gallery": [MediaGalleryInterface],
"meta_description": "abc123",
"meta_keyword": "abc123",
"meta_title": "xyz789",
"min_sale_qty": 123.45,
"name": "xyz789",
"new_from_date": "xyz789",
"new_to_date": "abc123",
"only_x_left_in_stock": 987.65,
"options_container": "xyz789",
"product_links": [ProductLinksInterface],
"quantity": 123.45,
"related_products": [ProductInterface],
"sku": "abc123",
"special_price": 987.65,
"special_to_date": "abc123",
"swatch_image": "abc123",
"uid": "4",
"upsell_products": [ProductInterface],
"url_key": "xyz789"
}
ProductLinksInterface
Description
Contains information about linked products, including the link type and product type of each item.
Fields
| Field Name | Description |
|---|---|
link_type - String
|
One of related, associated, upsell, or crosssell. |
linked_product_sku - String
|
The SKU of the linked product. |
linked_product_type - String
|
The type of linked product (simple, virtual, bundle, downloadable, grouped, configurable). |
position - Int
|
The position within the list of product links. |
sku - String
|
The identifier of the linked product. |
Example
{
"link_type": "xyz789",
"linked_product_sku": "abc123",
"linked_product_type": "xyz789",
"position": 987,
"sku": "abc123"
}
ProductSearchItem
Description
A single product returned by the query
Fields
| Field Name | Description |
|---|---|
applied_query_rule - AppliedQueryRule
|
The query rule type that was applied to this product, if any (in preview mode only, returns null otherwise) |
highlights - [Highlight]
|
An object that provides highlighted text for matched words |
productView - ProductView
|
Contains a product view |
Example
{
"applied_query_rule": AppliedQueryRule,
"highlights": [Highlight],
"productView": ProductView
}
ProductSearchResponse
Description
Contains the output of a productSearch query
Fields
| Field Name | Description |
|---|---|
facets - [Aggregation]
|
Details about the static and dynamic facets relevant to the search |
items - [ProductSearchItem]
|
An array of products returned by the query |
page_info - SearchResultPageInfo
|
Information for rendering pages of search results |
related_terms - [String]
|
An array of strings that might include merchant-defined synonyms |
suggestions - [String]
|
An array of strings that include the names of products and categories that exist in the catalog that are similar to the search query |
total_count - Int
|
The total number of products returned that matched the query |
Example
{
"facets": [Aggregation],
"items": [ProductSearchItem],
"page_info": SearchResultPageInfo,
"related_terms": ["xyz789"],
"suggestions": ["abc123"],
"total_count": 987
}
ProductSearchSortInput
Description
The product attribute to sort on
Fields
| Input Field | Description |
|---|---|
attribute - String!
|
The attribute code of a product attribute |
Example
{"attribute": "xyz789"}
ProductView
Description
Defines the product fields available to the SimpleProductView and ComplexProductView types.
Fields
| Field Name | Description |
|---|---|
addToCartAllowed - Boolean
|
A flag stating if the product can be added to cart This field is deprecated and will be removed. |
inStock - Boolean
|
A flag stating if the product is in stock This field is deprecated and will be removed. |
lowStock - Boolean
|
A flag stating if the product stock is low This field is deprecated and will be removed. |
attributes - [ProductViewAttribute]
|
A list of merchant-defined attributes designated for the storefront. |
Arguments
|
|
description - String
|
The detailed description of the product. |
id - ID!
|
The product ID, generated as a composite key, unique per locale. |
images - [ProductViewImage]
|
A list of images defined for the product. |
Arguments
|
|
videos - [ProductViewVideo]
|
A list of videos defined for the product. |
lastModifiedAt - DateTime
|
Date and time when the product was last updated. |
metaDescription - String
|
A brief overview of the product for search results listings. |
metaKeyword - String
|
A comma-separated list of keywords that are visible only to search engines. |
metaTitle - String
|
A string that is displayed in the title bar and tab of the browser and in search results lists. |
name - String
|
Product name. |
shortDescription - String
|
A summary of the product. |
sku - String
|
Product SKU. |
externalId - String
|
External Id This field is deprecated and will be removed. |
url - String
|
Canonical URL of the product. This field is deprecated and will be removed. |
urlKey - String
|
The URL key of the product. |
links - [ProductViewLink]
|
A list of product links. |
Arguments
|
|
queryType - String
|
Indicates if the product was retrieved from the primary or the backup query |
visibility - String
|
Visibility setting of the product |
Possible Types
| ProductView Types |
|---|
Example
{
"addToCartAllowed": false,
"inStock": true,
"lowStock": false,
"attributes": [ProductViewAttribute],
"description": "abc123",
"id": "4",
"images": [ProductViewImage],
"videos": [ProductViewVideo],
"lastModifiedAt": "2007-12-03T10:15:30Z",
"metaDescription": "xyz789",
"metaKeyword": "xyz789",
"metaTitle": "abc123",
"name": "abc123",
"shortDescription": "xyz789",
"sku": "abc123",
"externalId": "xyz789",
"url": "xyz789",
"urlKey": "xyz789",
"links": [ProductViewLink],
"queryType": "abc123",
"visibility": "xyz789"
}
ProductViewAttribute
Description
A container for customer-defined attributes that are displayed the storefront.
Example
{
"label": "abc123",
"name": "abc123",
"roles": ["abc123"],
"value": {}
}
ProductViewCurrency
Description
The list of supported currency codes.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"AED"
ProductViewImage
Description
Contains details about a product image.
Example
{
"label": "abc123",
"roles": ["xyz789"],
"url": "xyz789"
}
ProductViewLink
Description
The product link type.
Fields
| Field Name | Description |
|---|---|
product - ProductView!
|
Contains the details of the product found in the link. |
linkTypes - [String!]!
|
Stores the types of the links with this product. |
Example
{
"product": ProductView,
"linkTypes": ["abc123"]
}
ProductViewMoney
Description
Defines a monetary value, including a numeric value and a currency code.
Fields
| Field Name | Description |
|---|---|
currency - ProductViewCurrency
|
A three-letter currency code, such as USD or EUR. |
value - Float
|
A number expressing a monetary value. |
Example
{"currency": "AED", "value": 987.65}
ProductViewOption
Description
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
| Field Name | Description |
|---|---|
id - ID
|
The ID of the option. |
multi - Boolean
|
Indicates whether the option allows multiple choices. |
required - Boolean
|
Indicates whether the option must be selected. |
title - String
|
The display name of the option. |
values - [ProductViewOptionValue!]
|
List of available option values. |
Example
{
"id": 4,
"multi": true,
"required": true,
"title": "abc123",
"values": [ProductViewOptionValue]
}
ProductViewOptionValue
Description
Defines the product fields available to the ProductViewOptionValueProduct and ProductViewOptionValueConfiguration types.
Fields
| Field Name | Description |
|---|---|
id - ID
|
The ID of an option value. |
title - String
|
The display name of the option value. |
inStock - Boolean
|
Indicates if the option is in stock. |
Possible Types
| ProductViewOptionValue Types |
|---|
Example
{
"id": 4,
"title": "abc123",
"inStock": true
}
ProductViewOptionValueConfiguration
Description
An implementation of ProductViewOptionValue for configuration values.
Example
{
"id": "4",
"title": "xyz789",
"inStock": true
}
ProductViewOptionValueProduct
Description
An implementation of ProductViewOptionValue that adds details about a simple product.
Fields
| Field Name | Description |
|---|---|
id - ID
|
The ID of an option value. |
isDefault - Boolean
|
States if the option value is default or not. |
product - SimpleProductView
|
Details about a simple product. |
quantity - Float
|
Default quantity of an option value. |
title - String
|
The display name of the option value. |
inStock - Boolean
|
Indicates if the option is in stock. |
Example
{
"id": "4",
"isDefault": true,
"product": SimpleProductView,
"quantity": 987.65,
"title": "abc123",
"inStock": false
}
ProductViewOptionValueSwatch
Description
An implementation of ProductViewOptionValueSwatch for swatches.
Fields
| Field Name | Description |
|---|---|
id - ID
|
The ID of an option value. |
title - String
|
The display name of the option value. |
type - SwatchType
|
Indicates the type of the swatch. |
value - String
|
The value of the swatch depending on the type of the swatch. |
inStock - Boolean
|
Indicates if the option is in stock. |
Example
{
"id": "4",
"title": "abc123",
"type": "TEXT",
"value": "xyz789",
"inStock": false
}
ProductViewPrice
Description
Base product price view, inherent for simple products.
Fields
| Field Name | Description |
|---|---|
final - Price
|
Price value after discounts, excluding personalized promotions. |
regular - Price
|
Base product price specified by the merchant. |
tiers - [ProductViewTierPrice]
|
Volume based pricing |
roles - [String]
|
Price roles, stating if the price should be visible or hidden. |
Example
{
"final": Price,
"regular": Price,
"tiers": [ProductViewTierPrice],
"roles": ["xyz789"]
}
ProductViewPriceRange
Description
The minimum and maximum price of a complex product.
Fields
| Field Name | Description |
|---|---|
maximum - ProductViewPrice
|
Maximum price. |
minimum - ProductViewPrice
|
Minimum price. |
Example
{
"maximum": ProductViewPrice,
"minimum": ProductViewPrice
}
ProductViewTierCondition
ProductViewTierExactMatchCondition
ProductViewTierPrice
Fields
| Field Name | Description |
|---|---|
tier - Price
|
Volume based price |
quantity - [ProductViewTierCondition!]!
|
Condition to active price |
Example
{
"tier": Price,
"quantity": [ProductViewTierRangeCondition]
}
ProductViewTierRangeCondition
Example
{"gte": 987.65, "lt": 123.45}
ProductViewVariant
Fields
| Field Name | Description |
|---|---|
selections - [String!]
|
List of option values that make up the variant. |
product - ProductView
|
Product corresponding to the variant. |
Example
{
"selections": ["xyz789"],
"product": ProductView
}
ProductViewVariantResults
Fields
| Field Name | Description |
|---|---|
variants - [ProductViewVariant]!
|
List of product variants. |
cursor - String
|
Pagination cursor |
Example
{
"variants": [ProductViewVariant],
"cursor": "abc123"
}
ProductViewVideo
Description
Contains details about a product video
Fields
| Field Name | Description |
|---|---|
preview - ProductViewImage
|
Preview image for the video |
url - String!
|
The URL to the product video. |
description - String
|
Description of the product video. |
title - String
|
The title of the product video. |
Example
{
"preview": ProductViewImage,
"url": "xyz789",
"description": "abc123",
"title": "xyz789"
}
PurchaseHistory
Example
{
"date": "2007-12-03T10:15:30Z",
"items": ["xyz789"]
}
QueryContextInput
Fields
| Input Field | Description |
|---|---|
customerGroup - String!
|
The customer group code. Field reserved for future use. Currently, passing this field will have no impact on search results, that is, the search results will be for "Not logged in" customer |
Example
{"customerGroup": "xyz789"}
RangeBucket
Description
For use on numeric product fields
Example
{
"count": 123,
"from": 987.65,
"title": "abc123",
"to": 123.45
}
RangeOperatorInput
Fields
| Input Field | Description |
|---|---|
type - RangeType
|
|
value - RangeValueInput
|
Example
{"type": "UNKNOWN_RANGE_TYPE", "value": RangeValueInput}
RangeType
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"UNKNOWN_RANGE_TYPE"
RangeValueInput
Example
{"from": 987.65, "to": 987.65}
RecommendationUnit
Description
Recommendation Unit containing product and other details
Fields
| Field Name | Description |
|---|---|
displayOrder - Int
|
Order in which recommendation units are displayed |
pageType - String
|
Page type |
productsView - [ProductView]
|
List of product view |
storefrontLabel - String
|
Storefront label to be displayed on the storefront |
totalProducts - Int
|
Total products returned in recommedations |
typeId - String
|
Type of recommendation |
unitId - String
|
Id of the preconfigured unit |
unitName - String
|
Name of the preconfigured unit |
Example
{
"displayOrder": 987,
"pageType": "xyz789",
"productsView": [ProductView],
"storefrontLabel": "abc123",
"totalProducts": 123,
"typeId": "xyz789",
"unitId": "abc123",
"unitName": "abc123"
}
Recommendations
Description
Recommendations response
Fields
| Field Name | Description |
|---|---|
results - [RecommendationUnit]
|
List of rec units with products recommended |
totalResults - Int
|
total number of rec units for which recommendations are returned |
Example
{"results": [RecommendationUnit], "totalResults": 123}
ScalarBucket
Description
For use on string and other scalar product fields
Example
{
"count": 123,
"id": "4",
"title": "abc123"
}
SearchResultPageInfo
Description
Provides navigation for the query response.
Example
{"current_page": 123, "page_size": 987, "total_pages": 123}
SimpleProductView
Description
Represents simple products. Simple product prices do not contain price ranges.
Fields
| Field Name | Description |
|---|---|
addToCartAllowed - Boolean
|
A flag stating if the product can be added to cart This field is deprecated and will be removed. |
inStock - Boolean
|
A flag stating if the product is in stock This field is deprecated and will be removed. |
lowStock - Boolean
|
A flag stating if the product stock is low This field is deprecated and will be removed. |
attributes - [ProductViewAttribute]
|
A list of merchant-defined attributes designated for the storefront. |
Arguments
|
|
description - String
|
The detailed description of the product. |
id - ID!
|
The product ID, generated as a composite key, unique per locale. |
images - [ProductViewImage]
|
A list of images defined for the product. |
Arguments
|
|
videos - [ProductViewVideo]
|
A list of videos defined for the product. |
lastModifiedAt - DateTime
|
Date and time when the product was last updated. |
metaDescription - String
|
A brief overview of the product for search results listings. |
metaKeyword - String
|
A comma-separated list of keywords that are visible only to search engines. |
metaTitle - String
|
A string that is displayed in the title bar and tab of the browser and in search results lists. |
name - String
|
Product name. |
price - ProductViewPrice
|
Base product price view. |
shortDescription - String
|
A summary of the product. |
sku - String
|
Product SKU. |
externalId - String
|
External Id This field is deprecated and will be removed. |
url - String
|
Canonical URL of the product. This field is deprecated and will be removed. |
urlKey - String
|
The URL key of the product. |
links - [ProductViewLink]
|
A list of product links |
Arguments
|
|
queryType - String
|
Indicates if the product was retrieved from the primary or the backup query |
visibility - String
|
Visibility setting of the product |
Example
{
"addToCartAllowed": true,
"inStock": true,
"lowStock": false,
"attributes": [ProductViewAttribute],
"description": "abc123",
"id": 4,
"images": [ProductViewImage],
"videos": [ProductViewVideo],
"lastModifiedAt": "2007-12-03T10:15:30Z",
"metaDescription": "xyz789",
"metaKeyword": "abc123",
"metaTitle": "abc123",
"name": "abc123",
"price": ProductViewPrice,
"shortDescription": "xyz789",
"sku": "xyz789",
"externalId": "xyz789",
"url": "abc123",
"urlKey": "abc123",
"links": [ProductViewLink],
"queryType": "abc123",
"visibility": "xyz789"
}
SortableAttribute
Description
Contains product attributes that be used for sorting in a productSearch query
Fields
| Field Name | Description |
|---|---|
attribute - String!
|
The unique identifier for an attribute code. This value should be in lowercase letters and without space |
frontendInput - String
|
Indicates how field rendered on storefront |
label - String
|
The display name assigned to the attribute |
numeric - Boolean
|
Indicates whether this attribute has a numeric value, such as a price or integer |
Example
{
"attribute": "xyz789",
"frontendInput": "abc123",
"label": "xyz789",
"numeric": true
}
StatsBucket
Description
For retrieving statistics across multiple buckets
Example
{
"max": 123.45,
"min": 987.65,
"title": "abc123"
}
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"
StringOperatorInput
Fields
| Input Field | Description |
|---|---|
type - StringOperatorType
|
Example
{"type": "UNKNOWN_STRING_OPERATOR"}
StringOperatorType
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"UNKNOWN_STRING_OPERATOR"
SwatchType
UnitConfigInput
Example
{
"unitName": "xyz789",
"storefrontLabel": "abc123",
"pagePlacement": "xyz789",
"displayNumber": 123,
"pageType": "abc123",
"unitStatus": "xyz789",
"typeId": "xyz789",
"filterRules": [FilterRuleInput]
}
ViewHistory
Example
{
"date": "2007-12-03T10:15:30Z",
"sku": "xyz789"
}