Skip to main content

Product

Represents a product in the catalog, including its specifications, pricing, inventory, supplier relationships, and composition details. Products can be base items, kits, components, or non-inventory items.

type Product {
accountingExternal(
integrationId: ID!
): AccountingItemExternal
accountingItem: AccountingItem
accountingItemDefaults(
integrationId: ID!
itemType: String!
): [AccountingItemDefault!]!
archiveBlockingReasons: [String!]
archivedAt: ISO8601DateTime
attachments: [File!]
brand: Brand
brandId: ID
bulletPoints: [String!]
canBeArchived: Boolean!
category: ProductCategory @deprecated
color: Color @deprecated
components: [Product!]!
compositionLines: [CompositionLine!]
compositionType: CompositionTypeEnum
costs(
supplierId: ID
): [ProductCost!]
createdAt: ISO8601DateTime!
createdBy: Party
createdById: ID
currencyCode: CurrencyCodeEnum
dataQuality: Int!
daysSupply: CalculatedField
decompositionStrategy: ProductDecompositionStrategyEnum!
defaultDropshipUnitCost: MonetaryValue
defaultLandedCost: MonetaryValue
defaultUnitCost: MonetaryValue
deletedAt: ISO8601DateTime @deprecated
description: String
externalIdentifiers: [ProductExternalIdentifier!]
grossMargin: Decimal
height: Decimal
id: ID!
image: Media
images: [Media!]
includeComponentsInAvailableToSell: Boolean!
innerPack: Boolean!
inventoryItem: InventoryItem
inventoryItemId: ID
last90DaysOrders: CalculatedField
latestProductEconomics: ProductEconomicsRecord
length: Decimal
masterCarton: Boolean!
name: String!
packagingUrl: Url
pallet: Boolean!
parent: Product
partNumber: String
price: Decimal @deprecated
priceMap: MonetaryValue
priceMonetary: MonetaryValue @deprecated
priceMsrp: MonetaryValue
productAttributes: [ProductAttribute!]
productCustoms: Customs
productEconomics: ProductEconomics @deprecated
productInnerPack: InnerPack
productMasterCarton: MasterCarton
productPallet: Pallet
productPurchasing: Purchasing @deprecated
productShipping: Shipping
productTags: [ProductTag!]
productType: ProductTypeEnum!
productTypeName: String!
restockThreshold: Int
ship: Boolean!
size: Size @deprecated
sku: String
sourcingMethod: ProductSourcingMethodEnum
specsUrl: Url
status: ProductStatusEnum! @deprecated
style: Style @deprecated
suppliers: [ProductSupplier!]
unitPriceForQuantity(
customerId: ID
quantity: Int!
salesChannelId: ID!
): MonetaryValue
uom: ProductUomEnum
upc: String
updatedAt: ISO8601DateTime!
updatedBy: Party
updatedById: ID
volume: Decimal
weight: Decimal
width: Decimal
}

Fields​

Product.accountingExternal ● AccountingItemExternal object accounting​

The unlinked imported accounting item that exactly matches this product, when one is available to overwrite from.

Product.accountingExternal.integrationId ● ID! non-null scalar common​

The accounting integration whose imported items to match.

Product.accountingItem ● AccountingItem object accounting​

The endless-owned accounting item for this product, if one exists (i.e. the product has been pushed to accounting). Null when the product is not synced to accounting.

Product.accountingItemDefaults ● [AccountingItemDefault!]! non-null object accounting​

The values applying defaults would write to this product's accounting item, resolved from the integration's configured field sources and accounts.

Product.accountingItemDefaults.integrationId ● ID! non-null scalar common​

The accounting integration whose configured defaults to resolve.

Product.accountingItemDefaults.itemType ● String! non-null scalar common​

The item type to resolve for, since it decides which accounts and flags apply.

Product.archiveBlockingReasons ● [String!] list scalar common​

Human-readable reasons why the product cannot be archived, or empty if it can.

Product.archivedAt ● ISO8601DateTime scalar common​

