Create Product
Beta/v1/catalog/productsIdempotent with Idempotency-Key header. Learn more
Creates a product and its backing inventory item.
The new item starts with zero on-hand inventory, and its pricing defaults to zero rates in the category's base unit unless unit_price or unit_cost is provided.
include[]optional arrayenumValues:product_lineproduct_line.unit_groupproduct_line.unit_group.base_unitSub-objects to expand in the response. When omitted, sub-objects are returned as null.
skustringStock keeping unit code for the product's item.
Must be unique within the account; creation fails with a conflict error if another item already uses it.
descriptionoptional stringFree-form description of the product.
notesoptional stringFree-form notes about the product.
typestringenumValues:saleserviceshippingProduct 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.
product_line_idoptional stringID of the product line to assign the product to.
category_idstringID of the item category for the product's item.
The category's unit group determines the default units used for the product's pricing rates and inventory tracking.
portal_visibilityoptional stringenumValues:visiblehiddenWhether the product is shown to buyers in the customer portal. Defaults to hidden.
visible: buyers can see and order the product in the portal.hidden: the product is concealed from the portal but remains usable internally.
When omitted, the product is created hidden, so it must be set to visible before buyers can see it.
unit_priceoptional objectInitial selling price per unit.
When set, the numerator unit must be a currency unit and the denominator unit must not be. When omitted, the price is initialized to a zero rate in the category's base unit.
valuestring (decimal)Decimal value of the rate, expressed as the amount of the numerator unit per one denominator unit.
numerator_unit_idstringID of the unit for the rate's numerator (e.g. the currency of a price).
denominator_unit_idstringID of the unit for the rate's denominator (the per-unit basis).
unit_costoptional objectInitial cost per unit.
The same unit rule as unit_price applies: the numerator unit must be a currency unit and the denominator unit must not be. When omitted, the cost is initialized to a zero rate in the category's base unit.
valuestring (decimal)Decimal value of the rate, expressed as the amount of the numerator unit per one denominator unit.
numerator_unit_idstringID of the unit for the rate's numerator (e.g. the currency of a price).
denominator_unit_idstringID of the unit for the rate's denominator (the per-unit basis).
attribute_idsoptional array of stringAttribute IDs to connect to the product at creation time.
idstringProduct ID.
objectstringenumValues:productResource type identifier.
typestringenumValues:saleserviceshippingProduct 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:visiblehiddenWhether 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.
The product line this product is assigned to, if any.
idstringProduct line ID.
objectstringenumValues:product_lineResource type identifier.
namestringDisplay name of the product line.
descriptionstringnullableFree-form description of the product line.
notesstringnullableFree-form notes about the product line.
commission_policystringenumValues:commission_appliedcommission_exemptDefault 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_freightDefault 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.
ownerownernullableOwner 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.
null in this endpoint.Unit group associated with this product line.
The unit group determines the set of units available to products in this product line.
idstringUnit group ID.
objectstringenumValues:unit_groupResource type identifier.
namestringDisplay name of the unit group.
Unique within the account.
notesstringnullableFree-form notes about the unit group.
typestringenumValues:currencyquantitytimePhysical dimension shared by every unit in this group, such as mass, volume, or currency.
Only units of this dimension can belong to the group.
The reference unit designated for this group.
idstringUnit ID.
objectstringenumValues:unitResource type identifier.
namestringDisplay name of the unit (e.g. "Gram", "Kilogram").
abbreviationstringShort abbreviation for the unit (e.g. "g", "kg").
typestringenumValues:currencyquantitytimePhysical dimension the 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)Conversion ratio numerator relative to the base unit in the same dimension.
ratio_denominatorstring (decimal)Conversion ratio denominator relative to the base unit in the same dimension.
Cannot be zero.
offset_numeratorstring (decimal)Conversion offset numerator, used for temperature-like conversions.
Zero for most unit types.
offset_denominatorstring (decimal)Conversion offset denominator.
Typically 1. Cannot be zero.
is_base_unitbooleanWhether this is the base unit for its dimension.
Conversion ratios are relative to this unit. Base units are platform-defined; account-created units always have this set to false.
ownerownernullableOwner of this resource.
null in this endpoint.created_atstring (date-time)When this unit was created.
updated_atstring (date-time)When this unit was last updated.
Units associated with this group, each with its own discount and customer portal visibility settings.
objectstringenumValues:listResource type identifier.
page_infoobjectPagination metadata.
next_page_urlstringnullableRelative URL that fetches the next page of results.
null when the last page has been reached.
previous_page_urlstringnullableRelative URL that fetches the previous page of results.
null while on the first page.
has_next_pagebooleanWhether more results exist after this page.
has_prev_pagebooleanWhether results exist before this page.
dataarray of unit_group_unitResources in this page.
idstringUnit group unit ID.
objectstringenumValues:unit_group_unitResource type identifier.
The unit this association refers to.
null in this endpoint.discount_percentagenumberPercentage discount applied to the unit's price when an order is placed in this unit (e.g. 10 is a 10% discount).
discount_fixednumberFlat amount subtracted from the unit's price when an order is placed in this unit.
customer_portal_visibilitystringenumValues:visiblehiddenWhether this unit is shown to customers in the customer portal.
created_atstring (date-time)Creation timestamp.
updated_atstring (date-time)Last updated timestamp.
ownerownernullableOwner of this resource.
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.
The inventory item backing this product, which holds its SKU, description, pricing, and attributes.
idstringItem ID.
objectstringenumValues:itemResource type identifier.
skustringStock keeping unit code, unique within the account.
descriptionstringnullableItem description.
notesstringnullableFree-form notes about the item.
typestringenumValues:productmaterialpartWhat kind of item this is.
product: a finished product.material: a raw material or component consumed in production.part: a part used in production.
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.
idstringItem category ID.
objectstringenumValues:item_categoryResource type identifier.
namestringDisplay name of the item category.
notesstringnullableFree-form notes about the item category.
typestringenumValues:material_categoryproduct_categoryWhat kind of items this category groups.
An item can only be assigned to a category whose type matches the item's type.
material_category: groups raw materials and components (items of typematerial).product_category: groups finished products and parts (items of typeproductorpart).
ownerownernullableOwner of the item category.
System-owned categories are platform defaults (the owner.type is system and owner.account is null); account-owned categories were created by your organization.
null in this endpoint.Properties associated with this item category.
objectstringenumValues:listResource type identifier.
page_infoobjectPagination metadata.
next_page_urlstringnullableRelative URL that fetches the next page of results.
null when the last page has been reached.
previous_page_urlstringnullableRelative URL that fetches the previous page of results.
null while on the first page.
has_next_pagebooleanWhether more results exist after this page.
has_prev_pagebooleanWhether results exist before this page.
dataarray of propertyResources in this page.
idstringProperty ID.
objectstringenumValues:propertyResource type identifier.
namestringDisplay name of the property, such as Color or Size.
Attributes belonging to this property.
null in this endpoint.created_atstring (date-time)Creation timestamp.
updated_atstring (date-time)Last update timestamp.
Unit group associated with this item category.
This unit group determines the units of measure available to items in this category throughout your production process.
idstringUnit group ID.
objectstringenumValues:unit_groupResource type identifier.
namestringDisplay name of the unit group.
Unique within the account.
notesstringnullableFree-form notes about the unit group.
typestringenumValues:currencyquantitytimePhysical dimension shared by every unit in this group, such as mass, volume, or currency.
Only units of this dimension can belong to the group.
The reference unit designated for this group.
idstringUnit ID.
objectstringenumValues:unitResource type identifier.
namestringDisplay name of the unit (e.g. "Gram", "Kilogram").
abbreviationstringShort abbreviation for the unit (e.g. "g", "kg").
typestringenumValues:currencyquantitytimePhysical dimension the 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)Conversion ratio numerator relative to the base unit in the same dimension.
ratio_denominatorstring (decimal)Conversion ratio denominator relative to the base unit in the same dimension.
Cannot be zero.
offset_numeratorstring (decimal)Conversion offset numerator, used for temperature-like conversions.
Zero for most unit types.
offset_denominatorstring (decimal)Conversion offset denominator.
Typically 1. Cannot be zero.
is_base_unitbooleanWhether this is the base unit for its dimension.
Conversion ratios are relative to this unit. Base units are platform-defined; account-created units always have this set to false.
ownerownernullableOwner of this resource.
null in this endpoint.created_atstring (date-time)When this unit was created.
updated_atstring (date-time)When this unit was last updated.
Units associated with this group, each with its own discount and customer portal visibility settings.
objectstringenumValues:listResource type identifier.
page_infoobjectPagination metadata.
next_page_urlstringnullableRelative URL that fetches the next page of results.
null when the last page has been reached.
previous_page_urlstringnullableRelative URL that fetches the previous page of results.
null while on the first page.
has_next_pagebooleanWhether more results exist after this page.
has_prev_pagebooleanWhether results exist before this page.
dataarray of unit_group_unitResources in this page.
idstringUnit group unit ID.
objectstringenumValues:unit_group_unitResource type identifier.
The unit this association refers to.
null in this endpoint.discount_percentagenumberPercentage discount applied to the unit's price when an order is placed in this unit (e.g. 10 is a 10% discount).
discount_fixednumberFlat amount subtracted from the unit's price when an order is placed in this unit.
customer_portal_visibilitystringenumValues:visiblehiddenWhether this unit is shown to customers in the customer portal.
created_atstring (date-time)Creation timestamp.
updated_atstring (date-time)Last updated timestamp.
ownerownernullableOwner of this resource.
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_valuerateExpandablenullableSelling value per unit, expressed as a rate (e.g. $25.50 / kg).
idstringRate ID.
objectstringenumValues:rateResource 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.
Unit of the rate's numerator (e.g. the currency of a price).
null in this endpoint.Unit of the rate's denominator (the per-unit basis, e.g. kilograms for a price per kilogram).
null in this endpoint.display_valuestringHuman-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_costrateExpandablenullableCost per unit, expressed as a rate (e.g. $10.00 / kg).
idstringRate ID.
objectstringenumValues:rateResource 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.
Unit of the rate's numerator (e.g. the currency of a price).
null in this endpoint.Unit of the rate's denominator (the per-unit basis, e.g. kilograms for a price per kilogram).
null in this endpoint.display_valuestringHuman-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_raterateExpandablenullableRate at which this item is consumed in production, expressed as a quantity over time (e.g. 100 kg / hr).
idstringRate ID.
objectstringenumValues:rateResource 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.
Unit of the rate's numerator (e.g. the currency of a price).
null in this endpoint.Unit of the rate's denominator (the per-unit basis, e.g. kilograms for a price per kilogram).
null in this endpoint.display_valuestringHuman-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.
Attributes assigned to this item.
objectstringenumValues:listResource type identifier.
page_infoobjectPagination metadata.
next_page_urlstringnullableRelative URL that fetches the next page of results.
null when the last page has been reached.
previous_page_urlstringnullableRelative URL that fetches the previous page of results.
null while on the first page.
has_next_pagebooleanWhether more results exist after this page.
has_prev_pagebooleanWhether results exist before this page.
dataarray of attributeResources in this page.
idstringAttribute ID.
objectstringenumValues:attributeResource type identifier.
valuestringThe selectable value this attribute represents, such as Red for a Color property or Large for a Size property.
colorstringenumValues:bluebrowndefaultSwatch 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_orderintegerPosition 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.
The property this attribute belongs to.
Populated only when the attribute is returned under an item's attributes list.
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.
Responses
Successful response for Create Product