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:

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

Name
Description
family - String
The product family to retrieve the category tree for. Ex: clothing, electronics, books
slugs - [String!]
The slugs of the categories to retrieve the category tree for. Ex: men/clothing/shorts
depth - Int
The depth of the category tree to retrieve. When used without an initial slug, it will specify the maximum level allowed for a category. When used with a starting slug, it specifies depth from that slug, counting the slug itself as level 1.

Example

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"]
      }
    ]
  }
}

Retrieves the navigation tree for a given product family.

Response: [CategoryNavigationView]

Arguments

Name
Description
family - String!
The product family to retrieve the navigation tree for. For example, clothing, electronics or books

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

Name
Description
context - QueryContextInput
The query context
current_page - Int
Specifies which page of results to return. The default value is 1 Default: 1
filter - [SearchClauseInput!]
Identifies product attributes and conditions to filter on
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,
  $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

Name
Description
skus - [String]
List of SKUs to search for. For example, `123`, `456` or `789`.

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

Name
Description
unitIds - [String!]!
List unit IDs of preconfigured units
currentSku - String
SKU of the product currently being viewed on PDP
currentProduct - CurrentProductInput
Current product context from PDP (SKU, price, category, etc.)
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,
  $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

Name
Description
optionIds - [String!]!
List of option IDs to refine the product by. For example, `123`, `456` or `789`.
sku - String!
SKU of the product to refine. For example, `RF903`, `DG90-54` or `789-001`.

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

Name
Description
searchTerm - String!
The search term to match against category names.
family - String
Optional product family filter to limit search results. For example, clothing, electronics or books.
pageSize - Int
The number of results to return per page (default: 20). Default: 20
currentPage - Int
The page number to retrieve (1-based indexing, default: 1). Default: 1

Example

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

Name
Description
sku - String!
SKU of the product to get variants for. For example, `UR123`, `MZ456` or `KS789`.
optionIds - [String!]
List of option IDs to get variants for. For example, `123`, `456` or `789`.
pageSize - Int
Page size for pagination. For example, `10` for a page size of 10 or `20` for a page size of 20.
cursor - String
Pagination cursor. For example, `123` for the first variant, `456` for the second variant.

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": "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

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": "abc123",
  "type": "INTELLIGENT"
}

AggregationType

Identifies the data type of the aggregation

Values

Enum Value
Description
INTELLIGENT
PINNED
POPULAR

Example

""INTELLIGENT""

AppliedQueryRule

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": "abc123",
  "rule_name": "abc123"
}

AppliedQueryRuleActionType

The type of rule that was applied to a product during search (optional)

Values

Enum Value
Description
BOOST
BURY
PIN

Example

""BOOST""

AttributeMetadataResponse

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

The Boolean scalar type represents true or false.

Bucket

An interface for bucket contents

Fields

Field Name
Description
title - String!
A human-readable name of a bucket

Possible Types

Example

{"title": "xyz789"}

CategoryBucket

New category bucket for federation

Fields

Field Name
Description
count - Int!
id - ID!
path - String!
title - String!

Example

{
  "count": 123,
  "id": "4",
  "path": "xyz789",
  "title": "abc123"
}

CategoryBucketInterface

Fields

Field Name
Description
id - ID!

Possible Types

CategoryBucketInterface Types
CategoryBucket

Example

{"id": "4"}

CategoryImage

Represents an image associated with a category.

Fields

Field Name
Description
url - String!
The URL where the image is hosted.
label - String
A descriptive label or alt text for the image.
roles - [String]
Standard predefined roles for the image.
customRoles - [String]
Custom roles specific to the implementation.

Example

{
  "url": "abc123",
  "label": "abc123",
  "roles": ["abc123"],
  "customRoles": ["xyz789"]
}

CategoryMetaTags

SEO metadata tags for the category.

Fields

