---
title: "Update an existing article"
method: PUT
path: "/core/latest/articles/{article-id}"
tags: ["Article"]
---

# Update an existing article

`PUT /core/latest/articles/{article-id}`

## Request

- Base URL: `https://api.klara.ch`
- URL: `https://api.klara.ch/core/latest/articles/{article-id}`
- Auth: one of:
  - API key in header `X-API-KEY`
  - HTTP bearer

## Path parameters

- `article-id` string, required

## Request body

- Article: An article.
  - `id` string: Id of the article. Does not need to be included when creating article
  - `nameDE` string, required: Name of the article in German
  - `nameEN` string: Name of the article in English
  - `nameFR` string: Name of the article in French
  - `nameIT` string: Name of the article in Italian
  - `descriptionDE` string: Description of the article in German
  - `descriptionEN` string: Description of the article in English
  - `descriptionFR` string: Description of the article in French
  - `descriptionIT` string: Description of the article in Italian
  - `extendedDescriptionDE` string: Extended description of the article in German
  - `extendedDescriptionEN` string: Extended description of the article in English
  - `extendedDescriptionFR` string: Extended description of the article in French
  - `extendedDescriptionIT` string: Extended description of the article in Italian
  - `unitDE` string, required: Unit of the article in German
  - `unitEN` string: Unit of the article in English
  - `unitFR` string: Unit of the article in French
  - `unitIT` string: Unit of the article in Italian
  - `barcode` string: Barcode of the article
  - `usePos` boolean: Decides if this article is used for POS or not
  - `pricePeriods` PricePeriod[]: Price periods for the article.<br /><a target="_blank" href="/resources/articles/single-price-period.png">If article only has single price period,</a> ignore and don't include validFrom and validTo in the PricePeriod.<br /><a target="_blank" href="/resources/articles/multiple-price-periods.png">If article have different prices valid for different periods</a>, set value for validFrom for each price period or that price period is ignored.
    - `validFrom` string, date: The price period is valid from this time
    - `validTo` string, date: The price period is invalid after this time
    - `price` number: The price used for an article within this price period
    - `priceCategories` PriceCategory[]: List of price categories effective for this price period
      - `name` string: Name of the price category
      - `price` number: Effective price of this price category
  - `options` ArticleOption[]: Options for the article. If specify, variants for this article will be generated.
    - `name` string: Name of the article option
    - `values` string[]: Available choices for the article option
  - `imageHrefs` string[]: Reference uris for the images of this article if present.
  - `isArticleSet` boolean: Decides if this article is an article set
  - `articleSetName` string: Name of the article set. Does not need to be included if article is not an article set.
  - `defaultQuantity` number: The default quantity of the article
  - `accountingTags` string[], required: Tags used for accounting. Articles with the same tag, same VAT case and same VAT rate are grouped together in the posting
  - `articleNumber` string, required: Article number
  - `hasVariant` boolean: Specify if the article has variants or not
  - `includedInArticleSets` string[]: Names of the article sets that the article is included in.<br />If the article have some variants, then only the variants will show the article set name they belong to, not the parent article (null value is shown).
  - `sellInOnlineShop` boolean: Specify if the article is able to be sold on the Online shop or not
  - `isAdultArticle` boolean: Specify if the article is only used for adult or not
  - `productType` 'SERVICE' | 'PRODUCTION' | 'TRADE' | 'OTHER' | 'GIFT_CARD' | 'PREPAYMENT', required: The product type of the article
  - `posCategories` ArticleCategoryRef[]: Categories used for Point of Sale of the article<br />Provide only either id or href of each category when creating Article
    - `id` string: Id of the category. Does not need to be included when creating article
    - `category_href` string, required: Reference uri for an article category. If specified, this article will be assigned to the entered article category.
    - `nameDE` string: Name of the category in german. <br />Does not need to be included when creating article.
    - `nameEN` string: Name of the category in english. <br />Does not need to be included when creating article.
    - `nameFR` string: Name of the category in french. <br />Does not need to be included when creating article.
    - `nameIT` string: Name of the category in italy. <br />Does not need to be included when creating article.
    - `order` integer: Order of this category. <br />Does not need to be included when creating article.
    - `active` boolean: Indicates if the category is active or not
    - `_links` object: links metadata
      - `self` Link: Link metadata
        - `href` string
  - `posFilters` ArticleFilterRef[]: Filters used for Point of Sale of the article<br />Provide only either id or href of each filter when creating Article
    - `id` string: Id of the filter. Does not need to be included when creating article.
    - `filter_href` string, required: Reference uri for an article filter. If specified, this article will be assigned to the entered article filter.
    - `nameDE` string: Name of the filter in german. <br />Does not need to be included when creating article.
    - `nameEN` string: Name of the filter in english. <br />Does not need to be included when creating article.
    - `nameFR` string: Name of the filter in french. <br />Does not need to be included when creating article.
    - `nameIT` string: Name of the filter in italy. <br />Does not need to be included when creating article.
    - `order` integer: Order of this filter. <br />Does not need to be included when creating article.
    - `active` boolean: Indicates if the filter is active or not
    - `_links` object: links metadata
      - `self` Link: Link metadata
        - `href` string
  - `onlineShopCategories` ArticleCategoryRef[]: Categories used for Online shop of the article<br />Provide only either id or href of each category when creating Article
    - `id` string: Id of the category. Does not need to be included when creating article
    - `category_href` string, required: Reference uri for an article category. If specified, this article will be assigned to the entered article category.
    - `nameDE` string: Name of the category in german. <br />Does not need to be included when creating article.
    - `nameEN` string: Name of the category in english. <br />Does not need to be included when creating article.
    - `nameFR` string: Name of the category in french. <br />Does not need to be included when creating article.
    - `nameIT` string: Name of the category in italy. <br />Does not need to be included when creating article.
    - `order` integer: Order of this category. <br />Does not need to be included when creating article.
    - `active` boolean: Indicates if the category is active or not
    - `_links` object: links metadata
      - `self` Link: Link metadata
        - `href` string
  - `onlineShopFilters` ArticleFilterRef[]: Filters used for Online shop of the article<br />Provide only either id or href of each filter when creating Article
    - `id` string: Id of the filter. Does not need to be included when creating article.
    - `filter_href` string, required: Reference uri for an article filter. If specified, this article will be assigned to the entered article filter.
    - `nameDE` string: Name of the filter in german. <br />Does not need to be included when creating article.
    - `nameEN` string: Name of the filter in english. <br />Does not need to be included when creating article.
    - `nameFR` string: Name of the filter in french. <br />Does not need to be included when creating article.
    - `nameIT` string: Name of the filter in italy. <br />Does not need to be included when creating article.
    - `order` integer: Order of this filter. <br />Does not need to be included when creating article.
    - `active` boolean: Indicates if the filter is active or not
    - `_links` object: links metadata
      - `self` Link: Link metadata
        - `href` string
  - `bookingCategories` ArticleCategoryRef[]: Categories used for Online Booking of the article<br /> Provide only either id or href of each category when creating Article
    - `id` string: Id of the category. Does not need to be included when creating article
    - `category_href` string, required: Reference uri for an article category. If specified, this article will be assigned to the entered article category.
    - `nameDE` string: Name of the category in german. <br />Does not need to be included when creating article.
    - `nameEN` string: Name of the category in english. <br />Does not need to be included when creating article.
    - `nameFR` string: Name of the category in french. <br />Does not need to be included when creating article.
    - `nameIT` string: Name of the category in italy. <br />Does not need to be included when creating article.
    - `order` integer: Order of this category. <br />Does not need to be included when creating article.
    - `active` boolean: Indicates if the category is active or not
    - `_links` object: links metadata
      - `self` Link: Link metadata
        - `href` string
  - `searchTags` string[]: Search tags make it easier for your customer to find your product in the online shop
  - `shippingInfo` object: Information used for shipping in the Online Shop
    - `shippingAttributes` string[]: List of attributes used for shipping
    - `weightUnit` 'GRAM' | 'KILOGRAM': Weight unit used for shipping of the article
    - `dimensionUnit` 'CENTIMETER' | 'METER': Dimension unit used for shipping of the article
    - `weight` number: Weight of this article
    - `width` number: Width of this article
    - `height` number: Height of this article
    - `depth` number: Depth of this article
  - `_links` object: links metadata
    - `self` Link: Link metadata
      - `href` string
  - `vats` ArticleVat[]: VAT information for the article
    - `vatType` 'NORMAL' | 'ABROAD' | 'TAKE_AWAY': Article vat type of the article
    - `vatCase` string: VAT case of the article
    - `vatCode` string: VAT code of the article VAT
    - `sss1` boolean: Reporting net tax rate with SSS1 option
    - `sss2` boolean: Reporting net tax rate with SSS2 option
    - `reportingNetTaxRate` boolean: Using VAT reporting net tax rate option
    - `excludeVat` boolean: Using exclude VAT option
  - `numberType` 'NO_NUMBER' | 'BATCH_NUMBER' | 'SERIAL_NUMBER': Inventory Number Type<br />Use either NO_NUMBER or SERIAL_NUMBER

