Products

The product object

A catalog entry as it is sold: an inventory item together with its product type, product line, and customer portal visibility.

Every product is backed by exactly one item, which carries the SKU, description, pricing, attributes, and inventory position. Creating a product creates that item; deleting the product deletes it.

idstring

Product ID.

objectstringenumValues:product

Resource type identifier.

typestringenumValues:saleserviceshipping

Product type code, which determines how the product behaves on orders and invoices.

  • sale: a standard sellable product.
  • service: a non-physical service line, such as labor or installation.
  • shipping: a shipping charge applied to an order.
  • credit: a credit applied against an order or invoice.
  • return: a returned product (RMA).
  • tax: a tax line.
portal_visibilitystringenumValues:visiblehidden

Whether the product is shown to buyers in the customer portal.

  • visible: buyers can see and order the product in the portal.
  • hidden: the product is concealed from the portal but remains usable internally.

Visibility alone is not enough to expose a product: a buyer only sees it if their account has also been granted access to the product's product line.

product_lineproduct_linenullable

The product line this product is assigned to, if any.

Customer accounts are granted access to whole product lines, so this assignment is what decides which buyers can see and order the product. A product with no product line is never visible in the customer portal. The line also supplies the default commission and freight policies for the product.

idstring

Product line ID.

objectstringenumValues:product_line

Resource type identifier.

namestring

Display name of the product line.

Unique among the product lines visible to your account, which includes the shared system lines.

descriptionstringnullable

Free-form description of the product line.

notesstringnullable

Free-form notes about the product line.

commission_policystringenumValues:commission_appliedcommission_exempt

Default commission policy for products in this product line.

  • commission_exempt: no commission applies to these products.
  • commission_applied: commission applies to these products, unless overridden elsewhere.
freight_policystringenumValues:free_freightbilled_freight

Default freight policy for products in this product line.

  • free_freight: these products do not incur a freight charge.
  • billed_freight: freight is billed for these products, unless overridden elsewhere.
ownerownernullable

Owner of the product line.

System-owned product lines are platform-provided and shared across all accounts; account-owned product lines are custom to your account. Only account-owned product lines can be updated, deleted, or granted to customers and account groups.

Always returned as null in this endpoint.
unit_groupunit_groupnullable

Unit group associated with this product line.

The unit group determines the set of units available to products in this product line.

idstring

Unit group ID.

objectstringenumValues:unit_group

Resource type identifier.

namestring

Display name of the unit group.

Unique within the account.

notesstringnullable

Free-form notes about the unit group.

typestringenumValues:currencyquantitytime

The dimension shared by every unit in this group, such as mass, volume, or currency.

Only units of this dimension can belong to the group, and the dimension is fixed once the group is created.

base_unitunitnullable

The reference unit designated for this group.

idstring

Unit ID.

objectstringenumValues:unit

Resource type identifier.

namestring

Display name of the unit (e.g. "Gram", "Kilogram").

abbreviationstring

Short abbreviation for the unit (e.g. "g", "kg").

typestringenumValues:currencyquantitytime

The dimension this unit measures, such as mass, volume, or currency.

A unit can only be converted to another unit of the same dimension. The quantity dimension is for discrete countable items rather than a physical measure.

ratio_numeratorstring (decimal)

Numerator of the ratio that converts a quantity in this unit into the dimension's base unit.

A quantity is converted with value × (ratio_numerator / ratio_denominator) + (offset_numerator / offset_denominator), so a kilogram in a gram-based dimension has a numerator of 1000 and a denominator of 1.

ratio_denominatorstring (decimal)

Denominator of the ratio that converts a quantity in this unit into the dimension's base unit.

Cannot be zero.

offset_numeratorstring (decimal)

Numerator of the conversion offset, applied after the ratio for scales that do not share a zero point, such as temperature.

Zero for units that convert by ratio alone.

offset_denominatorstring (decimal)

Denominator of the conversion offset applied after the ratio.

Never zero; a unit with no offset carries a numerator of 0 over a denominator of 1.

is_base_unitboolean

Whether this is the base unit for its dimension.

Every other unit's conversion ratio is expressed relative to the base unit. Base units are platform-defined; units created through the API are never base units.

