Update a product
Updates the product and the child collections present in the body, then returns the stored product with everything loaded. Collections the body leaves out are untouched. Requires `Permissions.Product.Update`.
BearerAuthorizationBearer <token>OAuth 2.0 client credentials. Obtain a client id/secret from Winshop support ([email protected]), then POST to the token URL.
productId*integerint32application/json- body
adr?|ADR dangerous-goods classification code for transport.
length <= 15ageLimitId?|Id from the age limits item list giving the minimum customer age for sale.
int32alternativeShade?|Free-text alternative colour shade designation.
length <= 20atest?|Certification (attestation) reference for the product.
length <= 10automaticBatchNumber?|Batch numbers are generated automatically.
availableForRent?|The product is available for rent.
availableOnExternalWarehouse?|The product is available from an external warehouse.
baseVatRateId?|Id from the VAT rates item list; required on create and cannot be changed afterwards.
int32calculateOnMovement?|Recipe components are deducted from stock at the time of each stock movement.
calculatedItemIntake?|For recipe products: the recipe is calculated on goods intake (purchased calculation).
calculatedItemShowRecipeOnInvoices?|For recipe products: show the component breakdown on documents.
calculatedItemStockTakingProhibited?|For recipe products: the product is excluded from stock-taking.
canBeInsured?|Insurance can be sold with the product.
canBeInsuredForFree?|Insurance can be sold with the product free of charge.
canBeProducedAtProductionTerminal?|The product can be produced at the production terminal.
canBeReadOnlyThroughEAN?|At the POS the product can only be loaded by scanning its barcode.
cannotPayWithFoodStamps?|The product cannot be paid for with meal vouchers at the POS.
carrierId?|Id from the carriers item list.
int32collectionCard?boolean|nullcolor?|int32commercialPackagingId?|Id from the commercial packages item list.
int32commissionPercent?|decimalcommodity?|Free-text commodity classification code.
length <= 10companyCreditFromCodeBook?boolean|nullcomparatorUnitId?|Id from the comparison units item list, used for unit-price comparison.
int32countryOfOriginId?|Id from the countries item list giving the country of origin.
int32createdAt?|When the product was created, in server local time; read-only, set by the server.
date-timecreditWithInvoice?|For credit products: the credit is topped up by the invoice amount.
customsCodeId?|Id from the customs tariff codes item list.
int32deactivateAfterSellOut?|Automatically mark the product inactive once it is sold out in all warehouses.
density?|Density of the material.
decimaldepth?|DeprecatedObsolete, read-only: net depth of the base unit; use the product's units collection instead.
decimaldepthInPackaging?|DeprecatedObsolete, read-only: gross (packaged) depth; use the product's units collection instead.
decimaldepthInPackagingUnitId?|DeprecatedObsolete, read-only: unit id of DepthInPackaging; use the product's units collection instead.
int32depthUnitId?|DeprecatedObsolete, read-only: unit id of Depth; use the product's units collection instead.
int32descriptionEshop?|Product description for the e-shop; may contain HTML.
deviation?|decimaldiameter?|DeprecatedObsolete, read-only: net diameter of the base unit; use the product's units collection instead.
decimaldiameterInPackaging?|DeprecatedObsolete, read-only: gross (packaged) diameter; use the product's units collection instead.
decimaldiameterInPackagingUnitId?|DeprecatedObsolete, read-only: unit id of DiameterInPackaging; use the product's units collection instead.
int32diameterUnitId?|DeprecatedObsolete, read-only: unit id of Diameter; use the product's units collection instead.
int32dimension?|DeprecatedObsolete, read-only: free-text dimension of the base unit; use the product's units collection instead.
length <= 40dimensionStandard?|Designation of the dimensional standard the product conforms to.
length <= 20dimensionUnitId?|DeprecatedObsolete, read-only: unit id of Dimension; use the product's units collection instead.
int32doNotPairPermanently?boolean|nulldryMatter?|Dry matter content of the product.
decimalelectricDevice?|The product is electrical equipment (subject to e-waste rules).
electronicSecurity?|The product carries an electronic anti-theft security tag.
environmentalTaxId?|DeprecatedObsolete alias of RecyclingFeeId; use RecyclingFeeId instead.
int32eshop1?|The product is available on e-shop 1; an instance can run up to five e-shops.
eshop2?|The product is available on e-shop 2; an instance can run up to five e-shops.
eshop3?|The product is available on e-shop 3; an instance can run up to five e-shops.
eshop4?|The product is available on e-shop 4; an instance can run up to five e-shops.
eshop5?|The product is available on e-shop 5; an instance can run up to five e-shops.
eshopReservationsOnly?|On the e-shop the product can only be reserved, not purchased.
eshopSeasonId?|Id from the seasons item list used for the e-shop.
int32eshopThemeId?|Id from the themes item list used for the e-shop.
int32eshopUnitId?|Id from the units item list of the base unit presented on the e-shop.
int32estimatedProductionTime?|Estimated time needed to produce the product.
decimalexcludeFromRepricing?|Exclude the product from repricing suggestions.
exportForCompetitivePricing?|Include the product in exports for competitive price-list comparison.
exportRegardlessOfStockStatus?|Export the product to the e-shop even when it is out of stock.
exportedToInternet?|The product is exported to the e-shop/internet feed.
fixedDiscountOnInternet?|The internet discount for the product is fixed.
franchiseCountryVATRate?|VAT rate, in percent, applied to the product in the Slovak franchisee's country.
decimalfranchiseSupplyFromOwnWarehouses?|Franchisees are supplied with the product from the franchisor's own warehouses.
franchiseSupplyFromOwnWarehousesSK?|Slovak franchisees are supplied with the product from the franchisor's own warehouses.
groupId?|Id of the product group; must belong to the given theme.
int32guid?|Globally unique identifier of the product; read-only, generated by the server.
guidheight?|DeprecatedObsolete, read-only: net height of the base unit; use the product's units collection instead.
decimalheightInPackaging?|DeprecatedObsolete, read-only: gross (packaged) height; use the product's units collection instead.
decimalheightInPackagingUnitId?|DeprecatedObsolete, read-only: unit id of HeightInPackaging; use the product's units collection instead.
int32heightUnitId?|DeprecatedObsolete, read-only: unit id of Height; use the product's units collection instead.
int32hideOnTouchScreen?|Hide the product from the touch-screen product selection at the POS.
hidePriceOnInternet?|Hide the product's price on the e-shop/internet.
homeWarehouseId?|Id of the product's home warehouse.
int32ignoreWarehouseStatus?|The POS ignores the "in-stock products only" setting for this product.
infoPanelId?|Id from the info panels item list.
int32intakeLossPercentage?|Expected loss during goods intake, in percent.
decimalisAssembly?|The product is an assembly/installation service; cannot be changed after creation.
isBatch?|Batch (lot) tracking is mandatory for the product; cannot be changed after creation.
isBazaar?|Second-hand (bazaar) item; cannot be changed after creation.
isButchering?|The product is a raw material for butchering; cannot be changed after creation.
isCalculatedItem?|The product has a recipe and is assembled from component products; cannot be changed after creation.
isColorAndSize?|The product has colour/size/length/dimension/variant combinations; requires at least one of the uses-flags and cannot change after creation.
isCommissionItem?|The product is held on commission (consignment); cannot be changed after creation.
isCredit?|The product is a customer credit (prepaid balance) top-up; cannot be changed after creation.
isDataBar?|The product uses GS1 DataBar barcodes.
isDiscountProhibited?|No discounts may be applied to the product.
isDownPayment?|The product is a down payment (advance) item; cannot be changed after creation.
isInactive?|The product is inactive and hidden from normal listings and sales.
isInsurance?|The product is an insurance product; cannot be changed after creation.
isIntakeProhibited?|Goods intake of the product is prohibited.
isNew?|Marketing flag: the product is presented as new.
isNotForSaleSeparately?|The product cannot be sold on its own, only as part of another item.
isOnSaleOut?|Clearance item that is being discontinued.
isOrderingProhibited?|The product must not be ordered from suppliers.
isOutlet?|Marketing flag: the product is sold as outlet (discounted surplus) goods.
isRemitenda?|Unsold copies of the product can be returned to the supplier (remittenda, typically press).
isSaleForbiddenIfNotOnStock?|Sale or issue is refused when it would take stock below zero.
isSaleProhibited?|Sale of the product is prohibited.
isScrap?|The product is scrap; cannot be changed after creation.
isService?|The product is a service that is not deducted from stock; cannot be changed after creation.
isServis?|The product is a repair/maintenance service item; cannot be changed after creation.
isUnpacked?|The product is sold unpacked (opened packaging).
isVoucher?|The product is a voucher; cannot be changed after creation.
isbn?|ISBN for books and other published goods.
length <= 50labelTypeId?|Id from the label types item list used when printing labels.
int32lastMainSupplierPurchasePrice?|Most recent purchase price from the main supplier, excluding VAT.
decimallastModify?|When the product was last modified, in server local time; maintained by the server.
date-timelastPurchasePrice?|Most recent purchase price, excluding VAT; read-only, updated by goods intake.
decimallimitedEdition?|Marketing flag: the product is a limited edition.
listOutPriority?|Priority used to order the product in listings.
int32loadCapacity?|Load-bearing capacity of the product.
decimalmandatoryExpiration?|An expiry date is mandatory on every stock movement of the product.
manufacturersBrandId?|Id from the brands/manufacturers item list.
int32manufacturersWebSite?|URL of the manufacturer's website.
length <= 200materialLiability?boolean|nullmaterialStandard?|Designation of the material standard the product conforms to.
length <= 20maxDiscount?|Maximum discount, in percent, that may be applied to the product.
decimalmaxOperatingTemperature?|Maximum operating temperature of the product.
decimalmaxProductionBatch?|Maximum quantity that can be produced in one production batch.
decimalmaxStorageTemperature?|Maximum allowed storage temperature.
decimalminMargin?|Minimum margin, in percent, allowed on the product.
decimalminOperatingTemperature?|Minimum operating temperature of the product.
decimalminStorageTemperature?|Minimum allowed storage temperature.
decimalmodelId?|Id from the models item list.
int32monitorFatContent?|Fat content of the product is monitored (meat processing).
nameWithoutDiacritics?|Product name with diacritics stripped, for searching; read-only, generated by the server.
length <= 200newsPanelId?|Id from the news panels item list.
int32notifyOnSaleIntoNegative?|Send a notification when a sale takes stock of the product below zero.
notifyOnSaleIntoNegativeOnAnyWarehouse?|Send a notification when a sale takes stock below zero in any warehouse.
notifyOnSoldOut?|Send a notification when the product sells out.
notifyWhenStockQuantityBellowMinimum?|Send a notification when stock of the product falls below its minimum.
onlyToOrder?|The product is not stocked and is available only to order.
orderCustomerOnlyWholePackages?|Customer orders may only order whole packages of the product.
orderInternalOnlyWholePackages?|Internal orders may only order whole packages of the product.
orderOnlyWholePackages?|int32orderSupplierOnlyWholePackages?|Supplier orders may only order whole packages of the product.
packagingSet?boolean|nullpackagingSetItemCount?|Number of items in the set.
int32paintThinner?|Recommended thinner for paints and coatings.
length <= 20pickUpOnlyAtStore?|E-shop orders of the product can only be collected in store, not shipped.
plu?|PLU number for quick entry at the POS and on self-service scales.
int32pluQuickCodeWeight?|Quick-code position of the product on the weighing scale.
int32pluWeight?|PLU number of the product on the weighing scale.
int32points?|Loyalty points awarded when the product is purchased.
int32posCanChangePrice?|The cashier may enter the price manually at the POS; see POSPriceChangeMin.
posCanEnterProductName?|The cashier may enter the product name manually at the POS.
posCannotReturnIfNotNegative?boolean|nullposDoNotAddUpSameProduct?|The POS adds a new receipt line for each scan instead of merging identical items.
posEetNoSend?|Sales of the product are not reported to EET (Czech electronic sales registry).
posPriceChangeMin?|Lowest price including VAT the cashier may enter when POSCanChangePrice is on.
decimalposPrintComposition?|The POS prints the product composition at the end of the receipt.
posPrintNote?|The POS prints the product note at the end of the receipt.
posPrintNote1OnProduct?|The POS prints product note 1 under the item line on the receipt.
posPrintNote2OnProduct?|The POS prints product note 2 under the item line on the receipt.
posPrintNote3OnProduct?|The POS prints product note 3 under the item line on the receipt.
posPrintNote4OnProduct?|The POS prints product note 4 under the item line on the receipt.
posPrintNotes1?|The POS prints product note 1 at the end of the receipt.
posPrintPackaging?|The POS prints the packaging line on the receipt.
posPrintUsageInstructions?|The POS prints the usage instructions at the end of the receipt.
posPrintWarrantyConditions?|The POS prints the warranty terms at the end of the receipt.
posQueryProductionNumber?|The POS asks for the serial/production number when the product is sold.
posShowRelatedProducts?|The POS offers the product's related products when it is sold.
priceHit?|Marketing flag: the product is presented as a price hit (special offer).
printExpirationOnDocument?|Print the expiry date of the product on documents.
printInPriceList?|Include the product in the printed sales price list.
productClass?|Free-text product class code.
length <= 10productCode?|Unique product code; generated by the server when the instance auto-generates codes, otherwise optional; cannot change after creation.
length <= 50productFunctionalityId?|int32productId?|Unique product id; read-only, generated by the server on creation.
int32productManagerUserId?|Id of the user responsible for the product as its product manager.
int32productName?|Full product name (required on create).
length <= 200productNameEshop?|Product name used on the e-shop instead of the main name.
length <= 200productNameEshopShort?|Short product name used on the e-shop.
length <= 45productNameShort?|Short product name for receipts and compact listings.
length <= 50productStatusId?|int32productionMustWeigh?|The product must be weighed during production.
quality?|Free-text quality grade.
length <= 10qualityId?|Id from the qualities item list.
int32quantityUnitId?|Quantity in the base unit that corresponds to the comparison unit (a quantity, despite the name).
decimalrecyclingFeeId?|Id from the recycling fees item list; the fee amount comes from that list.
int32returnablePackaging?|The product is itself returnable packaging (a deposit item such as a bottle or crate).
returnablePackagingPrice?|Deposit price of the returnable packaging sold with the product.
decimalreturnablePackagingProductId?|Product id of the returnable packaging item sold with this product.
int32returnablePackagingQuantity?|Quantity of returnable packaging per unit of the product sold.
decimalreturnablePackagingWeight?boolean|nullripeningTime?|Ripening (maturing) time of the product.
decimalroDiscount?boolean|nullroyaltyId?|Id from the royalties item list; the royalty amount comes from that list.
int32s01?|Free-form custom text field 1; its meaning is instance-specific.
length <= 50s02?|Free-form custom text field 2; its meaning is instance-specific.
length <= 50s03?|Free-form custom text field 3; its meaning is instance-specific.
length <= 50s04?|Free-form custom text field 4; its meaning is instance-specific.
length <= 50sapMaterialNumber?|Material number of the product in SAP, for SAP integrations.
length <= 50sazka?|The product is a Sazka (Czech lottery operator) product sold at the POS.
seasonId?|Id from the seasons item list.
int32sendToScale?|Send the product to the external scale system.
setComponent?|The product is sold as a component of a set (assembly).
setPrice?|Fixed selling price when one is set; read-only on this endpoint.
decimalshade?|Free-text colour shade designation.
length <= 20shareWithFranchise?|Share the product with franchisees.
shareWithFranchiseSK?|Share the product with Slovak franchisees.
shelfLife?|Shelf life (expiry period) of the product.
decimalshelfLifeEshop?|Shelf life (expiry period) presented on the e-shop.
decimalshouldWeighGoods?|The product must always be weighed on a scale at the POS.
showLabelsOnDispatchTerminal?|Show the product on the dispatch terminal when printing labels.
showOnDispatchTerminal?|Show the product on the shipping (dispatch) terminal.
showOnIntakeDispatchTerminal?|Show the product on the dispatch terminal during goods intake.
showOnPackingTouchCashRegister?|Show the product in the product selection of the touch-screen packaging POS.
showOnProductionDispatchTerminal?|Show the product on the dispatch terminal during production.
showOnTransferDispatchTerminal?|Show the product on the dispatch terminal during stock transfers.
skp?|Standard Classification of Production (SKP) code used for statistical reporting.
decimalspecializedTransportation?|The product requires special transport (fragile or bulky).
statisticalNumber?|Statistical (Intrastat/customs) number of the product.
length <= 17stockPrice?|Current stock price per base unit, excluding VAT; read-only, maintained by stock movements.
decimalstorageLossPercentage?|Expected loss during storage, in percent.
decimalstrengthId?|Id from the strengths item list (building materials).
int32subGroupId?|Id of the product subgroup; must belong to the given group.
int32supplierId?|Id of the product's main supplier.
int32supplierProductCode?|The main supplier's own code for this product.
length <= 50takeAway?|Take-away item (sold for consumption off premises).
temperatureControlDuringIntake?|Temperature must be checked when the product is received.
temporaryCard?boolean|nullthemeId?|Id of the product theme, the top level of the theme/group/subgroup category hierarchy (required on create).
int32transportCost?|decimaltypeNumber?|length <= 50unitId?|Id of the base unit of measure from the units item list; required on create and cannot be changed afterwards.
int32unitsPerPackage?|Number of base units in one package.
decimaluseCommercialPackagingOnIntake?|Use the commercial packaging for goods intake.
useCommercialPackagingOnOrder?|Use the commercial packaging when ordering goods.
userId?|Id of the user who last modified the product; read-only, set by the server.
int32usesColor?|The product has colour variants; only with IsColorAndSize and cannot change after creation.
usesDimension?|The product has dimension variants; only with IsColorAndSize and cannot change after creation.
usesLength?|The product has length variants; only with IsColorAndSize and cannot change after creation.
usesLocations?|Stock of the product is tracked by warehouse locations.
usesSerialNumber?|The product carries a serial/production number; cannot be changed after creation.
usesSerialNumbers?|Serial/production numbers are mandatory on every stock movement of the product.
usesSize?|The product has size variants; only with IsColorAndSize and cannot change after creation.
usesVariants?|The product has generic variants; only with IsColorAndSize and cannot change after creation.
virtualCard?boolean|nullvoc?|Volatile organic compound (VOC) content of the product.
decimalvolume?|DeprecatedObsolete, read-only: volume of the base unit; use the product's units collection instead.
length <= 20volumeInPackaging?|DeprecatedObsolete, read-only: gross (packaged) volume; use the product's units collection instead.
length <= 20volumeInPackagingUnitId?|DeprecatedObsolete, read-only: unit id of VolumeInPackaging; use the product's units collection instead.
int32volumeUnitId?|DeprecatedObsolete, read-only: unit id of Volume; use the product's units collection instead.
int32voucherCheckNumber?|For vouchers: the voucher number must be recorded when sold.
wastePercentage?|Waste percentage used in production and recipe quantity calculations.
decimalweight?|DeprecatedObsolete, read-only: net weight of the base unit; use the product's units collection instead.
decimalweightInPackaging?|DeprecatedObsolete, read-only: gross (packaged) weight; use the product's units collection instead.
decimalweightInPackagingUnitId?|DeprecatedObsolete, read-only: unit id of WeightInPackaging; use the product's units collection instead.
int32weightUnitId?|DeprecatedObsolete, read-only: unit id of Weight; use the product's units collection instead.
int32width?|DeprecatedObsolete, read-only: net width of the base unit; use the product's units collection instead.
decimalwidthInPackaging?|DeprecatedObsolete, read-only: gross (packaged) width; use the product's units collection instead.
decimalwidthInPackagingUnitId?|DeprecatedObsolete, read-only: unit id of WidthInPackaging; use the product's units collection instead.
int32widthUnitId?|DeprecatedObsolete, read-only: unit id of Width; use the product's units collection instead.
int32alternativeProducts?array<>|Products that can be sold instead of this one.
attachments?array<>|Files attached to the product. Loaded only with the Attachments sub-query, and without their contents.
barcodes?array<>|Barcodes identifying the product. Loaded only with the Barcodes sub-query.
buildingMaterial?Building-material attributes; null when the product carries none.
colorSizeVariants?array<>|The product's colour/size variant grid. Loaded only with the ColorSizeVariants sub-query.
eshopCategorizationGroups?array<>|Ids of the groups the product is published under in the web shop.
eshopCategorizationSubGroups?array<>|Ids of the sub-groups the product is published under in the web shop.
eshopCategorizationThemes?array<>|Ids of the themes the product is published under in the web shop.
foreignNames?array<>|The product's name in other languages.
gardening?Gardening attributes; null when the product carries none.
gardeningColorFullness?Gardening colour-fullness attributes; null when the product carries none.
gardeningStyle?Gardening style attributes; null when the product carries none.
individualParameters?array<>|Values of the instance's own custom product parameters.
jewellery?Jewellery and watch attributes; null when the product carries none.
notes?Internal notes on the product. Loaded only with the Notes sub-query.
photos?array<>|The product's photo slots. Loaded only with the Photos sub-query; fetch the images themselves from the photo endpoint.
prices?array<>|The product's selling prices per price level. Loaded only with the Prices sub-query.
recipes?array<>|Component products this one is assembled from.
relatedProducts?array<>|Products presented alongside this one as accessories or add-ons.
shoe?Footwear attributes; null when the product carries none.
similarProducts?array<>|Products presented alongside this one as comparable.
sport?Sporting-goods attributes; null when the product carries none.
suppliersInfo?array<>|Per-supplier purchasing terms. Loaded only with the SuppliersInfo sub-query.
suppliersProductCodes?array<>|The codes each supplier uses for this product.
texts?Long descriptive texts, typically for the web shop. Loaded only with the Texts sub-query.
units?array<>|Units of measure the product can be traded in, each with its conversion to the base unit. Loaded only with the Units sub-query.
userGroups?array<>|User groups the product belongs to, which drive who can reach it and which price rules apply.
response?unknownapplication/octet-streamcurl -X PUT 'https://<your-instance>/api/products/0' \ -H 'Authorization: Bearer <access-token>' \ -H 'Content-Type: application/json' \ -d '{ "productName": "Updated Product Name"}'nullDelete a product DELETE
Deletes the product with its child collections and returns 204. Cannot be undone. Call `GET {productId}/check-delete` first to find out whether the delete is allowed. Requires `Permissions.Product.Delete`.
List a product's attachments GET
Returns the attachments of the product with their metadata, without the file contents. Requires `Permissions.Product.View`.