## Response `200`

Article updated

- Article: An article.
  - `id` string: Id of the article. Does not need to be included when creating article
  - `nameDE` string, required: Name of the article in German
  - `nameEN` string: Name of the article in English
  - `nameFR` string: Name of the article in French
  - `nameIT` string: Name of the article in Italian
  - `descriptionDE` string: Description of the article in German
  - `descriptionEN` string: Description of the article in English
  - `descriptionFR` string: Description of the article in French
  - `descriptionIT` string: Description of the article in Italian
  - `extendedDescriptionDE` string: Extended description of the article in German
  - `extendedDescriptionEN` string: Extended description of the article in English
  - `extendedDescriptionFR` string: Extended description of the article in French
  - `extendedDescriptionIT` string: Extended description of the article in Italian
  - `unitDE` string, required: Unit of the article in German
  - `unitEN` string: Unit of the article in English
  - `unitFR` string: Unit of the article in French
  - `unitIT` string: Unit of the article in Italian
  - `barcode` string: Barcode of the article
  - `usePos` boolean: Decides if this article is used for POS or not
  - `pricePeriods` PricePeriod[]: Price periods for the article.<br /><a target="_blank" href="/resources/articles/single-price-period.png">If article only has single price period,</a> ignore and don't include validFrom and validTo in the PricePeriod.<br /><a target="_blank" href="/resources/articles/multiple-price-periods.png">If article have different prices valid for different periods</a>, set value for validFrom for each price period or that price period is ignored.
    - `validFrom` string, date: The price period is valid from this time
    - `validTo` string, date: The price period is invalid after this time
    - `price` number: The price used for an article within this price period
    - `priceCategories` PriceCategory[]: List of price categories effective for this price period
      - `name` string: Name of the price category
      - `price` number: Effective price of this price category
  - `options` ArticleOption[]: Options for the article. If specify, variants for this article will be generated.
    - `name` string: Name of the article option
    - `values` string[]: Available choices for the article option
  - `imageHrefs` string[]: Reference uris for the images of this article if present.
  - `isArticleSet` boolean: Decides if this article is an article set
  - `articleSetName` string: Name of the article set. Does not need to be included if article is not an article set.
  - `defaultQuantity` number: The default quantity of the article
  - `accountingTags` string[], required: Tags used for accounting. Articles with the same tag, same VAT case and same VAT rate are grouped together in the posting
  - `articleNumber` string, required: Article number
  - `hasVariant` boolean: Specify if the article has variants or not
  - `includedInArticleSets` string[]: Names of the article sets that the article is included in.<br />If the article have some variants, then only the variants will show the article set name they belong to, not the parent article (null value is shown).
  - `sellInOnlineShop` boolean: Specify if the article is able to be sold on the Online shop or not
  - `isAdultArticle` boolean: Specify if the article is only used for adult or not
  - `productType` 'SERVICE' | 'PRODUCTION' | 'TRADE' | 'OTHER' | 'GIFT_CARD' | 'PREPAYMENT', required: The product type of the article
  - `posCategories` ArticleCategoryRef[]: Categories used for Point of Sale of the article<br />Provide only either id or href of each category when creating Article
    - `id` string: Id of the category. Does not need to be included when creating article
    - `category_href` string, required: Reference uri for an article category. If specified, this article will be assigned to the entered article category.
    - `nameDE` string: Name of the category in german. <br />Does not need to be included when creating article.
    - `nameEN` string: Name of the category in english. <br />Does not need to be included when creating article.
    - `nameFR` string: Name of the category in french. <br />Does not need to be included when creating article.
    - `nameIT` string: Name of the category in italy. <br />Does not need to be included when creating article.
    - `order` integer: Order of this category. <br />Does not need to be included when creating article.
    - `active` boolean: Indicates if the category is active or not
    - `_links` object: links metadata
      - `self` Link: Link metadata
        - `href` string
  - `posFilters` ArticleFilterRef[]: Filters used for Point of Sale of the article<br />Provide only either id or href of each filter when creating Article
    - `id` string: Id of the filter. Does not need to be included when creating article.
    - `filter_href` string, required: Reference uri for an article filter. If specified, this article will be assigned to the entered article filter.
    - `nameDE` string: Name of the filter in german. <br />Does not need to be included when creating article.
    - `nameEN` string: Name of the filter in english. <br />Does not need to be included when creating article.
    - `nameFR` string: Name of the filter in french. <br />Does not need to be included when creating article.
    - `nameIT` string: Name of the filter in italy. <br />Does not need to be included when creating article.
    - `order` integer: Order of this filter. <br />Does not need to be included when creating article.
    - `active` boolean: Indicates if the filter is active or not
    - `_links` object: links metadata
      - `self` Link: Link metadata
        - `href` string
  - `onlineShopCategories` ArticleCategoryRef[]: Categories used for Online shop of the article<br />Provide only either id or href of each category when creating Article
    - `id` string: Id of the category. Does not need to be included when creating article
    - `category_href` string, required: Reference uri for an article category. If specified, this article will be assigned to the entered article category.
    - `nameDE` string: Name of the category in german. <br />Does not need to be included when creating article.
    - `nameEN` string: Name of the category in english. <br />Does not need to be included when creating article.
    - `nameFR` string: Name of the category in french. <br />Does not need to be included when creating article.
    - `nameIT` string: Name of the category in italy. <br />Does not need to be included when creating article.
    - `order` integer: Order of this category. <br />Does not need to be included when creating article.
    - `active` boolean: Indicates if the category is active or not
    - `_links` object: links metadata
      - `self` Link: Link metadata
        - `href` string
  - `onlineShopFilters` ArticleFilterRef[]: Filters used for Online shop of the article<br />Provide only either id or href of each filter when creating Article
    - `id` string: Id of the filter. Does not need to be included when creating article.
    - `filter_href` string, required: Reference uri for an article filter. If specified, this article will be assigned to the entered article filter.
    - `nameDE` string: Name of the filter in german. <br />Does not need to be included when creating article.
    - `nameEN` string: Name of the filter in english. <br />Does not need to be included when creating article.
    - `nameFR` string: Name of the filter in french. <br />Does not need to be included when creating article.
    - `nameIT` string: Name of the filter in italy. <br />Does not need to be included when creating article.
    - `order` integer: Order of this filter. <br />Does not need to be included when creating article.
    - `active` boolean: Indicates if the filter is active or not
    - `_links` object: links metadata
      - `self` Link: Link metadata
        - `href` string
  - `bookingCategories` ArticleCategoryRef[]: Categories used for Online Booking of the article<br /> Provide only either id or href of each category when creating Article
    - `id` string: Id of the category. Does not need to be included when creating article
    - `category_href` string, required: Reference uri for an article category. If specified, this article will be assigned to the entered article category.
    - `nameDE` string: Name of the category in german. <br />Does not need to be included when creating article.
    - `nameEN` string: Name of the category in english. <br />Does not need to be included when creating article.
    - `nameFR` string: Name of the category in french. <br />Does not need to be included when creating article.
    - `nameIT` string: Name of the category in italy. <br />Does not need to be included when creating article.
    - `order` integer: Order of this category. <br />Does not need to be included when creating article.
    - `active` boolean: Indicates if the category is active or not
    - `_links` object: links metadata
      - `self` Link: Link metadata
        - `href` string
  - `searchTags` string[]: Search tags make it easier for your customer to find your product in the online shop
  - `shippingInfo` object: Information used for shipping in the Online Shop
    - `shippingAttributes` string[]: List of attributes used for shipping
    - `weightUnit` 'GRAM' | 'KILOGRAM': Weight unit used for shipping of the article
    - `dimensionUnit` 'CENTIMETER' | 'METER': Dimension unit used for shipping of the article
    - `weight` number: Weight of this article
    - `width` number: Width of this article
    - `height` number: Height of this article
    - `depth` number: Depth of this article
  - `_links` object: links metadata
    - `self` Link: Link metadata
      - `href` string
  - `vats` ArticleVat[]: VAT information for the article
    - `vatType` 'NORMAL' | 'ABROAD' | 'TAKE_AWAY': Article vat type of the article
    - `vatCase` string: VAT case of the article
    - `vatCode` string: VAT code of the article VAT
    - `sss1` boolean: Reporting net tax rate with SSS1 option
    - `sss2` boolean: Reporting net tax rate with SSS2 option
    - `reportingNetTaxRate` boolean: Using VAT reporting net tax rate option
    - `excludeVat` boolean: Using exclude VAT option
  - `numberType` 'NO_NUMBER' | 'BATCH_NUMBER' | 'SERIAL_NUMBER': Inventory Number Type<br />Use either NO_NUMBER or SERIAL_NUMBER