Field Name
Description
title - String
The page title for SEO purposes.
description - String
The meta description for SEO purposes.
keywords - [String]
Keywords associated with the category for SEO.

Example

{
  "title": "xyz789",
  "description": "xyz789",
  "keywords": ["xyz789"]
}

CategoryNavigationView

Represents a category optimized for navigation menus, with nested children for building navigation trees.

Fields

Field Name
Description
slug - String!
The unique URL-friendly identifier for the category.
name - String!
Category name. For example, `Electronics`, `Clothing` or `Books`.
children - [CategoryNavigationView]
The direct child categories for building nested navigation menus.

Example

{
  "slug": "abc123",
  "name": "abc123",
  "children": [CategoryNavigationView]
}

CategoryProductView

Represents category information associated with a product, including hierarchical parent relationships.

Fields

Field Name
Description
name - String!
Category name. For example, `Electronics`, `Clothing` or `Books`.
slug - String!
The unique URL-friendly identifier for the category.
level - Int!
The level of the category. The root category is a level 1 category. For example, men -> level 1, men/clothing -> level 2, men/clothing/shorts -> level 3
parents - [CategoryProductView!]
The ancestor categories in the hierarchy, ordered from root to immediate parent.

Example

{
  "name": "xyz789",
  "slug": "xyz789",
  "level": 987,
  "parents": [CategoryProductView]
}

CategoryTreeView

Represents a category within a hierarchical tree structure, including parent and children relationships.

Fields

Field Name
Description
slug - String!
The unique URL-friendly identifier for the category.
name - String!
Category name. For example, `Electronics`, `Clothing` or `Books`.
description - String
A detailed description of the category.
metaTags - CategoryMetaTags
SEO metadata tags for the category.
images - [CategoryImage]
Visual images associated with the category.
level - Int
The root category is a level 1 category. For example, men -> level 1, men/clothing -> level 2, men/clothing/shorts -> level 3
parentSlug - String
The slug of the parent category, if any.
childrenSlugs - [String]
The slugs of all direct child categories. Ex: men/clothing/shorts -> [men/clothing/shorts/athletic, men/clothing/shorts/swimwear]

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

Field Name
Description
availableSortBy - [String]
List of available sort by options. For example, `name`, `position` or `size`.
children - [String!]
List of child category IDs. For example, `123`, `456` or `789`.
defaultSortBy - String
Default sort by option. For example, `name`, `position` or `size`.
id - ID!
Category ID. For example, `123`, `456` or `789`. (Deprecated: 'CategoryView' is deprecated for use as a Bucket in 'productSearch' facet (to be removed after Sep 1, 2024). Use 'CategoryBucket' instead.)
level - Int
The level of the category. The root category is a level 1 category. For example, men -> level 1, men/clothing -> level 2, men/clothing/shorts -> level 3
name - String
Category name. For example, `Electronics`, `Clothing` or `Books`.
parentId - String!
Parent category ID. For example, `123`, `456` or `789`.
position - Int
The position of the category in sort order. For example, `1`, `2`, `3` or `10`.
path - String
Category path. For example, `/electronics/laptops`, `/clothing/shirts` or `/books/fiction`. (Deprecated: 'CategoryView' is deprecated for use as a Bucket in 'productSearch' facet (to be removed after Sep 1, 2024). Use 'CategoryBucket' instead.)
roles - [String!]!
List of roles for the category. For example, `show_on_plp`, `show_in_pdp` or `show_in_search`.
urlKey - String
Category URL key. For example, `electronics`, `clothing` or `books`.
urlPath - String
Category URL path. For example, `/electronics/laptops`, `/clothing/shirts` or `/books/fiction`.
count - Int!
(Deprecated: 'CategoryView' is deprecated for use as a Bucket in 'productSearch' facet (to be removed after Sep 1, 2024). Use 'CategoryBucket' instead.)
title - String!
(Deprecated: 'CategoryView' is deprecated for use as a Bucket in 'productSearch' facet (to be removed after Sep 1, 2024). Use 'CategoryBucket' instead.)

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

