PUT v1/Products

Update an existing Product.

Request Information

URI Parameters

None.

Body Parameters

The product.

ProductChanges
NameDescriptionTypeAdditional information
SyncProductGroupsOnSave

Set this property to true, to update the ProductGroups collection when saving.

boolean

None.

SyncPropertiesOnSave

Set this property to true, to update the Properties collection when saving.

boolean

None.

SyncProductRelationsOnSave

Set this property to true, to update the Product Relations collection when saving.

boolean

None.

OrderComment

Gets or sets the OrderComment.

string

Max length: 2147483647

UnClass

Gets or sets the UnClass. Possible keys to use (key | Explationation): 1 | Explosives 1 1.1 | Division 1.1 Explosives with a mass explosion hazard 1.2 | Division 1.2 Explosives with a projection hazard 1.3 | Division 1.3 Explosives with predominantly a fire hazard 1.4 | Division 1.4 Explosives with no significant blast hazard 1.5 | Division 1.5 Very insensitive explosives 1.6 | Division 1.6 Extremely insensitive explosive materials 2 | Class 2 Gases 2.1 | Division 2.1 Flammable gases 2.2 | Division 2.2 Non-Flammable, compressed gases 2.3 | Division 2.3 Toxic gas 3 | Class 3 Flammable liquids 4 | Class 4 Flammable solids 4.1 | Division 4.1 Flammable solids, self-reactive substances and solid desensitised explosives 4.2 | Division 4.2 Substances liable to spontaneous combustion 4.3 | Division 4.3 Substances that in contact with water emit flammable gases. 5 | Class 5 Oxidising substances 5.1 | Division 5.1 Oxidising substances other than organic peroxides 5.2 | Division 5.2 Organic peroxides 6 | Class 6 Toxic and infectious substances 6.1 | Division 6.1 Toxic substances 6.2 | Division 6.2 Infectious substances 7 | Class 7 Radioactive material 7.1 | Category I, Category II, Category III and fissile material (capable of nuclear explosion) 8 | Class 8 Corrosive substances 9 | Class 9 Miscellaneous dangerous substances and articles

string

Max length: 5

UnNumber

Gets or sets the UnNumber.

integer

None.

UnPackingGroup

Gets or sets the UnPackingGroup. Possible keys to use (key | Explationation): 1 | Group I: High Danger 2 | Group II: Medium Danger 3 | Group III: Low Danger

integer

None.

MainImageChangedTimestamp

Gets the changed timestamp of the Main Image.

date

None.

SyncEnabled

Gets or sets a value indicating whether [synchronize enabled].

boolean

Required

Properties

A collection of translatable Product Properties. Following property codes are system properties which can be used: "Name", "Description", "Published", "DescriptionLong", "MetaTitle", "MetaKeywords", "MetaDescription", "NameTemplate", "DescriptionTemplate", "DescriptionLongTemplate"

Collection of ProductProperty

None.

ShopGroupId

Gets or sets the shop group identifier.

integer

Required

Note

Gets or sets the note.

string

Max length: 2147483647

RefCode

An optional reference for the Product.

string

Max length: 500

ProductBrand

Optionally contains Brand information for the Product.

ProductBrand

None.

ProductVariantParentId

The Id to the ProductVariant parent. The Type of the product should be ProductVariant (2) when used.

integer

None.

VariantInfo

This field contains a summary of the values of the Variation properties. This field is only used when the Type = ProductVariant (2). Eg: 'Black | XL'

string

Max length: 100

CreationDate

Gets the creation date.

date

Required

KeepStock

Gets or sets a value indicating whether [keep stock].

boolean

Required

IsShippable

Gets or sets a value indicating whether [is shippable]. Note: when a product is not shippable, you can not manage stock for the product.

boolean

Required

MinimumStock

Gets or sets the minimum stock.

decimal number

Required

MainImageFileId

Gets or sets the main image file identifier.

integer

None.

Published

Gets or sets a value indicating whether this <see cref="T:ShopCtrl.API.Models.Product" /> is published.

boolean

Required

Weight

Gets or sets the weight.

decimal number

None.

WeightUOMId

Gets or sets the weight uom identifier.

integer

None.

Height

Gets or sets the height.

decimal number

None.

SizeUOMId

Gets or sets the Size (used for length/height/width/diameter) uom identifier.

integer

None.

Length

Gets or sets the length.

decimal number

None.

Width

Gets or sets the width.

decimal number

None.

Diameter

Gets or sets the Diameter.

decimal number

None.

VolumeUOMId

Gets or sets the Volume uom identifier.

integer

None.

Volume

Gets or sets the Volume.

decimal number

None.

PriceExVat

Gets or sets the price ex vat.

decimal number

Required

ProductPropertyDefSetId

Gets or sets the product property definition set identifier.

integer

None.

TransportCategoryId

The Transport Category assigned to the Product.

integer

None.

RequiresLotNumber

Indication whether LotNumbers are required for StockItems

boolean

Required

RequiresExpiryDate

Indication whether ExpiryDate are required for StockItems

boolean

Required

RequiresSerialNumber

Indication whether SerialNumbers are required for StockItems

boolean

Required

IsGroupedProduct

Returns whether this product is a grouped product. This field is readonly.