## Other responses

- `400`: Data invalid<br/><br/>Failures detected by a downstream service carry that service's own <code>code</code>, which this reference does not enumerate, so the <code>code</code> field may hold a value not documented here. Treat an unrecognised code as a generic failure of the status it arrives with, and do not branch on a code this reference does not list.
- `401`: No Authorization header found or invalid token<br/><br/>Failures detected by a downstream service carry that service's own <code>code</code>, which this reference does not enumerate, so the <code>code</code> field may hold a value not documented here. Treat an unrecognised code as a generic failure of the status it arrives with, and do not branch on a code this reference does not list.
- `403`: The current user is not allowed to access this company data<br/><br/>Failures detected by a downstream service carry that service's own <code>code</code>, which this reference does not enumerate, so the <code>code</code> field may hold a value not documented here. Treat an unrecognised code as a generic failure of the status it arrives with, and do not branch on a code this reference does not list.
- `429`: API rate limit exceeded<br/><br/>Failures detected by a downstream service carry that service's own <code>code</code>, which this reference does not enumerate, so the <code>code</code> field may hold a value not documented here. Treat an unrecognised code as a generic failure of the status it arrives with, and do not branch on a code this reference does not list.

---

[API](https://skmtc.dev/klara/apis/klara-public-api.md) · [All operations](https://skmtc.dev/klara/apis/klara-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/klara/apis/klara-public-api/revisions/490b1a879fc2?raw)