Field Name
Description
availableSortBy - [String]
List of available sort by options. For example, name, size or position.
defaultSortBy - String
Default sort by option. For example, name, size or position.
id - ID!
Category ID. For example, `123`, `456` or `789`. (Deprecated: 'CategoryView' is deprecated for use as a Bucket in 'productSearch' facet (to be removed after Sep 1, 2024). Use 'CategoryBucket' instead.)
level - Int
The level of the category. The root category is a level 1 category. For example, men -> level 1, men/clothing -> level 2, men/clothing/shorts -> level 3
name - String
Category name. For example, `Electronics`, `Clothing` or `Books`.
path - String
Category path. For example, `/electronics/laptops`, `/clothing/shirts` or `/books/fiction`.
roles - [String]
List of roles for the category. For example, `show_on_plp`, `show_in_pdp` or `show_in_search`.
urlKey - String
Category URL key. For example, `electronics`, `clothing` or `books`.
urlPath - String
Category URL path. For example, `/electronics/laptops`, `/clothing/shirts` or `/books/fiction`.

Possible Types

CategoryViewInterface Types
CategoryView

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

Field Name
Description
slug - String!
The unique URL-friendly identifier for the category.
name - String!
Category name. For example, `Electronics`, `Clothing` or `Books`.

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

Field Name
Description
addToCartAllowed - Boolean
A flag stating if the product can be added to cart (Deprecated: This field is deprecated and will be removed.)
inStock - Boolean
A flag stating if the product is in stock (Deprecated: This field is deprecated and will be removed.)
lowStock - Boolean
Indicates whether the remaining quantity of the product has reached the Only X Left threshold. (Deprecated: This field is deprecated and will be removed.)
attributes - [ProductViewAttribute]
A list of merchant-defined attributes designated for the storefront. They can be filtered by roles and names.
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. Possible values include `image`, `small_image` or `swatch`.
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.
inputOptions - [ProductViewInputOption]
A list of input options. (Deprecated: This field is deprecated and will be removed.)
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
A unique code used for identification of a product.
externalId - String
External Id (Deprecated: This field is deprecated and will be removed.)
url - String
Canonical URL of the product. (Deprecated: This field is deprecated and will be removed.)
urlKey - String
The URL key of the product.
links - [ProductViewLink]
A list of product links. Links are used to navigate from one product to another.
categories - [CategoryProductView!]
A list of categories in which the product is present.
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": 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

Input Field
Description
sku - String
SKU of the current product
price - Float
Resolved display price of the current product (specialPrice ?? regularPrice)

Example

