---
search:
  tags:
    - Produkte
    - POST
seo:
  description: Produkt aktualisieren (POST-Body ist partiell). Erfordert einen Write-Key.
sidebar:
  label: Produkt aktualisieren
  badge: POST
title: Produkt aktualisieren
type: openapi-operation
---
Produkt aktualisieren (POST-Body ist partiell). Erfordert einen Write-Key.

`POST /products/{productId}`

**Request body** (`application/json`, required)

- `name` (string)
- `price` (number) — Preis in Rappen
- `taxCategory` (string)
- `supplier` (string)
- `category` (string)
- `declarations` (string)
- `barcode` (string) — Wird in Kleinbuchstaben gespeichert.
- `barcodeAliases` (object[]) — Optionale zusätzliche EANs. Ein leeres Array entfernt das Feld. Verfügbar, wenn die Funktion Barcode-Aliase für die Organisation aktiviert ist; sonst 403 \`Feature not available\`.
- `externalId` (string)
- `depositProduct` (number) — Depot in Rappen
- `depositProductLabel` (string)
- `description` (string)
- `salePrice` (number | null) — Aktionspreis in Rappen. Null oder leerer String entfernt das Feld.
- `salePercentage` (number | null) — Aktionsrabatt in Prozent. Null oder leerer String entfernt das Feld.
- `salePriceDateFrom` (string<date-time> | null) — Aktionsbeginn. Null oder leerer String entfernt das Feld.
- `salePriceDateTo` (string<date-time> | null) — Aktionsende. Null oder leerer String entfernt das Feld.
- `costPrice` (number)
- `margin` (number)
- `showOnScreen` (boolean)
- `ageRestriction` (boolean)
- `showOnScale` (boolean)
- `saleStop` (boolean)
- `deactivated` (boolean)
- `imageUrl` (string) — Bild-URL. Ersetzen oder Leeren (leerer String) löscht die bisherige Bilddatei, wenn sie von dieser Organisation gespeichert ist.
- `index` (number)
- `deleted` (boolean) — \`true\` löscht das Produkt soft, \`false\` stellt es wieder her.

Request body example:

```json
{
  "price": 129,
  "saleStop": false
}
```

**Responses**

- `200` — Aktualisiert
- `400` — Ungültige Parameter oder ungültiger Body.
- `403` — Fehlender, unbekannter oder inaktiver API-Key oder ein Read-Key bei einem Schreibzugriff.
- `404` — Kein Eintrag mit dieser ID.

Response example, 200:

```json
{
  "success": true
}
```

Response example, 400:

```json
{
  "statusCode": 400,
  "message": "Validation failed for Field: name, Error: Required",
  "timestamp": "2024-04-20T12:00:00.000Z",
  "path": "/api/v1/suppliers"
}
```

Response example, 403:

```json
{
  "statusCode": 403,
  "message": "Unknown Error",
  "timestamp": "2024-04-20T12:00:00.000Z",
  "path": "/api/v1/products"
}
```
