---
title: "View product V2"
method: GET
path: "/api/v2/products/{id}"
tags: ["Product"]
---

# View product V2

`GET /api/v2/products/{id}`

Returns details of a single product

## Path parameters

- `id` string, required — Resource identifier.

## Response `200`

Operation completed successfully.

- object
  - `data` object
    - `id` string — Resource identifier.
    - `uuid` string — UUID identifier of the resource.
    - `project` object — An object with id and name
      - `id` string, required — Resource identifier.
      - `name` string, required
    - `merchandiseGroup` object, nullable — An optional object with id and name
      - `id` string, required — Resource identifier.
      - `name` string, required
    - `name` string — Name of the product.
    - `standardSupplier` object, nullable — Reference to a standard supplier for this product
      - `id` string, nullable, required — Nullable resource identifier
    - `description` string — Description of the product.
    - `ean` string, nullable — EAN of the product.
    - `stockCount` number
    - `number` string — Number / SKU of the product.
    - `thumbnailUrl` string, nullable — URL of the product's thumbnail.
    - `thumbnailId` string, nullable — ID of the product's thumbnail.
    - `customsTariffNumber` string, nullable — Customs tariff number of the product.
    - `countryOfOrigin` string, nullable — Two-digit ISO country code for country of origin of the product.
    - `tags` object[]
      - `id` string
      - `key` string
      - `name` string
      - `color` string — Hexadecimal color value in 6-digit format without the leading # character.
    - `shortDescription` string — Short description of the product.
    - `internalComment` string — Text only for internal information.
    - `minimumStorageQuantity` number — Numerical minimum storage quantity of the product.
    - `minimumOrderQuantity` number — Numerical minimum order quantity of the product.
    - `isMatrixProduct` boolean — Shows if the product is a matrix product.
    - `hasBatches` boolean — Shows if the product has batches.
    - `serialNumbersMode` string — Shows one of the 4 different modes if the product has serial numbers or not and how they are handled. For more information about the different modes have a look into our handbook.
    - `hasBestBeforeDate` boolean — Shows if the product has a best before date.
    - `allowPurchaseFromAllSuppliers` boolean — Shows if the product can be purchased from all suppliers.
    - `defaultStorageLocation` object, nullable — Default storage location of the product.
      - `id` string — Resource identifier.
    - `isStockTakingDisabled` boolean — Shows if the product is used for stock taking.
    - `ageRating` string, nullable — Shows if the product has an age rating. Currently only used for the shipping service provider DHL.
    - `hasBillOfMaterials` boolean — Shows if the product has a bill of materials.
    - `isPart` boolean — Shows if the product is used as a component in any other product's bill of materials.
    - `partOf` object[] — List of parent products in whose bill of materials this product appears as a component. Empty when isPart is false.
      - `id` string, required — Resource identifier.
    - `isAssembledJustInTime` boolean — Shows if the product is assembled just in time.
    - `hideJustInTimeItemsOnDocuments` boolean — Shows if the just in time items of the parts list are visible on documents.
    - `isProductionProduct` boolean — Shows if the product is made in production.
    - `isExternallyProduced` boolean — Shows if the product is externally produced.
    - `isCustomProduct` boolean — Shows if the product is a custom product.
    - `hidePriceOnDocuments` boolean — Shows if the price is hidden on documents.
    - `isDisabled` boolean — Shows if the product is locked.
    - `disabledReason` string, nullable — Shows the reason why the product is locked when clicking into the product.
    - `isDeleted` boolean — Shows if the product is deleted.
    - `regionOfOrigin` string — Region where the product originates from.
    - `unit` object — Shows the name of the product unit.
      - `name` string
    - `textsAndDescriptions` object — Contains all texts and descriptions of the product.
      - `primaryLanguage` object
        - `name` string — name
        - `shortDescription` string — shortDescription
        - `description` string — description
        - `shopDescription` string — shopDescription
        - `metaTitle` string — metaTitle
        - `metaDescription` string — metaDescription
        - `metaKeywords` string — metaKeywords
        - `catalogName` string — catalogName
        - `catalogText` string — catalogText
      - `english` object
        - `name` string — name
        - `shortDescription` string — shortDescription
        - `description` string — description
        - `shopDescription` string — shopDescription
        - `metaTitle` string — metaTitle
        - `metaDescription` string — metaDescription
        - `metaKeywords` string — metaKeywords
        - `catalogName` string — catalogName
        - `catalogText` string — catalogText
      - `inCatalog` boolean
    - `measurements` object
      - `width` object
        - `value` number, float, required
        - `unit` 'cm', required — Currently only cm as unit allowed.
      - `height` object
        - `value` number, float, required
        - `unit` 'cm', required — Currently only cm as unit allowed.
      - `length` object
        - `value` number, float, required
        - `unit` 'cm', required — Currently only cm as unit allowed.
      - `weight` object
        - `value` number, float, required
        - `unit` 'kg', required — Currently only kg as unit allowed.
      - `netWeight` object
        - `value` number, float, required
        - `unit` 'kg', required — Currently only kg as unit allowed.
    - `manufacturer` object
      - `name` string, nullable — Name of the manufacturer.
      - `number` string, nullable — Product number at the manufacturer.
      - `link` string, nullable — URI of the manufacturer.
    - `isStockItem` boolean — Shows if the product is a stock item.
    - `salesTax` 'standard' | 'reduced' | 'free' — Shows the sales tax of the product.
    - `isShippingCostsProduct` boolean — Determines if a product is used as a shipping costs product. For more information have a look into our handbook.
    - `discount` object
      - `isDiscountProduct` boolean — Determines if a product is used as a discount. For more information have a look into our handbook.
      - `discountPercentage` number, float — Shows the discount value if the product is a discount. For more information have a look into our handbook.
    - `stockTaking` object — Contains settings for stock taking.
      - `hasStockTakingValue` boolean — Shows if the stock taking value should be used instead of the purchase price for stock taking.
      - `stockTakingValue` number, float — Shows the stock taking value for stock taking.
    - `calculatedPurchasePrice` object — Contains settings for the calculated purchase price.
      - `hasCalculatedPurchasePrice` boolean — Shows if the calculatedPurchasePrice should be used.
      - `price` object — Money object with amount and currency. If no currency is set, EUR is returned.
        - `amount` string, float — A string representing the amount
        - `currency` 'EUR' | 'USD' | 'JPY' | 'BGN' | 'CZK' | 'DKK' | 'GBP' | 'HUF' | 'PLN' | 'RON' | 'SEK' | 'CHF' | 'ISK' | 'NOK' | 'HRK' | 'RUB' | 'TRY' | 'AUD' | 'BRL' | 'CAD' | 'CNY' | 'HKD' | 'IDR' | 'ILS' | 'INR' | 'KRW' | 'MXN' | 'MYR' | 'NZD' | 'PHP' | 'SGD' | 'THB' | 'ZAR' | 'ARS' | 'CLP' | 'SAR' | 'AED' | 'QAR' — Currency matches one of currency values as specified in ISO-4217.
    - `calculatoryPurchasePriceSettings` object — Contains settings for the calculatory purchase price triggers.
      - `addPurchasePriceToCalculationTriggers` string[], nullable — Define triggers that will add a purchase price to the product calculation.
      - `calculatoryPurchasePriceRecalculationTriggers` string[], nullable — Define triggers that will execute the calculatory purchase price recalculation.
      - `calculatoryPurchasePriceRecalculationMethod` 'allRecordedPurchasesWeightedAverage' | 'latestPurchaseOrdersWeightedAverage' | 'movingAverage', nullable — defines the calculation method or price recalculation
    - `salesChannel` object
      - `description` string
      - `meta` object
        - `title` string
        - `description` string
        - `keywords` string
      - `isStockNumberSyncActive` union — Loose boolean type which accepts boolean, number 0 or 1 and string 'true' or 'false'
        - boolean
        - 0 | 1
        - 'true' | 'false' | 'True' | 'False' | 'TRUE' | 'FALSE'
      - `isSoldOut` union — Loose boolean type which accepts boolean, number 0 or 1 and string 'true' or 'false'
        - boolean
        - 0 | 1
        - 'true' | 'false' | 'True' | 'False' | 'TRUE' | 'FALSE'
      - `isRemainingQuantity` union — Loose boolean type which accepts boolean, number 0 or 1 and string 'true' or 'false'
        - boolean
        - 0 | 1
        - 'true' | 'false' | 'True' | 'False' | 'TRUE' | 'FALSE'
      - `suggestedRetailPrice` string, float, nullable — Was earlier called shopPriceDisplay. Only used by some online shops. For more information have a look into our handbook.
      - `isVisible` union — Loose boolean type which accepts boolean, number 0 or 1 and string 'true' or 'false'
        - boolean
        - 0 | 1
        - 'true' | 'false' | 'True' | 'False' | 'TRUE' | 'FALSE'
      - `suggestedStockQuantity` string — Sets the suggested stock quantity for all sales channels.
      - `deliveryTime` string — Shows the delivery time for all sales channels.
      - `createNewProductDuringImport` boolean — Shows if a new product is generated during the sales order import from all sales channels.
      - `channels` object[], nullable
        - `id` string — Resource identifier.
        - `salesChannel` object — Reference to another resource
          - `id` string, required — Resource identifier.
        - `isActive` union — Loose boolean type which accepts boolean, number 0 or 1 and string 'true' or 'false'
          - boolean
          - 0 | 1
          - 'true' | 'false' | 'True' | 'False' | 'TRUE' | 'FALSE'
        - `useIndividualSalesChannelSettings` union — Loose boolean type which accepts boolean, number 0 or 1 and string 'true' or 'false'
          - boolean
          - 0 | 1
          - 'true' | 'false' | 'True' | 'False' | 'TRUE' | 'FALSE'
        - `isStockNumberSyncActive` union — Loose boolean type which accepts boolean, number 0 or 1 and string 'true' or 'false'
          - boolean
          - 0 | 1
          - 'true' | 'false' | 'True' | 'False' | 'TRUE' | 'FALSE'
        - `isRemainingQuantity` union — Loose boolean type which accepts boolean, number 0 or 1 and string 'true' or 'false'
          - boolean
          - 0 | 1
          - 'true' | 'false' | 'True' | 'False' | 'TRUE' | 'FALSE'
        - `suggestedRetailPrice` string — Was earlier called shopPriceDisplay. Only used by some online shops. For more information have a look into our handbook.
        - `suggestedStockQuantity` string — Sets the suggested stock quantity for the sales channel.
        - `deliveryTime` string — Shows the delivery time.
        - `handlingTime` string, nullable — Sets the handling time in days for this product. Must be a non-negative integer. This value is only relevant for Amazon sales channels; other sales channels ignore this field.
        - `createNewProductDuringImport` union — Loose boolean type which accepts boolean, number 0 or 1 and string 'true' or 'false'
          - boolean
          - 0 | 1
          - 'true' | 'false' | 'True' | 'False' | 'TRUE' | 'FALSE'
    - `options` object[]
      - `id` string — Resource identifier.
      - `name` string
      - `values` object[]
        - `id` string — Resource identifier.
        - `name` string
        - `sort` integer
    - `selectedOptions` object[]
      - `id` string — Resource identifier.
      - `name` string
      - `values` object[]
        - `id` string — Resource identifier.
        - `name` string
        - `sort` integer
    - `variants` object[]
      - `id` string — Resource identifier.
      - `options` object[]
        - `id` string — Resource identifier.
    - `mainVariant` object, nullable — Reference to a main variant of this product
      - `id` string, required — Resource identifier.
    - `freeFields` object[]
      - `id` string, required — Resource identifier.
      - `name` string, nullable, required
      - `value` string, required
      - `translations` object[], required — Translations for the free fields in different languages.
        - `language` object, required
          - `iso2` string, required — ISO code of the language.
        - `name` string, nullable, required — Translated name of the free field.
        - `value` string, nullable, required — Translated value of the free field.
    - `isVariant` boolean, nullable — Shows if the product is a variant from another product.
    - `variantOf` object, nullable — Reference to a parent product
      - `id` string, required — Resource identifier.
    - `categories` object[]
      - `id` string — Resource identifier.
    - `updatedAt` string, date-time — Timestamp of when the product was updated.

## Other responses

- `400` — IETF RFC 9457 Problem API compliant response
- `401` — Unable to authenticate the client
- `403` — Unable to authorize the client
- `404` — Resource was not found or not enough access privileges
- `429` — Too many API calls made.

---

[API](https://skmtc.dev/xentral/apis/xentral-api.md) · [All operations](https://skmtc.dev/xentral/apis/xentral-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/xentral/xentral-api/revisions/8a27ba392442/schema)
