Cluster
Product cluster entity with category associations.
Represents a cluster of related products in the system with their category relationships. Provides access to all associated categories for comprehensive cluster organization and navigation.
type Cluster implements ICluster, IBaseProduct, IResource {
id: Int!
clusterId: Int!
categoryId: Int!
attributes(
input: AttributeResultSearchInput
): AttributeResultResponse
categories(
input: ClusterCategorySearchInput
): CategoryResponse
category(
hidden: YesNo
): Category!
categoryPath(
hidden: YesNo
): [Category!]!
crossupsellsFrom(
input: CrossupsellSearchInput
): CrossupsellsResponse!
crossupsellsTo(
input: CrossupsellSearchInput
): CrossupsellsResponse!
favoriteLists(
input: FavoriteListsSearchInput
): FavoriteListsResponse
orderlists(
input: OrderlistSearchInput
): OrderlistsResponse!
products(
input: ClusterProductSearchInput
): [Product!]!
createdAt: DateTime!
lastModifiedAt: DateTime!
options(
input: ClusterOptionSearchInput
): [ClusterOption!]!
drillDowns: [ClusterDrillDown!] @deprecated
defaultProduct(
hidden: Boolean
): Product
config: ClusterConfig
names(
language: String
): [LocalizedString!]!
descriptions(
language: String
): [LocalizedString!]!
shortDescriptions(
language: String
): [LocalizedString!]!
slugs(
language: String
): [LocalizedString!]!
sku: String!
defaultLanguage: String!
priority: Int
metadataTitles: [LocalizedString!]
metadataDescriptions: [LocalizedString!]
metadataKeywords: [LocalizedString!]
metadataCanonicalUrls: [LocalizedString!]
sources: [Source!]!
language: String
class: ProductClass!
hidden: YesNo!
}
Fields
Cluster.id
● Int!
non-null scalar
Resource primary identifier
Cluster.clusterId
● Int!
non-null scalar
The classID of this cluster
Cluster.categoryId
● Int!
non-null scalar
Cluster.attributes
● AttributeResultResponse
object
Lists attributes for this cluster based on the search input.
Cluster.attributes.input
● AttributeResultSearchInput
input
Cluster.categories
● CategoryResponse
object
All categories the cluster belongs to.
Paginated response containing all categories associated with this cluster. Includes categories with full category details and pagination support.
Cluster.categories.input
● ClusterCategorySearchInput
input
Search and filter criteria for cluster categories.
Provides filtering, sorting, and pagination options for the cluster's associated categories. When omitted, returns all categories with default pagination settings.
Cluster.category
● Category!
non-null object
Primary category of the cluster.
Retrieves the main category that this cluster belongs to, providing hierarchical organization and navigation context.
Cluster.category.hidden
● YesNo
enum
Filter by category visibility status.
Y = include only if category is hidden, N = include only if category is visible. When omitted, includes category regardless of visibility status.
Cluster.categoryPath
● [Category!]!
non-null object
Complete category path for the cluster.
Retrieves the full hierarchical path from the root category to the cluster's primary category. Returns an ordered array of categories representing the breadcrumb navigation path. Requires authentication for access.
Cluster.categoryPath.hidden
● YesNo
enum
Filter path categories by visibility status.
Y = include only hidden categories in path, N = include only visible categories in path. When omitted, includes all categories in the path regardless of visibility status.
Cluster.crossupsellsFrom
● CrossupsellsResponse!
non-null object
Retrieve all cross-sell and upsell recommendations where this cluster is the source.
Returns recommendations that are triggered when customers view or interact with any product in this cluster. These are the products or clusters that will be suggested to customers based on products in this cluster. Useful for understanding cluster-level recommendation strategies and scalable product relationships.
Possible errors:
- CROSSUPSELL_UNKNOWN_ERROR: Failed to search cross-sell/upsell recommendations
- CROSSUPSELL_CROSS_SERVICE_ERROR: Failed to communicate with external services
Cluster.crossupsellsFrom.input
● CrossupsellSearchInput
input
Additional search criteria to filter the recommendations.
If not provided, returns all recommendations where this cluster is the source with default pagination settings. Can be used to further filter by recommendation type, target products, date ranges, or apply custom sorting.
Cluster.crossupsellsTo
● CrossupsellsResponse!
non-null object
Retrieve all cross-sell and upsell recommendations where this cluster is the target.
Returns recommendations where products from this cluster are being suggested to customers. These are the source products or clusters that trigger recommendations for products in this cluster. Useful for understanding what drives recommendations for cluster products and optimizing cluster visibility.
Possible errors:
- CROSSUPSELL_UNKNOWN_ERROR: Failed to search cross-sell/upsell recommendations
- CROSSUPSELL_CROSS_SERVICE_ERROR: Failed to communicate with external services
Cluster.crossupsellsTo.input
● CrossupsellSearchInput
input
Additional search criteria to filter the recommendations.
If not provided, returns all recommendations where this cluster is the target with default pagination settings. Can be used to further filter by recommendation type, source products, date ranges, or apply custom sorting.
Cluster.favoriteLists
● FavoriteListsResponse
object
Cluster.favoriteLists.input
● FavoriteListsSearchInput
input
Cluster.orderlists
● OrderlistsResponse!
non-null object
Cluster.orderlists.input
● OrderlistSearchInput
input
Cluster.products
● [Product!]!
non-null object
Array of selectable main products for this cluster, when the array contains more than one. Only one can be added per cart/order item
Cluster.products.input
● ClusterProductSearchInput
input
Cluster.createdAt
● DateTime!
non-null scalar
Product record creation timestamp.
Date and time when this product was first added to the system, used for auditing and product lifecycle tracking.
Cluster.lastModifiedAt
● DateTime!
non-null scalar
Product record last modification timestamp.
Date and time when any product information was last updated, used for change tracking and synchronization.
Cluster.options
● [ClusterOption!]!
non-null object
Cluster.options.input
● ClusterOptionSearchInput
input
Cluster.drillDowns
● [ClusterDrillDown!]
deprecated list object
Use config.setting instead
The drilldown configuration for this cluster
Cluster.defaultProduct
● Product
object
Default product for the cluster.
Returns the primary product that represents this cluster when no specific product option is selected. Used for displaying cluster information and providing a fallback product reference.
Cluster.defaultProduct.hidden
● Boolean
scalar
Include hidden products in the lookup.
When true, includes products marked as hidden in the search. When false or not specified, only returns visible products.
Cluster.config
● ClusterConfig
object
Cluster.names
● [LocalizedString!]!
non-null object
Localized names for the cluster.
Returns translated cluster names. Can be filtered by language code to get names for specific locales.
Cluster.names.language
● String
scalar
Language code to filter names.
ISO 639-1 uppercase language code (e.g., 'EN', 'NL', 'DE'). If provided, returns only names for that language.
Cluster.descriptions
● [LocalizedString!]!
non-null object
Localized descriptions for the cluster.
Returns translated cluster descriptions. Can be filtered by language code to get descriptions for specific locales.
Cluster.descriptions.language
● String
scalar
Language code to filter descriptions.
ISO 639-1 uppercase language code (e.g., 'EN', 'NL', 'DE'). If provided, returns only descriptions for that language.
Cluster.shortDescriptions
● [LocalizedString!]!
non-null object
Localized short descriptions for the cluster.
Returns translated cluster short descriptions used in listings and previews. Can be filtered by language code to get descriptions for specific locales.
Cluster.shortDescriptions.language
● String
scalar
Language code to filter short descriptions.
ISO 639-1 uppercase language code (e.g., 'EN', 'NL', 'DE'). If provided, returns only short descriptions for that language.
Cluster.slugs
● [LocalizedString!]!
non-null object
Localized URL slugs for the cluster.
Returns translated cluster slugs used in URLs and navigation. Can be filtered by language code to get slugs for specific locales.
Cluster.slugs.language
● String
scalar
Language code to filter slugs.
ISO 639-1 uppercase language code (e.g., 'EN', 'NL', 'DE'). If provided, returns only slugs for that language.
Cluster.sku
● String!
non-null scalar
Stock Keeping Unit for inventory management.
Unique alphanumeric code used for inventory tracking, order processing, and product identification across all systems and channels.
Cluster.defaultLanguage
● String!
non-null scalar
The default language for this product or cluster, this is the language to fall back too, when there is no translation available in a specific language.
Cluster.priority
● Int
scalar
Cluster.metadataTitles
● [LocalizedString!]
list object
[SEO] Localized Metadata title available in multiple languages
Cluster.metadataDescriptions
● [LocalizedString!]
list object
[SEO] Localized Metadata description available in multiple languages
Cluster.metadataKeywords
● [LocalizedString!]
list object
[SEO] Localized Metadata keywords available in multiple languages
Cluster.metadataCanonicalUrls
● [LocalizedString!]
list object
[SEO] Localized Metadata canonical url available in multiple languages
Cluster.sources
● [Source!]!
non-null object
Product data sources and external system references.
Returns information about external systems and sources that provide data for this product, used for data lineage and integration management.
Cluster.language
● String
scalar
The requested language for this this resource, default to the products default language. ISO 639-1 format.
Cluster.class
● ProductClass!
non-null enum
The class of the request resource
Cluster.hidden
● YesNo!
non-null enum
The hidden status of this resource.
Interfaces
ICluster
interface
The interface for the Cluster type
IBaseProduct
interface
Interface for the BaseProduct Type, where both Products and clusters derive from
IResource
interface
Returned By
cluster
query ● clusterCreate
mutation ● clusterUpdate
mutation
Member Of
ClusterAssignProductsResponse
object ● ClusterUnassignProductsResponse
object ● Product
object