The "Archived At" field denotes the date and time that the product was archived. If the product has not been archived, this field will be null.

Product.attachments ● [File!] list object common​

Product.brand ● Brand object common​

Product.brandId ● ID scalar common​

Product.bulletPoints ● [String!] list scalar common​

Product.canBeArchived ● Boolean! non-null scalar common​

Whether the product can be archived according to archiving rules.

Product.category ● ProductCategory deprecated object products​

DEPRECATED

Use the addProductAttribute mutation to set the category of the product. Use productAttributes field instead to get the category of the product. This field will be removed in the future.

Product.color ● Color deprecated object products​

DEPRECATED

Use the addProductAttribute mutation to set the color of the product. Use productAttributes field instead to get the color of the product. This field will be removed in the future.

Product.components ● [Product!]! non-null object products​

The components referenced by the composition lines

Product.compositionLines ● [CompositionLine!] list object products​

The components that make up this product with their relationship information.

Product.compositionType ● CompositionTypeEnum enum products​

Product.costs ● [ProductCost!] list object products​

The costs associated with this product.

Product.costs.supplierId ● ID scalar common​

Filter costs by a specific supplier ID.

Product.createdAt ● ISO8601DateTime! non-null scalar common​

Product.createdBy ● Party object common​

The party that created the product.

Product.createdById ● ID scalar common​

Product.currencyCode ● CurrencyCodeEnum enum common​

Product.dataQuality ● Int! non-null scalar common​

The "Data Quality" field denotes the percentage of fields that have been filled out for a product. This information aids in determining the completeness of a product's information.

Product.daysSupply ● CalculatedField object common​

Indicates how many days of demand the current inventory can fulfill for the product.

Product.decompositionStrategy ● ProductDecompositionStrategyEnum! non-null enum products​

Whether this product is decomposed into its components on a fulfillment order. INHERIT means the fulfillment plan's strategy applies. Applies to composable products (alias, bundle, base item) and is inert on other types.

Product.defaultDropshipUnitCost ● MonetaryValue object common​

The price you plan with for direct fulfillment. A supplier drop-ship quote overrides it.

Product.defaultLandedCost ● MonetaryValue object common​

Cost of the goods delivered to you, inbound charges included. Used for gross margin.

Product.defaultUnitCost ● MonetaryValue object common​

The price you plan with, for the goods themselves. A purchase order uses a supplier quote when one applies and this when none does.

Product.deletedAt ● ISO8601DateTime deprecated scalar common​

DEPRECATED

Use archivedAt instead. This field will be removed in the future.

Product.description ● String scalar common​

Product.externalIdentifiers ● [ProductExternalIdentifier!] list object products​