{"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

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": "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

Field Name
Description
attribute - String!
The product attribute that contains a match for the search phrase
matched_words - [String]!
An array of strings
value - String!
The matched text, enclosed within emphasis tags

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

Field Name
Description
currentPage - Int!
The current page number (1-based indexing).
pageSize - Int!
The number of items per page.
totalPages - Int!
The total number of pages available.

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

Field Name
Description
adjustments - [PriceAdjustment]
The signed value of the price adjustment (positive for markup, negative for markdown).
amount - ProductViewMoney
Contains the monetary value and currency code of a product.

Example

{
  "adjustments": [PriceAdjustment],
  "amount": ProductViewMoney
}

PriceAdjustment

Specifies the amount and type of price adjustment.

Fields

Field Name
Description
amount - Float
The amount of the price adjustment.
code - String
Identifies the type of price adjustment.

Example

{"amount": 987.65, "code": "abc123"}

ProductSearchItem

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

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
warnings - [ProductSearchWarning]
An array of warning messages for validation issues (e.g., sort parameter ignored due to missing categoryPath)

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

Input Field
Description
attribute - String!
The attribute code of a product attribute
direction - SortEnum!
ASC (ascending) or DESC (descending)

Example

{"attribute": "xyz789", "direction": "ASC"}

ProductSearchWarning

Structured warning with code and message for easier client handling

Fields

Field Name
Description
code - String!
Error code for programmatic handling (e.g., EMPTY_CATEGORY_PATH)
message - String!
Human-readable message describing the warning

Example

{
  "code": "abc123",
  "message": "abc123"
}

ProductView

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 (Deprecated: This field is deprecated and will be removed.)
inStock - Boolean
A flag stating if the product is in stock (Deprecated: This field is deprecated and will be removed.)
lowStock - Boolean
Indicates whether the remaining quantity of the product has reached the Only X Left threshold. (Deprecated: This field is deprecated and will be removed.)
attributes - [ProductViewAttribute]
A list of merchant-defined attributes designated for the storefront. They can be filtered by roles and names.
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.
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 title for search results listings.
shortDescription - String
A summary of the product for search results listings.
inputOptions - [ProductViewInputOption]
A list of input options. For example, a text field, a number field or a date field. (Deprecated: This field is deprecated and will be removed.)
sku - String
A unique code used for identification of a product.
externalId - String
External Id (Deprecated: This field is deprecated and will be removed.)
url - String
Canonical URL of the product. (Deprecated: This field is deprecated and will be removed.)
urlKey - String
The URL key of the product. This is a unique identifier for the product that is used to create the product's URL.
links - [ProductViewLink]
A list of product links. For example, related, up-sell, and cross-sell links.
categories - [CategoryProductView!]
A list of categories in which the product is present.
queryType - String
Indicates if the product was retrieved from the primary or the backup query
visibility - String
Visibility setting of the product

Possible 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

Field Name
Description
label - String
Label of the attribute.
name - String!
Name of an attribute code. For example, `color`, `size` or `material`
roles - [String]
Roles designated for an attribute on the storefront. For example, `show_on_plp`, `show_in_pdp` or `show_in_search`
value - JSON
Attribute value, arbitrary of type. For example, `red`, `blue` or `green`

Example

{
  "label": "xyz789",
  "name": "abc123",
  "roles": ["abc123"],
  "value": {}
}

ProductViewCurrency

The list of supported currency codes.

Values

Enum Value
Description
AED
AFN
ALL
AMD
ANG
AOA
ARS
AUD
AWG
AZM
AZN
BAM
BBD
BDT
BGN
BHD
BIF
BMD
BND
BOB
BRL
BSD
BTN
BUK
BWP
BYN
BZD
CAD
CDF
CHE
CHF
CHW
CLP
CNY
COP
CRC
CUP
CVE
CZK
DJF
DKK
DOP
DZD
EEK
EGP
ERN
ETB
EUR
FJD
FKP
GBP
GEK
GEL
GHS
GIP
GMD
GNF
GQE
GTQ
GYD
HKD
HNL
HRK
HTG
HUF
IDR
ILS
INR
IQD
IRR
ISK
JMD
JOD
JPY
KES
KGS
KHR
KMF
KPW
KRW
KWD
KYD
KZT
LAK
LBP
LKR
LRD
LSL
LSM
LTL
LVL
LYD
MAD
MDL
MGA
MKD
MMK
MNT
MOP
MRO
MUR
MVR
MWK
MXN
MYR
MZN
NAD
NGN
NIC
NOK
NPR
NZD
OMR
PAB
PEN
PGK
PHP
PKR
PLN
PYG
QAR
RHD
ROL
RON
RSD
RUB
RWF
SAR
SBD
SCR
SDG
SEK
SGD
SHP
SKK
SLL
SOS
SRD
STD
SVC
SYP
SZL
THB
TJS
TMM
TND
TOP
TRL
TRY
TTD
TWD
TZS
UAH
UGX
USD
UYU
UZS
VEB
VEF
VND
VUV
WST
XCD
XOF
XPF
YER
ZAR
ZMK
ZWD
NONE

Example

""AED""

ProductViewImage

Contains details about a product image.

Fields

Field Name
Description
label - String
The display label of the product image. For example, `Main Image`, `Small Image` or `Thumbnail Image`
roles - [String]
A list that describes how the image is used. Can be `image`, `small_image` or `thumbnail`
url - String!
The URL to the product image. For example, `https://example.com/image.jpg`.

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

Field Name
Description
id - ID
The ID of an option value. For example, `123` for the first option value, `456` for the second option value.
title - String
The display name of the option value. For example, `Red`, `Blue` or `Green`
required - Boolean
Indicates whether this input option is required.
type - String
The type of data entry. For example, `text`, `number` or `date`
markupAmount - Float
The percentage the prices is marked up or down. A positive value, such as `10.00`, indicates the product is marked up 10%. A negative value, such as `-10.00`, indicates the price is marked down 10%.
suffix - String
SKU suffix to add to the product. For example, `-red`, `-blue` or `-green`
sortOrder - Int
Sort order for the input option. For example, `1` for the first input option, `2` for the second input option.
range - ProductViewInputOptionRange
The range of values for the input option. For example, if the input option is a text field, the range represents the number of characters.
imageSize - ProductViewInputOptionImageSize
The size of the image for the input option.
fileExtensions - String
The file extensions allowed for the image. For example, `jpg`, `png`, `gif`, or `svg`

Example

{
  "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

Field Name
Description
width - Int
The width of the image in pixels. For example, `100` for a 100px width.
height - Int
The height of the image, in pixels. For example, `100` for a 100px height.

Example

{"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

Field Name
Description
from - Float
The starting value of the range. For example, if the input option is a text field, the starting value represents the minimum number of characters.
to - Float
The ending value of the range. For example, if the input option is a text field, the ending value represents the maximum number of characters.

Example

{"from": 123.45, "to": 987.65}

The product link type. Contains details about product links for related products and cross selling. For example, related, up_sell or cross_sell

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": ["xyz789"]
}

ProductViewMoney

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": 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

Field Name
Description
id - ID
The ID of the option. For example, `123` for the first option, `456` for the second option.
multi - Boolean
Indicates whether the option allows multiple choices. The value is `true` for a multi-select option, `false` for a single-select option.
required - Boolean
Indicates whether the option must be selected.
title - String
The display name of the option. For example, `Color`, `Size` or `Material`
values - [ProductViewOptionValue!]
List of available option values. For example, `Red`, `Blue` or `Green`

Example

{
  "id": "4",
  "multi": true,
  "required": true,
  "title": "abc123",
  "values": [ProductViewOptionValue]
}

ProductViewOptionValue

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 whether the remaining quantity of the product has reached the out-of-stock threshold.

Possible Types

Example

{
  "id": "4",
  "title": "xyz789",
  "inStock": true
}

ProductViewOptionValueConfiguration

An implementation of ProductViewOptionValue for configuration values.

Fields

Field Name
Description
id - ID
The ID of an option value. For example, `123` for the first option value, `456` for the second option value.
title - String
The display name of the option value. For example, `Red`, `Blue` or `Green`
inStock - Boolean
Indicates whether the remaining quantity of the product option value has reached the out-of-stock threshold.

Example

{
  "id": 4,
  "title": "xyz789",
  "inStock": false
}

ProductViewOptionValueProduct

An implementation of ProductViewOptionValue that adds details about a simple product.

Fields

Field Name
Description
id - ID
The ID of an option value. For example, `123` for the first option value, `456` for the second option value.
isDefault - Boolean
Indicates whether the option value is the default.
product - SimpleProductView
Details about a simple product. For example, a product with a SKU of `123`, a name of `Product 1`, a price of `100.00`.
quantity - Float
Default quantity of an option value.
title - String
The display name of the option value. For example, `Red`, `Blue` or `Green`
inStock - Boolean
Indicates whether the remaining quantity of the product option value has reached the out-of-stock threshold.

Example

{
  "id": "4",
  "isDefault": true,
  "product": SimpleProductView,
  "quantity": 123.45,
  "title": "xyz789",
  "inStock": true
}

ProductViewOptionValueSwatch

An implementation of ProductViewOptionValueSwatch for swatches.

Fields

Field Name
Description
id - ID
The ID of an option value. For example, `123` for the first option value, `456` for the second option value.
title - String
The display name of the option value. For example, `Red`, `Blue` or `Green`
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 whether the remaining quantity of the product option value has reached the out-of-stock threshold.

Example

{
  "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

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. For example, `show_on_plp`, `show_in_pdp` or `show_in_search`

Example

{
  "final": Price,
  "regular": Price,
  "tiers": [ProductViewTierPrice],
  "roles": ["xyz789"]
}

ProductViewPriceRange

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

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

Field Name
Description
in - [Float]
Exact quantity values that activate this tier price. For example, `[5, 10]` means the tier applies only when the purchased quantity is exactly 5 or exactly 10.

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

Field Name
Description
tier - Price
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.
quantity - [ProductViewTierCondition!]!
The quantity conditions that must be met to activate the tier price. For example, `10` for a quantity of 10 or `20` for a quantity of 20.

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

Field Name
Description
gte - Float
The minimum quantity that must be purchased to activate the tier price. Must be greater than or equal to the value in `gte`.
lt - Float
Maximum quantity (exclusive) for this tier price. For example, a value of `20` means this tier applies only when fewer than 20 items are purchased.

Example

{"gte": 987.65, "lt": 987.65}

ProductViewVariant

Represents a product variant.

Fields

Field Name
Description
selections - [String!]
List of option values that make up the variant. For example, `red`, `blue` or `green`
product - ProductView
Product corresponding to the variant. For example, a product with a SKU of `123`, a name of `Product 1`, a price of `100.00`.

Example

{
  "selections": ["abc123"],
  "product": ProductView
}

ProductViewVariantResults

Represents the results of a product variant search.

Fields

Field Name
Description
variants - [ProductViewVariant]!
List of product variants. For example, a variant with a selection of `red`, `blue` or `green`
cursor - String
Pagination cursor. For example, `123` for the first variant, `456` for the second variant.

Example

{
  "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

Field Name
Description
preview - ProductViewImage
Preview image for the video. For example, a screenshot of the video.
url - String!
The URL to the product video. For example, `https://example.com/video.mp4` or `https://example.com/video.webm`
description - String
Description of the product video. For example, `A video of the product being used` or `A video of the product being assembled`
title - String
The title of the product video. For example, `Product Video` or `Product Assembly Video`

Example

{
  "preview": ProductViewImage,
  "url": "xyz789",
  "description": "abc123",
  "title": "abc123"
}

PurchaseHistory

User purchase history

Input Fields

Input Field
Description
date - DateTime
items - [String]!

Example

{
  "date": "2007-12-03T10:15:30Z",
  "items": ["abc123"]
}

QueryContextInput

Input 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
userViewHistory - [ViewHistoryInput!]
User view history with timestamp

Example

{
  "customerGroup": "abc123",
  "userViewHistory": [ViewHistoryInput]
}

RangeBucket

For use on numeric product fields

Fields

Field Name
Description
count - Int!
The number of items in the bucket
from - Float!
The minimum amount in a price range
title - String!
The display text defining the price range
to - Float
The maximum amount in a price range

Example

{
  "count": 123,
  "from": 987.65,
  "title": "abc123",
  "to": 123.45
}

RecommendationUnit

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": 123,
  "pageType": "xyz789",
  "productsView": [ProductView],
  "storefrontLabel": "abc123",
  "totalProducts": 987,
  "typeId": "abc123",
  "unitId": "abc123",
  "unitName": "abc123"
}

Recommendations

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": 987}

ScalarBucket

For use on string and other scalar product fields

Fields

Field Name
Description
count - Int!
The number of items in the bucket
id - ID!
An identifier that can be used for filtering. It may contain non-human readable data
title - String!
The display text for the scalar value

Example

{
  "count": 123,
  "id": "4",
  "title": "xyz789"
}

SearchCategoryResultPage

Represents a paginated result set of category search results.

Fields

Field Name
Description
items - [CategoryTreeView!]!
The list of categories matching the search criteria.
totalCount - Int!
The total number of categories matching the search criteria across all pages.
pageInfo - PageInfo!
Pagination information for navigating through results.

Example

{
  "items": [CategoryTreeView],
  "totalCount": 987,
  "pageInfo": PageInfo
}

SearchClauseInput

A product attribute to filter on

Input Fields

Input Field
Description
attribute - String!
The attribute code of a product attribute
contains - String
attribute value should contain the specified string
eq - String
A string value to filter on
in - [String]
An array of string values to filter on
range - SearchRangeInput
A range of numeric values to filter on
startsWith - String
attribute value should start with the specified string

Example

{
  "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

Input Field
Description
from - Float
The minimum value to filter on. If not specified, the value of `0` is applied
to - Float
The maximum value to filter on

Example

{"from": 987.65, "to": 987.65}

SearchResultPageInfo

Provides navigation for the query response.

Fields

Field Name
Description
current_page - Int
The specific page to return.
page_size - Int
The maximum number of items to return per page of results.
total_pages - Int
The total number of pages in the response.

Example

{"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

Field Name
Description
addToCartAllowed - Boolean
A flag stating if the product can be added to cart (Deprecated: This field is deprecated and will be removed.)
inStock - Boolean
A flag stating if the product is in stock (Deprecated: This field is deprecated and will be removed.)
lowStock - Boolean
Indicates whether the remaining quantity of the product has reached the Only X Left threshold. (Deprecated: This field is deprecated and will be removed.)
attributes - [ProductViewAttribute]
A list of merchant-defined attributes designated for the storefront. They can be filtered by names and roles.
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. Possible values include `image`, `small_image`, and `swatch`.
videos - [ProductViewVideo]
A list of videos defined for the product.
inputOptions - [ProductViewInputOption]
A list of input options. For example, a text field, a number field or a date field. (Deprecated: This field is deprecated and will be removed.)
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
A unique code used for identification of a product.
externalId - String
External Id. For example, `123`, `456` or `789`. (Deprecated: This field is deprecated and will be removed.)
url - String
Canonical URL of the product. For example, `https://example.com/product-1` or `https://example.com/product-2`. (Deprecated: This field is deprecated and will be removed.)
urlKey - String
The URL key of the product. For example, `product-1`, `product-2` or `product-3`.
links - [ProductViewLink]
A list of product links. For example, a related product, an up-sell product or a cross-sell product.
categories - [CategoryProductView!]
A list of categories in which the product is present. Categories are used to group products by category.
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": 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

Enum Value
Description
ASC
DESC

Example

""ASC""

SortableAttribute

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": "xyz789",
  "label": "abc123",
  "numeric": false
}

StatsBucket

For retrieving statistics across multiple buckets

Fields

Field Name
Description
max - Float!
The maximum value
min - Float!
The minimum value
title - String!
The display text for the bucket

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

Enum Value
Description
TEXT
IMAGE
COLOR_HEX
CUSTOM

Example

""TEXT""

ViewHistory

User view history

Input Fields

Input Field
Description
date - DateTime
sku - String!

Example

{
  "date": "2007-12-03T10:15:30Z",
  "sku": "xyz789"
}

ViewHistoryInput

User view history

Input Fields

Input Field
Description
dateTime - DateTime
sku - String!

Example

{
  "dateTime": "2007-12-03T10:15:30Z",
  "sku": "abc123"
}