ownerownernullable

Owner of this resource.

Always returned as null in this endpoint.
created_atstring (date-time)

When this unit was created.

updated_atstring (date-time)

When this unit was last updated.

associated_unitslistnullable

Units associated with this group, each with its own discount and customer portal visibility settings.

objectstringenumValues:list

Resource type identifier.

page_infoobject

Pagination metadata.

next_page_urlstringnullable

Relative URL that fetches the next page of results.

previous_page_urlstringnullable

Relative URL that fetches the previous page of results.

has_next_pageboolean

Whether more results exist after this page.

has_prev_pageboolean

Whether results exist before this page.

dataarray of unit_group_unit

Resources in this page.

idstring

Unit group unit ID.

objectstringenumValues:unit_group_unit

Resource type identifier.

unitunitnullable

The unit this association refers to.

Always returned as null in this endpoint.
discount_percentagenumber

Share of the unit's price removed when an order is placed in this unit.

Expressed as a decimal fraction rather than a whole number, so 0.1 is a 10% discount and 0 is no discount.

discount_fixednumber

Flat amount subtracted from the unit's price when an order is placed in this unit.

Subtracted before discount_percentage is applied.

customer_portal_visibilitystringenumValues:visiblehidden

Whether this unit is shown to customers in the customer portal.

created_atstring (date-time)

Creation timestamp.

updated_atstring (date-time)

Last updated timestamp.

ownerownernullable

Owner of this resource.

Always returned as null in this endpoint.
created_atstring (date-time)

Creation timestamp.

updated_atstring (date-time)

Last updated timestamp.

default_lotquantitynullable

The lot products in this line are made in — a doff, a pallet.

Sizes the campaigns a production schedule plans, and defaults the quantity when a batch is added to a production run. The unit is part of the value — 60 counted in pairs and 60 counted in eaches are different lots — and is drawn from this product line's unit group.

An item's own lot override still takes precedence over the line's. When the line has no lot convention, planning falls back to the lot of the line the item feeds into, and then to the account-wide default lot size.

Always returned as null in this endpoint.
fulfillment_policystringnullableenumValues:make_to_stockmake_to_order

How products in this line are produced when they do not say for themselves.

  • make_to_stock: built to the forecast, holding a safety stock against its variability.
  • make_to_order: built only against orders already on the book, holding no buffer.

Null falls through to the account default.

created_atstring (date-time)

Creation timestamp.

updated_atstring (date-time)

Last-updated timestamp.

itemitemnullable

The inventory item backing this product, which holds its SKU, description, pricing, and attributes.

idstring

Item ID.

objectstringenumValues:item

Resource type identifier.

skustring

Stock keeping unit code, unique within the account.

descriptionstringnullable

Item description.

notesstringnullable

Free-form notes about the item.

typestringenumValues:productmaterialpart

What kind of item this is.

  • product: a finished product.
  • material: a raw material or component consumed in production.
  • part: a part used in production.
categoryitem_categorynullable

The category this item belongs to.

The category's unit group determines the base unit the item's rates (unit_value, unit_cost, burn_rate) are expressed in.

idstring

Item category ID.

objectstringenumValues:item_category

Resource type identifier.

namestring

Display name of the item category.

notesstringnullable

Free-form notes about the item category.

typestringenumValues:material_categoryproduct_category

What kind of items this category groups.

  • material_category: groups raw materials and components (items of type material).
  • product_category: groups finished products and parts (items of type product or part).

An item can only be assigned to a category whose type matches the item's type, and the category's type is fixed at creation.

ownerownernullable

Provenance of the item category.

System-owned categories are platform-provided defaults shared across all accounts and cannot be updated or deleted; account-owned categories are custom to your account.

Always returned as null in this endpoint.
propertieslistnullable

Properties associated with this item category, such as Color or Size.

These describe the dimensions along which items in the category vary, and are also what the customer-facing catalog shows for the category. Attach and detach them with the Add Item Category Property and Remove Item Category Property endpoints.

objectstringenumValues:list

Resource type identifier.

page_infoobject

Pagination metadata.

next_page_urlstringnullable

Relative URL that fetches the next page of results.

previous_page_urlstringnullable

