Skip to main content

Product

A product: the master record with its variants, categories, units of measure and stock.

type Product {
basePrice: Float
baseUOM: UnitOfMeasure
baseUOMId: ID
brand: Brand
brandId: ID
categories: [ProductCategory!]
category: Category
categoryId: ID
categoryIds: [String!]
createdAt: DateTime!
defaultVariantSku: String
deletedAt: DateTime
description: String
id: ID!
imageUrls: [String!]!
inventory: [ProductInventory!]
inventoryUOM: UnitOfMeasure
inventoryUOMId: ID
isTaxExempt: Boolean!
metadata: JSON
name: String!
organizationId: String!
productUOMs: [ProductUOMEntry!]
purchaseTaxGroupId: String
purchaseTaxRates: [TaxRate!]
purchaseUOM: UnitOfMeasure
purchaseUOMId: ID
salesUOM: UnitOfMeasure
salesUOMId: ID
sku: String
status: ProductStatus!
tags: [String!]!
taxExemptReason: String
taxGroupId: String @deprecated
taxGroupIds: String
taxRate: TaxRate
taxRateId: String @deprecated
taxRateIds: String
taxRates: [TaxRate!]
updatedAt: DateTime!
variantCount: Int!
variants: [ProductVariant!]
}

Fields​

Product.basePrice ● Float scalar​

The price worked out from the default variant, or the first active variant.

Product.baseUOM ● UnitOfMeasure object​

The base unit of measure.

Product.baseUOMId ● ID scalar​

The ID of the base unit of measure.

Product.brand ● Brand object​

The brand.

Product.brandId ● ID scalar​

The ID of the brand.

Product.categories ● [ProductCategory!] list object​

The categories the product is in.

Product.category ● Category object​

The main category.

Product.categoryId ● ID scalar​

The ID of the category.

Product.categoryIds ● [String!] list scalar​

The IDs of the categories the product is in.

Product.createdAt ● DateTime! non-null scalar​

When the record was created.

Product.defaultVariantSku ● String scalar​

The SKU of the default variant.

Product.deletedAt ● DateTime scalar​

When the record was deleted. Empty while the record is live.

Product.description ● String scalar​

What the product is.

Product.id ● ID! non-null scalar​

The unique ID of this record.

Product.imageUrls ● [String!]! non-null scalar​

The URLs of the product images.

Product.inventory ● [ProductInventory!] list object​

The stock of the product, one entry per warehouse.

Product.inventoryUOM ● UnitOfMeasure object​

The unit of measure stock is kept in.

Product.inventoryUOMId ● ID scalar​

The ID of the unit of measure stock is kept in.

Product.isTaxExempt ● Boolean! non-null scalar​

True when the product is exempt from tax.

Product.metadata ● JSON scalar​

Additional data attached to the record, as JSON.

Product.name ● String! non-null scalar​

The name of the product.

Product.organizationId ● String! non-null scalar​

The ID of the organization the record belongs to.

Product.productUOMs ● [ProductUOMEntry!] list object​

The units of measure the product is sold in, with their prices.

Product.purchaseTaxGroupId ● String scalar​

The tax group used when buying the product. Empty means the product follows the organization's default purchase tax group.

Product.purchaseTaxRates ● [TaxRate!] list object​

The tax rates applied when buying the product.

Product.purchaseUOM ● UnitOfMeasure object​

The unit of measure used for purchases.

Product.purchaseUOMId ● ID scalar​

The ID of the unit of measure used for purchases.

Product.salesUOM ● UnitOfMeasure object​

The unit of measure used for sales.

Product.salesUOMId ● ID scalar​

The ID of the unit of measure used for sales.

Product.sku ● String scalar​

The SKU of the default variant.

Product.status ● ProductStatus! non-null enum​

The status of the product.

Product.tags ● [String!]! non-null scalar​

Tags on the product.

Product.taxExemptReason ● String scalar​

Why the product is exempt from tax.

Product.taxGroupId ● String deprecated scalar​

DEPRECATED

Use taxGroupIds instead

The ID of the tax group.

Product.taxGroupIds ● String scalar​

The IDs of the tax groups on the product, as one comma-separated string.

Product.taxRate ● TaxRate object​

The tax rate on the product.

Product.taxRateId ● String deprecated scalar​

DEPRECATED

Use taxRateIds instead

The ID of the tax rate on the product. Use taxRateIds instead.

Product.taxRateIds ● String scalar​

The IDs of the tax rates on the product, as one comma-separated string.

Product.taxRates ● [TaxRate!] list object​

The tax rates on the product.

Product.updatedAt ● DateTime! non-null scalar​

When the record was last changed.

Product.variantCount ● Int! non-null scalar​

How many variants the product has.

Product.variants ● [ProductVariant!] list object​

The variants of the product.

Returned By​

cloneProduct mutation ● createProduct mutation ● product query ● removeProduct mutation ● updateProduct mutation

Member Of​

Brand object ● DiscountSchemeProduct object ● Inventory object ● InvoiceItem object ● ProductConnection object ● ProductReturnItem object ● ProductSummary object ● ProductVariant object ● QuoteItem object ● SalesOrderItem object ● StockMovement object