WinShopAPI docs
ReferenceProduct

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`.

PUT
/api/products/{productId}

Authorization

Bearer
headerAuthorizationBearer <token>

OAuth 2.0 client credentials. Obtain a client id/secret from Winshop support ([email protected]), then POST to the token URL.

Path Parameters

productId*integer
Formatint32

Request Body

application/json
  1. body
adr?|

ADR dangerous-goods classification code for transport.

Lengthlength <= 15
ageLimitId?|

Id from the age limits item list giving the minimum customer age for sale.

Formatint32
alternativeShade?|

Free-text alternative colour shade designation.

Lengthlength <= 20
atest?|

Certification (attestation) reference for the product.

Lengthlength <= 10
automaticBatchNumber?|

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.

Formatint32
calculateOnMovement?|

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.

Formatint32
collectionCard?boolean|null
color?|
Formatint32
commercialPackagingId?|

Id from the commercial packages item list.

Formatint32
commissionPercent?|
Formatdecimal
commodity?|

Free-text commodity classification code.

Lengthlength <= 10
companyCreditFromCodeBook?boolean|null
comparatorUnitId?|

Id from the comparison units item list, used for unit-price comparison.

Formatint32
countryOfOriginId?|

Id from the countries item list giving the country of origin.

Formatint32
createdAt?|

When the product was created, in server local time; read-only, set by the server.

Formatdate-time
creditWithInvoice?|

For credit products: the credit is topped up by the invoice amount.

customsCodeId?|

Id from the customs tariff codes item list.

Formatint32
deactivateAfterSellOut?|

Automatically mark the product inactive once it is sold out in all warehouses.

density?|

Density of the material.

Formatdecimal
depth?|Deprecated

Obsolete, read-only: net depth of the base unit; use the product's units collection instead.

Formatdecimal
depthInPackaging?|Deprecated

Obsolete, read-only: gross (packaged) depth; use the product's units collection instead.

Formatdecimal
depthInPackagingUnitId?|Deprecated

Obsolete, read-only: unit id of DepthInPackaging; use the product's units collection instead.

Formatint32
depthUnitId?|Deprecated

Obsolete, read-only: unit id of Depth; use the product's units collection instead.

Formatint32
descriptionEshop?|

Product description for the e-shop; may contain HTML.

deviation?|
Formatdecimal
diameter?|Deprecated

Obsolete, read-only: net diameter of the base unit; use the product's units collection instead.

Formatdecimal
diameterInPackaging?|Deprecated

Obsolete, read-only: gross (packaged) diameter; use the product's units collection instead.

Formatdecimal
diameterInPackagingUnitId?|Deprecated

Obsolete, read-only: unit id of DiameterInPackaging; use the product's units collection instead.

Formatint32
diameterUnitId?|Deprecated

Obsolete, read-only: unit id of Diameter; use the product's units collection instead.

Formatint32
dimension?|Deprecated

Obsolete, read-only: free-text dimension of the base unit; use the product's units collection instead.

Lengthlength <= 40
dimensionStandard?|

Designation of the dimensional standard the product conforms to.

Lengthlength <= 20
dimensionUnitId?|Deprecated

Obsolete, read-only: unit id of Dimension; use the product's units collection instead.

Formatint32
doNotPairPermanently?boolean|null
dryMatter?|

Dry matter content of the product.

Formatdecimal
electricDevice?|

The product is electrical equipment (subject to e-waste rules).

electronicSecurity?|

The product carries an electronic anti-theft security tag.

environmentalTaxId?|Deprecated

Obsolete alias of RecyclingFeeId; use RecyclingFeeId instead.

Formatint32
eshop1?|

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.

Formatint32
eshopThemeId?|

Id from the themes item list used for the e-shop.

Formatint32
eshopUnitId?|

Id from the units item list of the base unit presented on the e-shop.

Formatint32
estimatedProductionTime?|

Estimated time needed to produce the product.

Formatdecimal
excludeFromRepricing?|

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.

Formatdecimal
franchiseSupplyFromOwnWarehouses?|

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.

Formatint32
guid?|

Globally unique identifier of the product; read-only, generated by the server.

Formatguid
height?|Deprecated

Obsolete, read-only: net height of the base unit; use the product's units collection instead.

Formatdecimal
heightInPackaging?|Deprecated

Obsolete, read-only: gross (packaged) height; use the product's units collection instead.

Formatdecimal
heightInPackagingUnitId?|Deprecated

Obsolete, read-only: unit id of HeightInPackaging; use the product's units collection instead.

Formatint32
heightUnitId?|Deprecated

Obsolete, read-only: unit id of Height; use the product's units collection instead.

Formatint32
hideOnTouchScreen?|

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.

Formatint32
ignoreWarehouseStatus?|

The POS ignores the "in-stock products only" setting for this product.

infoPanelId?|

Id from the info panels item list.

Formatint32
intakeLossPercentage?|

Expected loss during goods intake, in percent.

Formatdecimal
isAssembly?|

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.

Lengthlength <= 50
labelTypeId?|

Id from the label types item list used when printing labels.

Formatint32
lastMainSupplierPurchasePrice?|

Most recent purchase price from the main supplier, excluding VAT.

Formatdecimal
lastModify?|

When the product was last modified, in server local time; maintained by the server.

Formatdate-time
lastPurchasePrice?|

Most recent purchase price, excluding VAT; read-only, updated by goods intake.

Formatdecimal
limitedEdition?|

Marketing flag: the product is a limited edition.

listOutPriority?|

Priority used to order the product in listings.

Formatint32
loadCapacity?|

Load-bearing capacity of the product.

Formatdecimal
mandatoryExpiration?|

An expiry date is mandatory on every stock movement of the product.

manufacturersBrandId?|

Id from the brands/manufacturers item list.

Formatint32
manufacturersWebSite?|

URL of the manufacturer's website.

Lengthlength <= 200
materialLiability?boolean|null
materialStandard?|

Designation of the material standard the product conforms to.

Lengthlength <= 20
maxDiscount?|

Maximum discount, in percent, that may be applied to the product.

Formatdecimal
maxOperatingTemperature?|

Maximum operating temperature of the product.

Formatdecimal
maxProductionBatch?|

Maximum quantity that can be produced in one production batch.

Formatdecimal
maxStorageTemperature?|

Maximum allowed storage temperature.

Formatdecimal
minMargin?|

Minimum margin, in percent, allowed on the product.

Formatdecimal
minOperatingTemperature?|

Minimum operating temperature of the product.

Formatdecimal
minStorageTemperature?|

Minimum allowed storage temperature.

Formatdecimal
modelId?|

Id from the models item list.

Formatint32
monitorFatContent?|

Fat content of the product is monitored (meat processing).

nameWithoutDiacritics?|

Product name with diacritics stripped, for searching; read-only, generated by the server.

Lengthlength <= 200
newsPanelId?|

Id from the news panels item list.

Formatint32
notifyOnSaleIntoNegative?|

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?|
Formatint32
orderSupplierOnlyWholePackages?|

Supplier orders may only order whole packages of the product.

packagingSet?boolean|null
packagingSetItemCount?|

Number of items in the set.

Formatint32
paintThinner?|

Recommended thinner for paints and coatings.

Lengthlength <= 20
pickUpOnlyAtStore?|

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.

Formatint32
pluQuickCodeWeight?|

Quick-code position of the product on the weighing scale.

Formatint32
pluWeight?|

PLU number of the product on the weighing scale.

Formatint32
points?|

Loyalty points awarded when the product is purchased.

Formatint32
posCanChangePrice?|

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|null
posDoNotAddUpSameProduct?|

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.

Formatdecimal
posPrintComposition?|

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.

Lengthlength <= 10
productCode?|

Unique product code; generated by the server when the instance auto-generates codes, otherwise optional; cannot change after creation.

Lengthlength <= 50
productFunctionalityId?|
Formatint32
productId?|

Unique product id; read-only, generated by the server on creation.

Formatint32
productManagerUserId?|

Id of the user responsible for the product as its product manager.

Formatint32
productName?|

Full product name (required on create).

Lengthlength <= 200
productNameEshop?|

Product name used on the e-shop instead of the main name.

Lengthlength <= 200
productNameEshopShort?|

Short product name used on the e-shop.

Lengthlength <= 45
productNameShort?|

Short product name for receipts and compact listings.

Lengthlength <= 50
productStatusId?|
Formatint32
productionMustWeigh?|

The product must be weighed during production.

quality?|

Free-text quality grade.

Lengthlength <= 10
qualityId?|

Id from the qualities item list.

Formatint32
quantityUnitId?|

Quantity in the base unit that corresponds to the comparison unit (a quantity, despite the name).

Formatdecimal
recyclingFeeId?|

Id from the recycling fees item list; the fee amount comes from that list.

Formatint32
returnablePackaging?|

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.

Formatdecimal
returnablePackagingProductId?|

Product id of the returnable packaging item sold with this product.

Formatint32
returnablePackagingQuantity?|

Quantity of returnable packaging per unit of the product sold.

Formatdecimal
returnablePackagingWeight?boolean|null
ripeningTime?|

Ripening (maturing) time of the product.

Formatdecimal
roDiscount?boolean|null
royaltyId?|

Id from the royalties item list; the royalty amount comes from that list.

Formatint32
s01?|

Free-form custom text field 1; its meaning is instance-specific.

Lengthlength <= 50
s02?|

Free-form custom text field 2; its meaning is instance-specific.

Lengthlength <= 50
s03?|

Free-form custom text field 3; its meaning is instance-specific.

Lengthlength <= 50
s04?|

Free-form custom text field 4; its meaning is instance-specific.

Lengthlength <= 50
sapMaterialNumber?|

Material number of the product in SAP, for SAP integrations.

Lengthlength <= 50
sazka?|

The product is a Sazka (Czech lottery operator) product sold at the POS.

seasonId?|

Id from the seasons item list.

Formatint32
sendToScale?|

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.

Formatdecimal
shade?|

Free-text colour shade designation.

Lengthlength <= 20
shareWithFranchise?|

Share the product with franchisees.

shareWithFranchiseSK?|

Share the product with Slovak franchisees.

shelfLife?|

Shelf life (expiry period) of the product.

Formatdecimal
shelfLifeEshop?|

Shelf life (expiry period) presented on the e-shop.

Formatdecimal
shouldWeighGoods?|

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.

Formatdecimal
specializedTransportation?|

The product requires special transport (fragile or bulky).

statisticalNumber?|

Statistical (Intrastat/customs) number of the product.

Lengthlength <= 17
stockPrice?|

Current stock price per base unit, excluding VAT; read-only, maintained by stock movements.

Formatdecimal
storageLossPercentage?|

Expected loss during storage, in percent.

Formatdecimal
strengthId?|

Id from the strengths item list (building materials).

Formatint32
subGroupId?|

Id of the product subgroup; must belong to the given group.

Formatint32
supplierId?|

Id of the product's main supplier.

Formatint32
supplierProductCode?|

The main supplier's own code for this product.

Lengthlength <= 50
takeAway?|

Take-away item (sold for consumption off premises).

temperatureControlDuringIntake?|

Temperature must be checked when the product is received.

temporaryCard?boolean|null
themeId?|

Id of the product theme, the top level of the theme/group/subgroup category hierarchy (required on create).

Formatint32
transportCost?|
Formatdecimal
typeNumber?|
Lengthlength <= 50
unitId?|

Id of the base unit of measure from the units item list; required on create and cannot be changed afterwards.

Formatint32
unitsPerPackage?|

Number of base units in one package.

Formatdecimal
useCommercialPackagingOnIntake?|

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.

Formatint32
usesColor?|

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|null
voc?|

Volatile organic compound (VOC) content of the product.

Formatdecimal
volume?|Deprecated

Obsolete, read-only: volume of the base unit; use the product's units collection instead.

Lengthlength <= 20
volumeInPackaging?|Deprecated

Obsolete, read-only: gross (packaged) volume; use the product's units collection instead.

Lengthlength <= 20
volumeInPackagingUnitId?|Deprecated

Obsolete, read-only: unit id of VolumeInPackaging; use the product's units collection instead.

Formatint32
volumeUnitId?|Deprecated

Obsolete, read-only: unit id of Volume; use the product's units collection instead.

Formatint32
voucherCheckNumber?|

For vouchers: the voucher number must be recorded when sold.

wastePercentage?|

Waste percentage used in production and recipe quantity calculations.

Formatdecimal
weight?|Deprecated

Obsolete, read-only: net weight of the base unit; use the product's units collection instead.

Formatdecimal
weightInPackaging?|Deprecated

Obsolete, read-only: gross (packaged) weight; use the product's units collection instead.

Formatdecimal
weightInPackagingUnitId?|Deprecated

Obsolete, read-only: unit id of WeightInPackaging; use the product's units collection instead.

Formatint32
weightUnitId?|Deprecated

Obsolete, read-only: unit id of Weight; use the product's units collection instead.

Formatint32
width?|Deprecated

Obsolete, read-only: net width of the base unit; use the product's units collection instead.

Formatdecimal
widthInPackaging?|Deprecated

Obsolete, read-only: gross (packaged) width; use the product's units collection instead.

Formatdecimal
widthInPackagingUnitId?|Deprecated

Obsolete, read-only: unit id of WidthInPackaging; use the product's units collection instead.

Formatint32
widthUnitId?|Deprecated

Obsolete, read-only: unit id of Width; use the product's units collection instead.

Formatint32
alternativeProducts?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 Body

response?unknownapplication/octet-stream
curl -X PUT 'https://<your-instance>/api/products/0' \  -H 'Authorization: Bearer <access-token>' \  -H 'Content-Type: application/json' \  -d '{  "productName": "Updated Product Name"}'
null