GET v1/Products/{productId}
Get detailed information about a product.
Request Information
URI Parameters
| Name | Description | Type | Additional information |
|---|---|---|---|
| productId |
The id of the product. |
integer |
Required. |
Body Parameters
None.
Response Information
Resource Description
The Product object.
Product| Name | Description | Type | Additional information |
|---|---|---|---|
| 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. |
| QtyAvailable |
Gets or sets the qty available. |
decimal number |
Required |
| QtyOnHand |
Gets or sets the qty on hand. |
decimal number |
Required |
| QtyReserved |
Gets or sets the qty reserved. |
decimal number |
Required |
| 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. |
| Resources |
Gets a list of all Product Resources. Resources can be additional images, documents, etc. |
Collection of ProductResource |
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 |
| ChangedTimestamp |
Gets the changed timestamp. |
date |
None. |
Response Formats
application/json, text/json
{
"OrderComment": "sample string 1",
"UnClass": "sample string 2",
"UnNumber": 1,
"UnPackingGroup": 1,
"MainImageChangedTimestamp": "2026-01-11T16:15:39.907175+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": 4,
"Note": "sample string 5",
"RefCode": "sample string 6",
"ProductBrand": {
"Id": 1,
"Name": "sample string 2",
"Ref1": "sample string 3",
"Ref2": "sample string 4",
"Enabled": true,
"LogoFileId": 1
},
"ProductVariantParentId": 1,
"VariantInfo": "sample string 7",
"CreationDate": "2026-01-11T16:15:39.907175+01:00",
"KeepStock": true,
"IsShippable": true,
"MinimumStock": 11.0,
"MainImageFileId": 1,
"QtyAvailable": 12.0,
"QtyOnHand": 13.0,
"QtyReserved": 14.0,
"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
],
"Resources": [
{
"Id": 1,
"CultureId": 1,
"FileId": 1,
"File": {
"CreatedTimestamp": "2026-01-11T16:15:39.907175+01:00",
"ChangedTimestamp": "2026-01-11T16:15:39.907175+01:00",
"FileLength": 3,
"Checksum": "sample string 4",
"Sequence": 5,
"Base64Data": "sample string 6",
"Id": 7,
"Filename": "sample string 8"
},
"Name": "sample string 2",
"Data": "sample string 3",
"Sequence": 4,
"ResourceType": 5,
"ContentType": 6,
"ChangedTimestamp": "2026-01-11T16:15:39.907175+01:00",
"CreatedTimestamp": "2026-01-11T16:15:39.907175+01:00"
},
{
"Id": 1,
"CultureId": 1,
"FileId": 1,
"File": {
"CreatedTimestamp": "2026-01-11T16:15:39.907175+01:00",
"ChangedTimestamp": "2026-01-11T16:15:39.907175+01:00",
"FileLength": 3,
"Checksum": "sample string 4",
"Sequence": 5,
"Base64Data": "sample string 6",
"Id": 7,
"Filename": "sample string 8"
},
"Name": "sample string 2",
"Data": "sample string 3",
"Sequence": 4,
"ResourceType": 5,
"ContentType": 6,
"ChangedTimestamp": "2026-01-11T16:15:39.907175+01:00",
"CreatedTimestamp": "2026-01-11T16:15:39.907175+01:00"
}
],
"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,
"ChangedTimestamp": "2026-01-11T16:15:39.907175+01:00"
}
application/xml, text/xml
<Product xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Id>19</Id>
<Code>sample string 20</Code>
<Name>sample string 21</Name>
<Hscode>sample string 22</Hscode>
<EAN>sample string 23</EAN>
<Type>24</Type>
<IsLocked>true</IsLocked>
<ChangedTimestamp>2026-01-11T16:15:39.907175+01:00</ChangedTimestamp>
<ShopGroupId>4</ShopGroupId>
<Note>sample string 5</Note>
<RefCode>sample string 6</RefCode>
<ProductBrand>
<Id>1</Id>
<Name>sample string 2</Name>
<Ref1>sample string 3</Ref1>
<Ref2>sample string 4</Ref2>
<Enabled>true</Enabled>
<LogoFileId>1</LogoFileId>
</ProductBrand>
<ProductVariantParentId>1</ProductVariantParentId>
<VariantInfo>sample string 7</VariantInfo>
<CreationDate>2026-01-11T16:15:39.907175+01:00</CreationDate>
<KeepStock>true</KeepStock>
<IsShippable>true</IsShippable>
<MinimumStock>11</MinimumStock>
<MainImageFileId>1</MainImageFileId>
<QtyAvailable>12</QtyAvailable>
<QtyOnHand>13</QtyOnHand>
<QtyReserved>14</QtyReserved>
<Published>true</Published>
<Weight>1</Weight>
<WeightUOMId>1</WeightUOMId>
<Height>1</Height>
<SizeUOMId>1</SizeUOMId>
<Length>1</Length>
<Width>1</Width>
<Diameter>1</Diameter>
<VolumeUOMId>1</VolumeUOMId>
<Volume>1</Volume>
<PriceExVat>16</PriceExVat>
<ProductPropertyDefSetId>1</ProductPropertyDefSetId>
<TransportCategoryId>1</TransportCategoryId>
<RequiresLotNumber>true</RequiresLotNumber>
<RequiresExpiryDate>true</RequiresExpiryDate>
<RequiresSerialNumber>true</RequiresSerialNumber>
<IsGroupedProduct>true</IsGroupedProduct>
<ExpiryWarningUnit>Day</ExpiryWarningUnit>
<FirstExpiryWarning>1</FirstExpiryWarning>
<SecondExpiryWarning>1</SecondExpiryWarning>
<ProductGroups>
<ProductGroupId>1</ProductGroupId>
<ProductGroupId>2</ProductGroupId>
</ProductGroups>
<Resources>
<Resources>
<Id>1</Id>
<CultureId>1</CultureId>
<FileId>1</FileId>
<File>
<Id>7</Id>
<Filename>sample string 8</Filename>
<CreatedTimestamp>2026-01-11T16:15:39.907175+01:00</CreatedTimestamp>
<ChangedTimestamp>2026-01-11T16:15:39.907175+01:00</ChangedTimestamp>
<FileLength>3</FileLength>
<Checksum>sample string 4</Checksum>
<Sequence>5</Sequence>
<Base64Data>sample string 6</Base64Data>
</File>
<Name>sample string 2</Name>
<Data>sample string 3</Data>
<Sequence>4</Sequence>
<ResourceType>5</ResourceType>
<ContentType>6</ContentType>
<ChangedTimestamp>2026-01-11T16:15:39.907175+01:00</ChangedTimestamp>
<CreatedTimestamp>2026-01-11T16:15:39.907175+01:00</CreatedTimestamp>
</Resources>
<Resources>
<Id>1</Id>
<CultureId>1</CultureId>
<FileId>1</FileId>
<File>
<Id>7</Id>
<Filename>sample string 8</Filename>
<CreatedTimestamp>2026-01-11T16:15:39.907175+01:00</CreatedTimestamp>
<ChangedTimestamp>2026-01-11T16:15:39.907175+01:00</ChangedTimestamp>
<FileLength>3</FileLength>
<Checksum>sample string 4</Checksum>
<Sequence>5</Sequence>
<Base64Data>sample string 6</Base64Data>
</File>
<Name>sample string 2</Name>
<Data>sample string 3</Data>
<Sequence>4</Sequence>
<ResourceType>5</ResourceType>
<ContentType>6</ContentType>
<ChangedTimestamp>2026-01-11T16:15:39.907175+01:00</ChangedTimestamp>
<CreatedTimestamp>2026-01-11T16:15:39.907175+01:00</CreatedTimestamp>
</Resources>
</Resources>
<ProductRelations>
<ProductRelations>
<RelatedProductId>1</RelatedProductId>
<RelationType>2</RelationType>
<Quantity>3</Quantity>
<Sequence>4</Sequence>
</ProductRelations>
<ProductRelations>
<RelatedProductId>1</RelatedProductId>
<RelationType>2</RelationType>
<Quantity>3</Quantity>
<Sequence>4</Sequence>
</ProductRelations>
</ProductRelations>
<ProductVariantPropertyDefIds>
<ProductVariantPropertyDefIds>1</ProductVariantPropertyDefIds>
<ProductVariantPropertyDefIds>2</ProductVariantPropertyDefIds>
</ProductVariantPropertyDefIds>
<ProductVariantIds>
<ProductVariantIds>1</ProductVariantIds>
<ProductVariantIds>2</ProductVariantIds>
</ProductVariantIds>
<OriginCountryId>1</OriginCountryId>
<OriginCountryCode>sample string 18</OriginCountryCode>
<OrderComment>sample string 1</OrderComment>
<UnClass>sample string 2</UnClass>
<UnNumber>1</UnNumber>
<UnPackingGroup>1</UnPackingGroup>
<MainImageChangedTimestamp>2026-01-11T16:15:39.907175+01:00</MainImageChangedTimestamp>
<SyncEnabled>true</SyncEnabled>
<Properties>
<Property>
<CultureId>1</CultureId>
<ShopId>1</ShopId>
<ProductPropertyDefId>1</ProductPropertyDefId>
<Code>sample string 2</Code>
<Value>sample string 3</Value>
</Property>
<Property>
<CultureId>1</CultureId>
<ShopId>1</ShopId>
<ProductPropertyDefId>1</ProductPropertyDefId>
<Code>sample string 2</Code>
<Value>sample string 3</Value>
</Property>
</Properties>
</Product>