Relative URL that fetches the previous page of results.

has_next_pageboolean

Whether more results exist after this page.

has_prev_pageboolean

Whether results exist before this page.

dataarray of property

Resources in this page.

idstring

Property ID.

objectstringenumValues:property

Resource type identifier.

namestring

Display name of the property, such as Color or Size.

Unique within the account.

attributeslistnullable

The selectable values defined under this property.

Listed in the order the attributes are arranged within the property, first to last.

Always returned as null in this endpoint.
created_atstring (date-time)

Creation timestamp.

updated_atstring (date-time)

Last update timestamp.

unit_groupunit_groupnullable

Unit group associated with this item category.

Items in this category are measured in units belonging to this group, and can only be ordered in those units unless the item's product line defines its own unit group, which takes precedence.

idstring

Unit group ID.

objectstringenumValues:unit_group

Resource type identifier.

namestring

Display name of the unit group.

Unique within the account.

notesstringnullable

Free-form notes about the unit group.

typestringenumValues:currencyquantitytime

The dimension shared by every unit in this group, such as mass, volume, or currency.

Only units of this dimension can belong to the group, and the dimension is fixed once the group is created.

base_unitunitnullable

The reference unit designated for this group.

idstring

Unit ID.

objectstringenumValues:unit

Resource type identifier.

namestring

Display name of the unit (e.g. "Gram", "Kilogram").

abbreviationstring

Short abbreviation for the unit (e.g. "g", "kg").

typestringenumValues:currencyquantitytime

The dimension this unit measures, such as mass, volume, or currency.

A unit can only be converted to another unit of the same dimension. The quantity dimension is for discrete countable items rather than a physical measure.

ratio_numeratorstring (decimal)

Numerator of the ratio that converts a quantity in this unit into the dimension's base unit.

A quantity is converted with value × (ratio_numerator / ratio_denominator) + (offset_numerator / offset_denominator), so a kilogram in a gram-based dimension has a numerator of 1000 and a denominator of 1.

ratio_denominatorstring (decimal)

Denominator of the ratio that converts a quantity in this unit into the dimension's base unit.

Cannot be zero.

offset_numeratorstring (decimal)

Numerator of the conversion offset, applied after the ratio for scales that do not share a zero point, such as temperature.

Zero for units that convert by ratio alone.

offset_denominatorstring (decimal)

Denominator of the conversion offset applied after the ratio.

Never zero; a unit with no offset carries a numerator of 0 over a denominator of 1.

is_base_unitboolean

Whether this is the base unit for its dimension.

Every other unit's conversion ratio is expressed relative to the base unit. Base units are platform-defined; units created through the API are never base units.

ownerownernullable

Owner of this resource.

Always returned as null in this endpoint.
created_atstring (date-time)

When this unit was created.

updated_atstring (date-time)

When this unit was last updated.

associated_unitslistnullable

Units associated with this group, each with its own discount and customer portal visibility settings.

objectstringenumValues:list

Resource type identifier.

page_infoobject

Pagination metadata.

next_page_urlstringnullable

Relative URL that fetches the next page of results.

previous_page_urlstringnullable

Relative URL that fetches the previous page of results.

has_next_pageboolean

Whether more results exist after this page.

has_prev_pageboolean

Whether results exist before this page.

dataarray of unit_group_unit

Resources in this page.

idstring

Unit group unit ID.

objectstringenumValues:unit_group_unit

Resource type identifier.

unitunitnullable

The unit this association refers to.

Always returned as null in this endpoint.
discount_percentagenumber

Share of the unit's price removed when an order is placed in this unit.

Expressed as a decimal fraction rather than a whole number, so 0.1 is a 10% discount and 0 is no discount.

discount_fixednumber

Flat amount subtracted from the unit's price when an order is placed in this unit.

Subtracted before discount_percentage is applied.

customer_portal_visibilitystringenumValues:visiblehidden

Whether this unit is shown to customers in the customer portal.

created_atstring (date-time)

Creation timestamp.

updated_atstring (date-time)

Last updated timestamp.

ownerownernullable

Owner of this resource.

Always returned as null in this endpoint.
created_atstring (date-time)

Creation timestamp.

updated_atstring (date-time)