How external systems identify this product (a retailer's item number, an Amazon ASIN, a marketplace UPC). Only active rows are returned.

Product.grossMargin ● Decimal scalar common​

Product.height ● Decimal scalar common​

Product.id ● ID! non-null scalar common​

Product.image ● Media object products​

Product.images ● [Media!] list object products​

Product.includeComponentsInAvailableToSell ● Boolean! non-null scalar common​

Whether buildable component inventory contributes to available-to-sell. Defaults to true.

Product.innerPack ● Boolean! non-null scalar common​

Product.inventoryItem ● InventoryItem object inventory​

Product.inventoryItemId ● ID scalar common​

Product.last90DaysOrders ● CalculatedField object common​

Indicates the number of orders where the item was included for the last 90 days.

Product.latestProductEconomics ● ProductEconomicsRecord object products​

Most recent product economics snapshot.

Product.length ● Decimal scalar common​

Product.masterCarton ● Boolean! non-null scalar common​

Product.name ● String! non-null scalar common​

Product.packagingUrl ● Url scalar common​

Product.pallet ● Boolean! non-null scalar common​

Product.parent ● Product object products​

Product.partNumber ● String scalar common​

Product.price ● Decimal deprecated scalar common​

DEPRECATED

Use priceMonetary or priceMsrp instead.

Product.priceMap ● MonetaryValue object common​

Product.priceMonetary ● MonetaryValue deprecated object common​

DEPRECATED

Will be removed in the future. Use priceMsrp instead.

Product.priceMsrp ● MonetaryValue object common​

Product.productAttributes ● [ProductAttribute!] list object products​

Product.productCustoms ● Customs object products​

Product.productEconomics ● ProductEconomics deprecated object products​

DEPRECATED

Use latestProductEconomics or productEconomicsRecords instead.

Product.productInnerPack ● InnerPack object products​

Product.productMasterCarton ● MasterCarton object products​

Product.productPallet ● Pallet object products​

Product.productPurchasing ● Purchasing deprecated object products​

DEPRECATED

Will be removed in the future. Use productEconomics instead

Product.productShipping ● Shipping object products​

Product.productTags ● [ProductTag!] list object products​

Product.productType ● ProductTypeEnum! non-null enum products​

Product.productTypeName ● String! non-null scalar common​

Product.restockThreshold ● Int scalar common​

Product.ship ● Boolean! non-null scalar common​

Product.size ● Size deprecated object products​

DEPRECATED

Use the addProductAttribute mutation to set the size of the product. Use productAttributes field instead to get the size of the product. This field will be removed in the future.

Product.sku ● String scalar common​

Product.sourcingMethod ● ProductSourcingMethodEnum enum products​

Product.specsUrl ● Url scalar common​

Product.status ● ProductStatusEnum! deprecated non-null enum products​

DEPRECATED

This field will be removed in the future. Use archivedAt instead to determine if the product is active or inactive(archived).

Product.style ● Style deprecated object products​

DEPRECATED

Use the addProductAttribute mutation to set the style of the product. Use productAttributes field instead to get the style of the product. This field will be removed in the future.

Product.suppliers ● [ProductSupplier!] list object products​

The suppliers relationships for this product.

Product.unitPriceForQuantity ● MonetaryValue object common​

Resolves the unit price for this product at the given order quantity with precedence: the customer's price breaks (when customerId is given), then the sales channel's, then MSRP. Walks price breaks (maxUnits is the minimum quantity that unlocks each break) and applies the highest break whose minimum is met. Returns null when no break qualifies and there is no MSRP.

Product.unitPriceForQuantity.customerId ● ID scalar common​

Optional customer whose price breaks take precedence over the channel's.

Product.unitPriceForQuantity.quantity ● Int! non-null scalar common​

The order quantity used to select the applicable price break.

Product.unitPriceForQuantity.salesChannelId ● ID! non-null scalar common​

The sales channel whose price breaks to resolve against.

Product.uom ● ProductUomEnum enum products​

Product.upc ● String scalar common​

Product.updatedAt ● ISO8601DateTime! non-null scalar common​

Product.updatedBy ● Party object common​

The last party that updated the product.

Product.updatedById ● ID scalar common​

Product.volume ● Decimal scalar common​

The "Volume" field denotes the amount of space occupied by a product in three dimensions (length, width, height). This information aids in optimizing storage, packaging, and shipping calculations.

Product.weight ● Decimal scalar common​

Product.width ● Decimal scalar common​

Returned By​

addProduct mutation ● assignProductUpc mutation ● cloneProduct mutation ● product query ● updateProduct mutation

Member Of​

ASNItem object ● BomRevisionLine object ● CompanyUpc object ● CompositionLine object ● FulfillmentItemComponent object ● InventoryItem object ● Media object ● OrderFinancialLine object ● OrderItem object ● POItem object ● Product object ● ProductCategory object ● ProductConnection object ● ProductCost object ● ProductEdge object ● ProductMediaCandidates object ● ProductPrice object ● ProductSalesChannel object ● ProductSupplier object ● ProductTag object ● SupplyComponentInventoryDetails object ● SupplyInventoryDetails object ● SupplyOrderItem object ● SupplyShipmentItem object ● SupplySupplier object ● SupplyWarehouseComposition object

Implemented By​

Notable union