# Create product Endpoint: POST /products Version: 1.0.0 Security: oauth2 ## Request fields (application/json): - `productCategory` (string, required) - `subProductCategory` (string,null) - `projectNumber` (integer,null) - `itemDetails` (object) - `itemDetails.name` (string, required) - `itemDetails.productDescription` (object) - `itemDetails.productDescription.description` (string,null) - `itemDetails.productDescription.languageCode` (string,null) - `itemDetails.attachment` (object) - `itemDetails.attachment.imageData` (string,null) 'itemDetails.productDescription.*.description' => ['nullable'], 'itemDetails.productDescription.*.languageCode' => ['nullable'], - `itemDetails.attachment.attachedData` (string,null) - `tradeItemIdentification` (object) - `tradeItemIdentification.suppliersTradeItemId` (string,null) 'itemDetails.attachment.imageData.*.name' => ['required'], 'itemDetails.attachment.imageData.*.data' => ['required'], 'itemDetails.attachment.attachedData.name' => ['required'], 'itemDetails.attachment.attachedData.data' => ['required'], 'websiteURI' => ['nullable', 'url'], - `physicalDimensions` (object) - `physicalDimensions.height` (number,null) - `physicalDimensions.width` (number,null) - `physicalDimensions.depth` (number,null) - `physicalDimensions.uoMMeasurement` (string,null) - `quantity` (object) - `quantity.quantityValue` (number, required) - `quantity.quantityUoM` (string, required) - `priceInformation` (object) - `priceInformation.price` (number,null) - `priceInformation.priceBase` (object) - `priceInformation.priceBase.VATInformation` (boolean,null) - `priceInformation.priceBase.numberOfUnitsInPriceBasis` (string,null) - `priceInformation.priceBase.priceOnRequestIndicator` (boolean,null) - `itemCharacteristics` (object) - `itemCharacteristics.technicalQuality` (string,null) - `itemCharacteristics.aestheticQuality` (string,null) - `itemCharacteristics.rawMaterial` (string,null) - `itemCharacteristics.color` (string,null) - `validityInformation` (object) - `validityInformation.statusCode` (string,null) Enum: "Beschikbaar", "Te koop", "Gereserveerd", "Geleverd", "Verkocht" - `validityInformation.validityStartDate` (string,null) - `validityInformation.validityEndDate` (string,null) - `person` (object) - `person.personName` (string,null) - `person.contactInformation` (object) - `person.contactInformation.emailAddress` (string,null) - `address` (object) - `address.street` (string,null) - `address.postalCode` (string,null) - `address.city` (string, required) - `genericEnvironmentalInformation` (object) - `genericEnvironmentalInformation.co2Reduction` (number,null) - `genericEnvironmentalInformation.eciResult` (number,null) - `genericEnvironmentalInformation.mkiNMDid` (string,null) - `genericEnvironmentalInformation.noxResult` (number,null) ## Response 201 fields (application/json): - `id` (string, required) ## Response 400 fields (application/json): - `error` (string, required) Enum: "Unknown subProductCategory value" ## Response 401 fields (application/json): - `message` (string, required) Error overview. ## Response 403 fields (application/json): - `message` (string, required) Error overview. ## Response 422 fields (application/json): - `message` (string, required) Errors overview. - `errors` (object, required) A detailed description of each field that failed validation.