Product
Product entity with category associations.
Represents a product in the system with its category relationships. Provides access to the main category and all associated categories for comprehensive product organization.
type Product implements IResource, IBaseProduct, IProduct {
id: Int!
productId: Int!
categoryId: Int!
attributes(
input: AttributeResultSearchInput
): AttributeResultResponse
bundles(
taxZone: String = "NL"
): [Bundle!]
category(
hidden: YesNo
): Category
categories(
input: ProductCategorySearchInput
): CategoryResponse
categoryPath(
hidden: YesNo
): [Category!]!
crossupsellsFrom(
input: CrossupsellSearchInput
): CrossupsellsResponse!
crossupsellsTo(
input: CrossupsellSearchInput
): CrossupsellsResponse!
favoriteLists(
input: FavoriteListsSearchInput
): FavoriteListsResponse
inventory: ProductInventory
mediaImages(
search: MediaImageProductSearchInput = [object Object]
): PaginatedMediaImageResponse @deprecated
mediaVideos(
search: MediaVideoProductSearchInput = [object Object]
): PaginatedMediaVideoResponse @deprecated
mediaDocuments(
search: MediaDocumentProductSearchInput = [object Object]
): PaginatedMediaDocumentResponse @deprecated
media: ProductMedia
orderlists(
input: OrderlistSearchInput
): OrderlistsResponse!
price(
input: PriceCalculateProductInput
): ProductPrice
priceData: Price
bulkPrices(
input: UserBulkPriceProductInput = [object Object]
): [ProductPrice!]
language: String
class: ProductClass!
hidden: YesNo!
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!]!
shortName: String!
keywords: [LocalizedString!]
customKeywords: [LocalizedString!]
packageDescriptions: [LocalizedString!]
manufacturerCode: String!
eanCode: String!
manufacturer: String!
supplier: String!
supplierCode: String!
status: ProductStatus!
statusExtra: String
barCode: String
turnoverGroup: String
taxonomy: String
priceGroup: String
orderable: YesNo!
returnable: YesNo!
physical: YesNo!
hasBundle: YesNo!
isBundleLeader: YesNo!
package: String!
packageUnit: String!
packageUnitQuantity: String!
minimumQuantity: Float!
unit: Int!
purchaseUnit: Int!
purchaseMinimumQuantity: Int!
economicOrderQuantity: Int!
orderableFrom: DateTime
orderableTo: DateTime
releaseDate: DateTime
createdAt: DateTime!
lastModifiedAt: DateTime!
offers: [ProductOffer!]
containerClass: ProductContainerClass!
clusterId: Int
cluster(
hidden: Boolean
): Cluster
surcharges(
input: SurchargeSearchInput
): [Surcharge!]!
}
Fields
Product.id
● Int!
non-null scalar
Resource primary identifier
Product.productId
● Int!
non-null scalar
Primary product identifier.
Unique numeric identifier used throughout the system for product references, ordering, and integration with external systems.
Product.categoryId
● Int!
non-null scalar
Product.attributes
● AttributeResultResponse
object
Lists attributes for this product based on the search input.
Product.attributes.input
● AttributeResultSearchInput
input
Product.bundles
● [Bundle!]
list object
Product.bundles.taxZone
● String
scalar
Product.category
● Category
object
Primary category of the product.
The main category that this product belongs to, providing hierarchical organization and navigation context. Filtered by hidden status when specified in query parameters.
Product.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.
Product.categories
● CategoryResponse
object
All categories the product belongs to.
Paginated response containing all categories associated with this product. Includes categories with full category details and pagination support.
Product.categories.input
● ProductCategorySearchInput
input
Search and filter criteria for product categories.
Provides filtering, sorting, and pagination options for the product's associated categories. When omitted, returns all categories with default pagination settings.
Product.categoryPath
● [Category!]!
non-null object
Complete category path for the product.
Retrieves the full hierarchical path from the root category to the product's primary category. Returns an ordered array of categories representing the breadcrumb navigation path. Requires authentication for access.
Product.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.
Product.crossupsellsFrom
● CrossupsellsResponse!
non-null object
Retrieve all cross-sell and upsell recommendations where this product is the source.
Returns recommendations that are triggered when customers view or interact with this product. These are the products that will be suggested to customers based on this product. Useful for understanding what products are being recommended from this specific product.
Possible errors:
- CROSSUPSELL_UNKNOWN_ERROR: Failed to search cross-sell/upsell recommendations
- CROSSUPSELL_CROSS_SERVICE_ERROR: Failed to communicate with external services
Product.crossupsellsFrom.input
● CrossupsellSearchInput
input
Additional search criteria to filter the recommendations.
If not provided, returns all recommendations where this product is the source with default pagination settings. Can be used to further filter by recommendation type, target products, date ranges, or apply custom sorting.
Product.crossupsellsTo
● CrossupsellsResponse!
non-null object
Retrieve all cross-sell and upsell recommendations where this product is the target.
Returns recommendations where this product is being suggested to customers. These are the source products or clusters that trigger recommendations for this product. Useful for understanding what drives recommendations for this specific product and optimizing its visibility.
Possible errors:
- CROSSUPSELL_UNKNOWN_ERROR: Failed to search cross-sell/upsell recommendations
- CROSSUPSELL_CROSS_SERVICE_ERROR: Failed to communicate with external services
Product.crossupsellsTo.input
● CrossupsellSearchInput
input
Additional search criteria to filter the recommendations.
If not provided, returns all recommendations where this product is the target with default pagination settings. Can be used to further filter by recommendation type, source products, date ranges, or apply custom sorting.
Product.favoriteLists
● FavoriteListsResponse
object
Product.favoriteLists.input
● FavoriteListsSearchInput
input
Product.inventory
● ProductInventory
object
Product inventory
Product.mediaImages
● PaginatedMediaImageResponse
deprecated object
Deprecated in favor of media.images
Product media images
Product.mediaImages.search
● MediaImageProductSearchInput
input
Product media images search options
Product.mediaVideos
● PaginatedMediaVideoResponse
deprecated object
Deprecated in favor of media.videos
Product media videos
Product.mediaVideos.search
● MediaVideoProductSearchInput
input
Product media videos search options
Product.mediaDocuments
● PaginatedMediaDocumentResponse
deprecated object
Deprecated in favor of media.documents
Product media documents
Product.mediaDocuments.search
● MediaDocumentProductSearchInput
input
Product media documents search options
Product.media
● ProductMedia
object
Product media images
Product.orderlists
● OrderlistsResponse!
non-null object
Product.orderlists.input
● OrderlistSearchInput
input
Product.price
● ProductPrice
object
Product.price.input
● PriceCalculateProductInput
input
Product.priceData
● Price
object
Product.bulkPrices
● [ProductPrice!]
list object
Product.bulkPrices.input
● UserBulkPriceProductInput
input
Product.language
● String
scalar
The requested language for this this resource, default to the products default language. ISO 639-1 format.
Product.class
● ProductClass!
non-null enum
The class of the request resource
Product.hidden
● YesNo!
non-null enum
The hidden status of this resource.
Product.names
● [LocalizedString!]!
non-null object
Product names in multiple languages.
Returns localized product names. Can be filtered by language code to get names for specific locales.
Product.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.
Product.descriptions
● [LocalizedString!]!
non-null object
Product descriptions in multiple languages.
Returns detailed product descriptions for different locales. Can be filtered by language code to get descriptions for specific languages.
Product.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.
Product.shortDescriptions
● [LocalizedString!]!
non-null object
Product short descriptions in multiple languages.
Returns brief product descriptions suitable for listings and summaries. Can be filtered by language code to get short descriptions for specific languages.
Product.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.
Product.slugs
● [LocalizedString!]!
non-null object
URL-friendly product identifiers for each language.
Returns SEO-optimized URL segments used in product page URLs. Can be filtered by language code to get slugs for specific locales.
Product.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.
Product.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.
Product.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.
Product.priority
● Int
scalar
Product.metadataTitles
● [LocalizedString!]
list object
[SEO] Localized Metadata title available in multiple languages
Product.metadataDescriptions
● [LocalizedString!]
list object
[SEO] Localized Metadata description available in multiple languages
Product.metadataKeywords
● [LocalizedString!]
list object
[SEO] Localized Metadata keywords available in multiple languages
Product.metadataCanonicalUrls
● [LocalizedString!]
list object
[SEO] Localized Metadata canonical url available in multiple languages
Product.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.
Product.shortName
● String!
non-null scalar
Abbreviated product name.
Concise product identifier used where space is limited.
Product.keywords
● [LocalizedString!]
list object
Supplier-provided search keywords.
Additional search terms provided by the supplier to improve product discoverability and search engine optimization.
Product.customKeywords
● [LocalizedString!]
list object
Custom search keywords managed via PIM.
Additional search terms added through the Product Information Management system for enhanced search functionality.
Product.packageDescriptions
● [LocalizedString!]
list object
Localized packaging information.
Detailed packaging descriptions in multiple languages for customer information and marketing purposes.
Product.manufacturerCode
● String!
non-null scalar
Original Equipment Manufacturer (OEM) code.
Manufacturer's own product code used for cross-referencing, warranty claims, and supplier communication.
Product.eanCode
● String!
non-null scalar
European Article Number for global identification.
Standardized number used for product identification, inventory management, and point-of-sale systems.
Product.manufacturer
● String!
non-null scalar
Product manufacturer information.
Company or brand that produces the product, used for brand filtering, warranty information, and supplier relationships.
Product.supplier
● String!
non-null scalar
Primary supplier information.
Company or organization that supplies this product, used for procurement, inventory management, and supplier relationships.
Product.supplierCode
● String!
non-null scalar
Supplier's product identification code.
Supplier-specific product code used for ordering, inventory management, and communication with suppliers.
Product.status
● ProductStatus!
non-null enum
Current product lifecycle status.
Indicates the product's current state in its lifecycle, affecting availability and visibility.
Product.statusExtra
● String
scalar
Additional status classification.
Supplementary status information often linked to custom value sets for specific business requirements and workflows.
Product.barCode
● String
scalar
Product barcode for scanning and identification.
Machine-readable code used for inventory management, checkout processes, and automated product identification.
Product.turnoverGroup
● String
scalar
Financial classification for reporting.
Groups products for financial reporting and analysis, used in accounting systems and business intelligence.
Product.taxonomy
● String
scalar
Product classification hierarchy.
Standardized product categorization system used for organization, reporting, and integration with external systems.
Product.priceGroup
● String
scalar
Pricing strategy classification.
Groups products with similar pricing rules and strategies, used by pricing engines for consistent pricing logic.
Product.orderable
● YesNo!
non-null enum
Product availability for ordering.
Indicates whether customers can currently place orders for this product through the storefront and ordering systems.
Product.returnable
● YesNo!
non-null enum
Product return policy eligibility.
Indicates whether this product can be returned by customers according to the return policy and business rules.
Product.physical
● YesNo!
non-null enum
Product type classification for fulfillment.
Indicates whether this is a physical product requiring shipping or a digital product/service like downloads, warranties, or services.
Product.hasBundle
● YesNo!
non-null enum
Is this product part of any product bundles.
Product.isBundleLeader
● YesNo!
non-null enum
Is this product leader of any product bundle.
Product.package
● String!
non-null scalar
Product packaging type classification.
Describes how the product is packaged for sale (e.g., PIECE, BOX, BLISTER), affecting shipping, storage, and display.
Product.packageUnit
● String!
non-null scalar
Individual item description within package.
Describes what constitutes one unit within the package (e.g., PIECE, BOX), used for inventory and ordering clarity.
Product.packageUnitQuantity
● String!
non-null scalar
Quantity of individual items per package.
Number of individual units contained within one package, used for inventory calculations and customer information.
Product.minimumQuantity
● Float!
non-null scalar
Minimum order quantity for customers.
Smallest quantity customers can order, used to enforce business rules and ensure order profitability.
Product.unit
● Int!
non-null scalar
Base unit of measure for customer ordering.
Standard unit in which customers can order this product, used for pricing and quantity calculations.
Product.purchaseUnit
● Int!
non-null scalar
Unit of measure for supplier ordering.
Unit used when ordering from suppliers, which may differ from customer ordering units for bulk purchasing efficiency.
Product.purchaseMinimumQuantity
● Int!
non-null scalar
Minimum order quantity for supplier purchases.
Smallest quantity that can be ordered from suppliers, used for procurement planning and inventory management.
Product.economicOrderQuantity
● Int!
non-null scalar
Optimal order quantity for cost efficiency.
Quantity that provides the best balance of ordering costs and inventory holding costs, used for purchasing recommendations.
Product.orderableFrom
● DateTime
scalar
Start date for product ordering availability.
Date from which customers can begin placing orders for this product, used for product launches and seasonal availability.
Product.orderableTo
● DateTime
scalar
End date for product ordering availability.
Date after which customers can no longer place orders for this product, used for product discontinuation and seasonal restrictions.
Product.releaseDate
● DateTime
scalar
Product launch date for availability planning.
Date when the product was or will be officially released to the market, used for launch planning and availability scheduling.
Product.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.
Product.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.
Product.offers
● [ProductOffer!]
list object
Available offers for this Product and Customer/Contact. First item in the array should be regarded as the active price
Product.containerClass
● ProductContainerClass!
non-null enum
The container class of this product.
Product.clusterId
● Int
scalar
The cluster ID of the product's container
Product.cluster
● Cluster
object
Product cluster association for grouped products.
Returns the cluster this product belongs to, if it's part of a product cluster. Clusters group related products with configurable options and variants.
Product.cluster.hidden
● Boolean
scalar
Include hidden clusters in results.
Boolean flag to control whether hidden clusters should be included in the response. Defaults to excluding hidden clusters.
Product.surcharges
● [Surcharge!]!
non-null object
Retrieve all surcharges associated with this product.
Returns a list of surcharges linked to the product with optional filtering capabilities. Used for determining additional fees applicable to the product during pricing calculations.
Possible errors:
- SURCHARGE_LIST_ERROR: Internal server error during surcharge retrieval
- SURCHARGE_NOT_FOUND_ERROR: Product has no associated surcharges
Product.surcharges.input
● SurchargeSearchInput
input
Optional search criteria for filtering surcharges.
Allows filtering by type, tax codes, activation status, and other criteria. If not provided, returns all surcharges associated with the product.
Interfaces
IResource
interface
IBaseProduct
interface
Interface for the BaseProduct Type, where both Products and clusters derive from
IProduct
interface
Interface for the Product Type
Returned By
clusterProductCreate
mutation ● clusterProductUpdate
mutation ● product
query ● productCreate
mutation ● productUpdate
mutation
Member Of
BundleItem
object ● CartBaseItem
object ● CartMainItem
object ● Cluster
object ● ClusterOption
object ● Discount
object ● ICartBaseItem
interface ● ICluster
interface ● IClusterOption
interface ● OrderItem
object ● TenderMainItem
object