Last updated timestamp.

created_atstring (date-time)

Creation timestamp.

updated_atstring (date-time)

Last updated timestamp.

unit_valueratenullable

Selling value per unit, expressed as a rate (e.g. $25.50 / kg).

idstring

Rate ID.

objectstringenumValues:rate

Resource type identifier.

valuestring (decimal)

Decimal value of the rate, as a string to preserve precision.

Expressed as the amount of the numerator unit per one denominator unit.

numerator_unitunitnullable

Unit of the rate's numerator (e.g. the currency of a price).

Always returned as null in this endpoint.
denominator_unitunitnullable

Unit of the rate's denominator (the per-unit basis, e.g. kilograms for a price per kilogram).

Always returned as null in this endpoint.
display_valuestring

Human-readable formatted value (e.g. "$25.50 / kg" or "100 kg / hr").

created_atstring (date-time)

Creation timestamp.

updated_atstring (date-time)

Last updated timestamp.

unit_costratenullable

Cost per unit, expressed as a rate (e.g. $10.00 / kg).

For items a production flow produces, retrieving the item's costs recomputes this from the flow and stores the result here, so it can change without the item having been edited.

idstring

Rate ID.

objectstringenumValues:rate

Resource type identifier.

valuestring (decimal)

Decimal value of the rate, as a string to preserve precision.

Expressed as the amount of the numerator unit per one denominator unit.

numerator_unitunitnullable

Unit of the rate's numerator (e.g. the currency of a price).

Always returned as null in this endpoint.
denominator_unitunitnullable

Unit of the rate's denominator (the per-unit basis, e.g. kilograms for a price per kilogram).

Always returned as null in this endpoint.
display_valuestring

Human-readable formatted value (e.g. "$25.50 / kg" or "100 kg / hr").

created_atstring (date-time)

Creation timestamp.

updated_atstring (date-time)

Last updated timestamp.

burn_rateratenullable

Rate at which this item is consumed in production, expressed as a quantity over time (e.g. 100 kg / hr).

idstring

Rate ID.

objectstringenumValues:rate

Resource type identifier.

valuestring (decimal)

Decimal value of the rate, as a string to preserve precision.

Expressed as the amount of the numerator unit per one denominator unit.

numerator_unitunitnullable

Unit of the rate's numerator (e.g. the currency of a price).

Always returned as null in this endpoint.
denominator_unitunitnullable

Unit of the rate's denominator (the per-unit basis, e.g. kilograms for a price per kilogram).

Always returned as null in this endpoint.
display_valuestring

Human-readable formatted value (e.g. "$25.50 / kg" or "100 kg / hr").

created_atstring (date-time)

Creation timestamp.

updated_atstring (date-time)

Last updated timestamp.

attributeslistnullable

Attributes assigned to this item.

objectstringenumValues:list

Resource type identifier.

page_infoobject

Pagination metadata.

next_page_urlstringnullable

Relative URL that fetches the next page of results.

previous_page_urlstringnullable

Relative URL that fetches the previous page of results.

has_next_pageboolean

Whether more results exist after this page.

has_prev_pageboolean

Whether results exist before this page.

dataarray of attribute

Resources in this page.

idstring

Attribute ID.

objectstringenumValues:attribute

Resource type identifier.

valuestring

The selectable value this attribute represents, such as Red for a Color property or Large for a Size property.

colorstringenumValues:bluebrowndefault

Swatch color used to display this attribute in the UI.

The named colors are arbitrary display choices; default is a neutral fallback used when no specific swatch applies.

sort_orderinteger

Position of this attribute relative to its siblings within the property, starting at 1.

Positions are kept contiguous: creating, reordering, or deleting an attribute automatically shifts its siblings.

propertypropertynullable

The property this attribute belongs to.

Populated only when the attribute is returned under an item's or a volume discount's attributes list.

Always returned as null in this endpoint.
created_atstring (date-time)

Creation timestamp.

updated_atstring (date-time)

Last update timestamp.

created_atstring (date-time)

Creation timestamp.

updated_atstring (date-time)

Last updated timestamp.

created_atstring (date-time)

Creation timestamp.

updated_atstring (date-time)

Last updated timestamp.

Used by