boolean

None.

ExpiryWarningUnit

Determines the time frame (either daily or monthly) for issuing the first and second expiry warnings.

ExpireWarningUnitEnum

None.

FirstExpiryWarning

How many intervals are needed to trigger the first warning of a StockItem expiring. If the value is less than zero or null, the existing database value will be removed.

integer

None.

SecondExpiryWarning

How many intervals are needed to trigger the second warning of a StockItem expiring. If the value is less than zero or null, the existing database value will be removed.

integer

None.

ProductGroups

Gets or sets the product groups.

Collection of integer

None.

ProductRelations

Gets a list of all Product Relations. Relations can exist for cross-sell, up-sell, etc.

Collection of ProductRelation

None.

ProductVariantPropertyDefIds

This collection holds the Id's of ProductPropertyDefinitions which are used to create Product Variants for. This collection is only used when the Product is of the Type ProductVariantParent.

Collection of integer

None.

ProductVariantIds

This collection holds the Id's of the (child) Product Variants. This collection is only used when the Product is of the Type ProductVariantParent.

Collection of integer

None.

OriginCountryId

Gets or sets the Country of Origin.

integer

None.

OriginCountryCode

Gets or sets the country code (ISO2) for the Country of Origin.

string

None.

Id

Gets or sets the identifier.

integer

Required

Code

Gets or sets the code.

string

Required

Max length: 100

Name

Gets or sets the name.

string

Max length: 400

Hscode

Gets or sets the Harmonized System Code.

string

Max length: 20

EAN

Gets or sets the European Article Number.

string

Max length: 20

Type

The ProductType, available: SimpleProduct = 0, ProductVariantParent = 1, ProductVariant = 2

integer

None.

IsLocked

Indicates whether product is locked against changes

boolean

Required

Request Formats

application/json, text/json

Sample:
{
  "SyncProductGroupsOnSave": true,
  "SyncPropertiesOnSave": true,
  "SyncProductRelationsOnSave": true,
  "OrderComment": "sample string 4",
  "UnClass": "sample string 5",
  "UnNumber": 1,
  "UnPackingGroup": 1,
  "MainImageChangedTimestamp": "2026-01-11T16:13:37.3654233+01:00",
  "SyncEnabled": true,
  "Properties": [
    {
      "CultureId": 1,
      "ShopId": 1,
      "ProductPropertyDefId": 1,
      "Code": "sample string 2",
      "Value": "sample string 3"
    },
    {
      "CultureId": 1,
      "ShopId": 1,
      "ProductPropertyDefId": 1,
      "Code": "sample string 2",
      "Value": "sample string 3"
    }
  ],
  "ShopGroupId": 7,
  "Note": "sample string 8",
  "RefCode": "sample string 9",
  "ProductBrand": {
    "Id": 1,
    "Name": "sample string 2",
    "Ref1": "sample string 3",
    "Ref2": "sample string 4",
    "Enabled": true,
    "LogoFileId": 1
  },
  "ProductVariantParentId": 1,
  "VariantInfo": "sample string 10",
  "CreationDate": "2026-01-11T16:13:37.3654233+01:00",
  "KeepStock": true,
  "IsShippable": true,
  "MinimumStock": 14.0,
  "MainImageFileId": 1,
  "Published": true,
  "Weight": 1.0,
  "WeightUOMId": 1,
  "Height": 1.0,
  "SizeUOMId": 1,
  "Length": 1.0,
  "Width": 1.0,
  "Diameter": 1.0,
  "VolumeUOMId": 1,
  "Volume": 1.0,
  "PriceExVat": 16.0,
  "ProductPropertyDefSetId": 1,
  "TransportCategoryId": 1,
  "RequiresLotNumber": true,
  "RequiresExpiryDate": true,
  "RequiresSerialNumber": true,
  "IsGroupedProduct": true,
  "ExpiryWarningUnit": 1,
  "FirstExpiryWarning": 1,
  "SecondExpiryWarning": 1,
  "ProductGroups": [
    1,
    2
  ],
  "ProductRelations": [
    {
      "RelatedProductId": 1,
      "RelationType": 2,
      "Quantity": 3,
      "Sequence": 4
    },
    {
      "RelatedProductId": 1,
      "RelationType": 2,
      "Quantity": 3,
      "Sequence": 4
    }
  ],
  "ProductVariantPropertyDefIds": [
    1,
    2
  ],
  "ProductVariantIds": [
    1,
    2
  ],
  "OriginCountryId": 1,
  "OriginCountryCode": "sample string 18",
  "Id": 19,
  "Code": "sample string 20",
  "Name": "sample string 21",
  "Hscode": "sample string 22",
  "EAN": "sample string 23",
  "Type": 24,
  "IsLocked": true
}

application/xml

Sample:

Sample not available.

text/xml

Sample:

Sample not available.

Response Information

Resource Description

The HttpResponseMessage object.

HttpResponseMessage
NameDescriptionTypeAdditional information
Version

Version

None.

Content

HttpContent

None.

StatusCode

HttpStatusCode

None.

ReasonPhrase

string

None.

Headers

Collection of Object

None.

RequestMessage

HttpRequestMessage

None.

IsSuccessStatusCode

boolean

None.