tys.products.create()
create(input: ProductInput, options?: RequestOptions): Promise<Product>Parameters
Section titled “Parameters”inputProductInputRequiredProperties
external_idstringRequirednamestringRequiredcategoryGarmentCategoryRequiredThe garment type; it sets which POMs are needed.
optionsRequestOptionsOptionalReturns
Section titled “Returns”Promise<Product>: The product.
idstringRequiredexternal_idstringRequiredThe brand's SKU or style ID (unique per brand).
namestringRequiredcategoryGarmentCategoryRequiredThe garment type; it sets which POMs are needed.
published_versionintegerOptionalGarment version shoppers are fitted against, if any.
draft_versionintegerOptionalGarment version being edited, if any.
created_atstringRequiredupdated_atstringRequiredfit_group_idstringOptionalThe fit group whose garment this product uses (absent until grouped).
brand_idstringOptionalThe brand the product belongs to; every store of the brand sees it.
home_store_idstringOptionalThe store the product was created in.
retired_atstringOptionalSet when the product is retired; shoppers no longer get a size for it.
availablebooleanOptionalWhether the store it was read through offers it (false in the brand list, see stores).
Example
Section titled “Example”const product = await tys.products.create({ external_id: "TEE-001", // your SKU / style ID, unique per store name: "Basic tee", category: "tshirt",});product = tys.products.create(external_id="TEE-001", name="Basic tee", category="tshirt")curl -X POST https://api.tryyoursize.com/v1/products \ -H "Authorization: Bearer $TRYYOURSIZE_SECRET_KEY" \ -H "TYS-Version: 2026-10-25" \ -H "Content-Type: application/json" \ -d '{"external_id":"TEE-001","name":"Basic tee","category":"tshirt"}'See also
Section titled “See also”Was this page helpful?
Thank you. We read every answer.