> ## Documentation Index
> Fetch the complete documentation index at: https://dokumentation.websale.de/llms.txt
> Use this file to discover all available pages before exploring further.

# Storefront API Kundenkonto

> Bereich „Mein Konto“ über die Storefront API verwalten: Login, Registrierung, Adressen, Passwort-Reset, Bestellhistorie und Verfügbarkeitsalarme.

Die Kundenkonto API stellt die Funktionen für den Bereich „Mein Konto“ bereit. Dazu gehören die Verwaltung persönlicher Daten, Zugangsdaten und Adressen (Adressbuch anlegen/ändern/löschen) sowie typische Account-Prozesse wie E-Mail-Änderung (inklusive Double-Opt-In), Passwort ändern/zurücksetzen („Passwort vergessen“) und das Löschen des Kontos.

Zusätzlich können kundenbezogene Informationen wie Bestellhistorie (Online-Bestellungen) bereitgestellt werden.

Weitere typische Funktionen sind das Anlegen und Verwalten von Verfügbarkeitsalarmen, eine Übersicht eigener Bewertungen sowie Login, Registrierung und – sofern vorgesehen – persistente Sitzungen („eingeloggt bleiben“).

Sämtliche Aufrufe erfordern eine aktive Session per `x-session`. Mehr dazu

***

## Unterstützte Methoden

Angabe aller unterstützten Methoden.

| **Befehl**                                                   | **Endpunkte**                | **GET**               | **PUT**               | **POST**              | **DELETE**            |
| ------------------------------------------------------------ | ---------------------------- | --------------------- | --------------------- | --------------------- | --------------------- |
| Kundenkonto einloggen                                        | `account/login`              | <Icon icon="ban" />   | <Icon icon="ban" />   | <Icon icon="check" /> | <Icon icon="ban" />   |
| Angemeldet bleiben aktivieren                                | `account/autologin`          | <Icon icon="ban" />   | <Icon icon="ban" />   | <Icon icon="check" /> | <Icon icon="ban" />   |
| Kundenkonto anlegen                                          | `account/register`           | <Icon icon="ban" />   | <Icon icon="ban" />   | <Icon icon="check" /> | <Icon icon="ban" />   |
| Kontodaten abfragen                                          | `account/get`                | <Icon icon="check" /> | <Icon icon="ban" />   | <Icon icon="ban" />   | <Icon icon="ban" />   |
| Kundenkonto ausloggen                                        | `account/logout`             | <Icon icon="ban" />   | <Icon icon="ban" />   | <Icon icon="check" /> | <Icon icon="ban" />   |
| Kundenkonto löschen                                          | `account/delete`             | <Icon icon="ban" />   | <Icon icon="ban" />   | <Icon icon="ban" />   | <Icon icon="check" /> |
| Kundenkonto löschen mit Opt-In-Code                          | `account/deleteConfirm`      | <Icon icon="ban" />   | <Icon icon="ban" />   | <Icon icon="ban" />   | <Icon icon="check" /> |
| Neue Adresse zum Kundenkonto hinzufügen                      | `account/address/create`     | <Icon icon="ban" />   | <Icon icon="ban" />   | <Icon icon="check" /> | <Icon icon="ban" />   |
| Eine bestehende Adresse bearbeiten                           | `account/address/update`     | <Icon icon="ban" />   | <Icon icon="check" /> | <Icon icon="ban" />   | <Icon icon="ban" />   |
| Adresse als Hauptadresse setzen                              | `account/address/setMain`    | <Icon icon="ban" />   | <Icon icon="ban" />   | <Icon icon="check" /> | <Icon icon="ban" />   |
| Adresse des Kundenkontos auflisten                           | `account/address/list`       | <Icon icon="check" /> | <Icon icon="ban" />   | <Icon icon="ban" />   | <Icon icon="ban" />   |
| Eine bestimmte Adresse abrufen                               | `account/address/get`        | <Icon icon="check" /> | <Icon icon="ban" />   | <Icon icon="ban" />   | <Icon icon="ban" />   |
| Eine Adresse löschen                                         | `account/address/delete`     | <Icon icon="ban" />   | <Icon icon="ban" />   | <Icon icon="ban" />   | <Icon icon="check" /> |
| Benachrichtigung, für “Produkt wieder vorrätig” aktivieren   | `account/backInStock/notify` | <Icon icon="ban" />   | <Icon icon="ban" />   | <Icon icon="check" /> | <Icon icon="check" /> |
| Alle “Produkt wieder verfügbar” Benachrichtigungen auflisten | `account/backInStock/list`   | <Icon icon="check" /> | <Icon icon="ban" />   | <Icon icon="ban" />   | <Icon icon="ban" />   |
| Anzeigenamen bei Produktbewertungen ändern                   | `account/displayName/update` | <Icon icon="ban" />   | <Icon icon="ban" />   | <Icon icon="check" /> | <Icon icon="ban" />   |
| E-Mail-Adresse des Kundenkontos ändern                       | `account/email/update`       | <Icon icon="ban" />   | <Icon icon="ban" />   | <Icon icon="check" /> | <Icon icon="ban" />   |
| E-Mail-Adresse des Kundenkontos verifizieren                 | `account/email/verify`       | <Icon icon="ban" />   | <Icon icon="ban" />   | <Icon icon="check" /> | <Icon icon="ban" />   |
| Alle Bestellungen des Kundenkontos auflisten                 | `account/order/list`         | <Icon icon="check" /> | <Icon icon="ban" />   | <Icon icon="ban" />   | <Icon icon="ban" />   |
| Eine bestimmte Bestellung abrufen                            | `account/order/get`          | <Icon icon="check" /> | <Icon icon="ban" />   | <Icon icon="ban" />   | <Icon icon="ban" />   |
| Das Passwort des Kundenkontos ändern                         | `account/password/change`    | <Icon icon="ban" />   | <Icon icon="ban" />   | <Icon icon="check" /> | <Icon icon="ban" />   |
| Passwort-Zurücksetzung starten                               | `account/password/forgotten` | <Icon icon="ban" />   | <Icon icon="ban" />   | <Icon icon="check" /> | <Icon icon="ban" />   |
| Passwort zurücksetzen                                        | `account/password/reset`     | <Icon icon="ban" />   | <Icon icon="ban" />   | <Icon icon="check" /> | <Icon icon="ban" />   |

## Methoden für das Kundenkonto

Mithilfe dieser Methoden wird das Kundenkonto im Shop verwaltet. Sie lesen die Daten des aktuell eingeloggten Benutzers (Stammdaten, Adresse, Kundendatenfelder, Login-Status) aus und melden ein Konto mit E-Mail-Adresse/Passwort an. Optional kann die Funktion „Angemeldet bleiben” per Autologin-Token aktiviert werden. Darüber hinaus können neue Konten registriert und direkt eingeloggt werden. Bestehende Sessions lassen sich sauber abmelden. Zudem können Kundenkonten gelöscht werden.

### GET account/get

Mit diesem Aufruf werden die Daten des aktuell eingeloggten Kundenkontos der übergebenen Session ausgeliefert. Typische Einsatzzwecke sind die Anzeige des Kontobereichs (Name, E-Mail-Adresse, Anzeigename) oder eine einfache „Angemeldet/Abgemeldet“-Prüfung im Frontend.

Beispiel Aufruf, um Daten des aktuell eingeloggten Kundenkontos zu erhalten:

```text theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
GET https://<ihr-shop>.de/api/v1/account/get
```

#### Parameterübersicht

#### Header-Parameter

| **Parameter** | **Beschreibung**                                                                                                                                                                                                        |
| ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `x-session`   | **Pflichtfeld**<br />ID der aktuellen Session.   <br />Mehr Informationen dazu: [Storefront API Basics](https://websaleag-44ee7ea6.mintlify.app/schnittstellen/storefront-api/storefront-api-basics#3-session-handling) |

#### Beispiel-Response

```json theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{
   "addresses" : [
      {
         "additionalInfo" : "",
         "addressType" : "1",
         "businessFax" : "",
         "businessPhone" : "",
         "city" : "Nürnberg",
         "company" : "",
         "country" : "DE",
         "custom" : {},
         "dateOfBirth" : "",
         "department" : "",
         "fax" : "",
         "firstName" : "Maria",
         "id" : "85",
         "lastName" : "Musterfrau",
         "mobilePhone" : "",
         "phone" : "",
         "salutationCode" : "2",
         "state" : "",
         "street" : "Gutenstetterstraße 2",
         "streetNumber" : "",
         "taxId" : "",
         "titleCode" : "",
         "zip" : "90449"
      }
   ],
   "autoLogInRestriction" : "restricted",
   "backInStockList" : [],
   "customerData" : {
      "groupedFields" : [
         {
            "fields" : [
               {
                  "association" : "hybrid",
                  "label" : "Ausgangsspannung",
                  "name" : "outputVoltage",
                  "type" : "text",
                  "value" : "230 V"
               }
            ],
            "label" : "Geräteinformationen",
            "name" : "applianceInformation"
         }
      ],
      "ungroupedFields" : [
         {
            "association" : "shopAccount",
            "label" : "Kundengruppe",
            "name" : "customerGroup",
            "options" : [
               {
                  "label" : "Hundehalter",
                  "value" : "dog"
               },
               {
                  "label" : "Katzenhalter",
                  "value" : "cat"
               }
            ],
            "type" : "select",
            "value" : ""
         }
      ]
   },
   "displayName" : "",
   "email" : "kundenkonto@example.com",
   "id" : 51,
   "isAccountVerified" : false,
   "isAutoLogInRestricted" : true,
   "isAutoLoggedIn" : false,
   "isLoggedIn" : true,
   "isPasswordResetRequired" : false,
   "lastLogin" : "2025-11-04T08:42:20.996Z",
   "mainAddress" : {
      "additionalInfo" : "",
      "addressType" : "1",
      "businessFax" : "",
      "businessPhone" : "",
      "city" : "Nürnberg",
      "company" : "",
      "country" : "DE",
      "custom" : {},
      "dateOfBirth" : "",
      "department" : "",
      "fax" : "",
      "firstName" : "Maria",
      "id" : "85",
      "lastName" : "Musterfrau",
      "mobilePhone" : "",
      "phone" : "",
      "salutationCode" : "2",
      "state" : "",
      "street" : "Gutenstetterstraße 2",
      "streetNumber" : "",
      "taxId" : "",
      "titleCode" : "",
      "zip" : "90449"
   },
   "pseudoCreditCards" : []
}
```

### POST account/login

Mit diesem Aufruf wird ein Kundenkonto angemeldet. Sind die übergebenen Zugangsdaten korrekt, wird die aktive Sitzung in den Account eingeloggt. Wenn `Autologin` aktiviert ist, enthält die Antwort einen `Autologin-Token`.

**Beispiel-Aufruf, der das Kundenkonto mit der ID** `kundenkonto@example.com`**an der Session anmeldet**

```text theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
POST https://<ihr-shop>.de/api/v1/account/login
```

#### Beispiel-Request

```json theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{
  "id": "kundenkonto@example.com",
  "password": "password123",
  "autologin": "off"
}
```

#### Beispiel-Response

```text theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{}
```

#### Parameterübersicht

#### Header-Parameter

| **Parameter** | **Beschreibung**                                                                                                                                                                                                        |
| ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `x-session`   | **Pflichtfeld**<br />ID der aktuellen Session.   <br />Mehr Informationen dazu: [Storefront API Basics](https://websaleag-44ee7ea6.mintlify.app/schnittstellen/storefront-api/storefront-api-basics#3-session-handling) |

#### Body-Parameter

| **Parameter** | **Typ** | **Beschreibung**                                                                                                                                                                                                                                                                                                      |
| ------------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `id`          | string  | **Pflichtfeld**<br />E-Mail-Adresse des Benutzerkontos.                                                                                                                                                                                                                                                               |
| `password`    | string  | **Pflichtfeld**<br />Passwort des Benutzerkontos.                                                                                                                                                                                                                                                                     |
| `autologin`   | enum    | Steuert den Auto-Login.   <br />- `all` = Der Benutzer kann sich auf diesem Gerät erneut, ohne erneute Passworteingabe, anmelden <br />- `restriced` = Autologin ist aktiv, aber mit zusätzlichen Regeln (z.B. kürzere Gültigkeit der Session)<br />- `off` (Default) = Jede Sitzung verlangt eine reguläre Anmeldung |

#### Beispiel-Response

```json theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{
  "account": {
    "id": 51,
    "email": "kundenkonto@example.com",
    "displayName": "",
    "isLoggedIn": true,
    "lastLogin": "2025-10-30T08:50:13.396Z"
  },
  "autologinToken": null
}
```

#### Fehlercodes

| **Code**             | **Beschreibung**                                                             |
| -------------------- | ---------------------------------------------------------------------------- |
| `emailCheckFailed`   | Die übergebene `id` ist keine gültige E-Mail-Adresse.                        |
| `loginBlocked`       | Das Konto ist vorübergehend gesperrt (z.B. wegen zu vieler Anmeldeversuche). |
| `invalidCredentials` | E-Mail oder Passwort ungültig.                                               |
| `ipAddressBlocked`   | IP aufgrund zu vieler Fehlerversuche temporär gesperrt.                      |

### POST account/autologin

Durch diesen Aufruf wird für die aktuelle Sitzung die Funktion „Angemeldet bleiben“ aktiviert. Dadurch kann sich der Nutzer auf diesem Gerät künftig ohne erneute Passworteingabe wieder anmelden.

**Beispiel-Aufruf, der Autologin für das Kundenkonto mit der ID** `51 `**aktiviert**

```text theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
POST https://<ihr-shop>.de/api/v1/account/autologin
```

#### Beispiel-Response

```json theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{
  "account": {
    "id": 51,
    "email": "kundenkonto@example.com",
    "displayName": "",
    "isLoggedIn": true,
    "lastLogin": "2025-10-30T08:50:13.396Z"
  }
}
```

#### Parameterübersicht

#### Header-Parameter

| **Parameter** | **Beschreibung**                                                                                                                                                                                                        |
| ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `x-session`   | **Pflichtfeld**<br />ID der aktuellen Session.   <br />Mehr Informationen dazu: [Storefront API Basics](https://websaleag-44ee7ea6.mintlify.app/schnittstellen/storefront-api/storefront-api-basics#3-session-handling) |

#### Body-Parameter

| **Parameter** | **Typ** | **Beschreibung**                                                                                               |
| ------------- | ------- | -------------------------------------------------------------------------------------------------------------- |
| `token`       | string  | **Pflichtfeld**<br />Autologin-Token aus `POST /api/v1/account/login`<br />(bei `autologin = all/restricted`). |

#### Fehlercodes

| **Code**       | **Beschreibung**                                  |
| -------------- | ------------------------------------------------- |
| `invalidToken` | Das Autologin-Token ist ungültig oder abgelaufen. |

### POST account/register

Mit diesem Aufruf wird ein neues Kundenkonto erstellt und die aktuelle Sitzung direkt mit diesem Konto angemeldet. Somit kann der Nutzer nach der Registrierung sofort weitermachen.

**Beispiel-Aufruf um ein neues Kundenkonto mit der E-Mail-Adresse** `kundenkonto@example.com `**und dem Passwort** `password123 `**zu erstellen**

```text theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
POST https://<ihr-shop>.de/api/v1/account/register
```

#### Beispiel-Request

```json theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{
  "email": "kundenkonto@example.com",
  "password": "password123"
}
```

#### Beispiel-Response

```text theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{}
```

#### Parameterübersicht

#### Header-Parameter

| **Parameter** | **Beschreibung**                                                                                                                                                                                                        |
| ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `x-session`   | **Pflichtfeld**<br />ID der aktuellen Session.   <br />Mehr Informationen dazu: [Storefront API Basics](https://websaleag-44ee7ea6.mintlify.app/schnittstellen/storefront-api/storefront-api-basics#3-session-handling) |

#### Body-Parameter

| **Parameter** | **Typ** | **Beschreibung**                                                |
| ------------- | ------- | --------------------------------------------------------------- |
| `email`       | string  | **Pflichtfeld**<br />E-Mail-Adresse für das neue Benutzerkonto. |
| `password`    | string  | **Pflichtfeld**<br />Passwort für das neue Benutzerkonto.       |

#### Beispiel-Response

```json theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{
  "account": {
    "id": 124,
    "email": "kundenkonto@example.com",
    "displayName": "",
    "isLoggedIn": true
  }
}
```

#### Fehlercodes

| **Code**               | **Beschreibung**                                                    |
| ---------------------- | ------------------------------------------------------------------- |
| `emailCheckFailed`     | Die angegebene E-Mail-Adresse ist syntaktisch ungültig.             |
| `loginBlocked`         | Das Konto / die Anfrage ist aktuell gesperrt.                       |
| `passwordCheckFailed`  | Das Passwort erfüllt die Sicherheitsrichtlinien nicht (zu schwach). |
| `accountAlreadyExists` | Es existiert bereits ein Konto mit dieser E-Mail-Adresse.           |

### POST account/logout

**Mit diesem Aufruf wird der aktuell angemeldete Benutzer ausgeloggt**

```text theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
POST https://<ihr-shop>.de/api/v1/account/logout
```

#### Beispiel-Response

```text theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{}
```

#### Parameterübersicht

#### Header-Parameter

| **Parameter** | **Beschreibung**                                                                                                                                                                                                        |
| ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `x-session`   | **Pflichtfeld**<br />ID der aktuellen Session.   <br />Mehr Informationen dazu: [Storefront API Basics](https://websaleag-44ee7ea6.mintlify.app/schnittstellen/storefront-api/storefront-api-basics#3-session-handling) |

#### Fehlercodes

| **Code** | **Beschreibung**                                                                   |
| -------- | ---------------------------------------------------------------------------------- |
| --       | Für diesen Request existieren keine Fehlercodes, die Aktion ist immer erfolgreich. |

### DELETE account/delete

Mit diesem Aufruf wird das aktuell eingeloggte Kundenkonto gelöscht. Nach erfolgreicher Ausführung wird die Sitzung beendet und der Zugang zum Konto entfernt. Achtung: Die Löschung kann nicht rückgängig gemacht werden!

**Beispiel-Aufruf um das aktuell eingeloggte Benutzerkonto dauerhaft zu löschen**

```text theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
DELETE https://<ihr-shop>.de/api/v1/account/delete
```

Hinweis: Je nach Shop-Konfiguration kann eine E-Mail-Bestätigung (Double-Opt-In) erforderlich sein! Siehe hier (Einstellung `doubleOptInEmail.enabled`).

**Beispiel-Response**

```text theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{}
```

**Parameterübersicht**

**Header-Parameter**

| **Parameter** | **Beschreibung**                                                                                                                                                                                                        |
| ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `x-session`   | **Pflichtfeld**<br />ID der aktuellen Session.   <br />Mehr Informationen dazu: [Storefront API Basics](https://websaleag-44ee7ea6.mintlify.app/schnittstellen/storefront-api/storefront-api-basics#3-session-handling) |

**Fehlercodes**

| **Code**           | **Beschreibung**                                                                                                                         |
| ------------------ | ---------------------------------------------------------------------------------------------------------------------------------------- |
| `notLoggedIn`      | Es ist kein Benutzer eingeloggt.                                                                                                         |
| `actionNotAllowed` | Der übergebene Opt-In-Token ist für diese Aktion nicht erlaubt, z.B. weil er für eine andere Aktion angefordert wurde oder ungültig ist. |

### DELETE account/deleteConfirm

Mit diesem Aufruf bestätigt man die Kontolöschung per `Opt-In-Token` und löschen das aktuell eingeloggte Kundenkonto endgültig. Er wird nur verwendet, wenn in Ihrem Shop die Kontolöschung per `Double-Opt-In` aktiviert ist. Ohne `Double-Opt-In` genügt der Aufruf von `account/delete`.

**Beispiel-Aufruf, der die Löschung des aktuell eingeloggten Benutzerkonto per** `Opt-In-Token `**bestätigt**

```text theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
 DELETE https://<ihr-shop>.de/api/v1/account/deleteConfirm
```

#### Beispiel-Request

```json theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{
    "otok": AZ3XHlWGe4E98D4fsJrPhWclSgBBQwAAAAA.ZKgwbjF-IDLuaakADfazRmAWTmjdH-A9W92JtZnPVPQ"
}
```

#### Beispiel-Response

```text theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{}
```

#### Parameterübersicht

#### Header-Parameter

| **Parameter** | **Beschreibung**                                                                                                                                                                                                        |
| ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `x-session`   | **Pflichtfeld**<br />ID der aktuellen Session.   <br />Mehr Informationen dazu: [Storefront API Basics](https://websaleag-44ee7ea6.mintlify.app/schnittstellen/storefront-api/storefront-api-basics#3-session-handling) |

#### Body-Parameter

| **Parameter** | **Typ** | **Beschreibung**                                            |
| ------------- | ------- | ----------------------------------------------------------- |
| `otok`        | string  | **Pflichtfeld**<br />Opt-In Token aus der Bestätigungsmail. |

#### Fehlercodes

| **Code**           | **Beschreibung**                                                                                                                         |
| ------------------ | ---------------------------------------------------------------------------------------------------------------------------------------- |
| `notLoggedIn`      | Es ist kein Benutzer eingeloggt.                                                                                                         |
| `actionNotAllowed` | Der übergebene Opt-In-Token ist für diese Aktion nicht erlaubt, z.B. weil er für eine andere Aktion angefordert wurde oder ungültig ist. |

***

## Methoden für die Adressverwaltung

Mithilfe dieser Methoden können die Adressen im Kundenkonto verwaltet werden. Sie listen alle verfügbaren Adressfelder auf und geben die zum eingeloggten Konto gehörenden Adressen zurück oder holen eine einzelne Adresse per ID ab. Neue Adressen können mit allen relevanten Feldern angelegt, bestehende Adressen gezielt aktualisiert oder als Hauptadresse markiert werden. Bei Bedarf können sie wieder gelöscht werden.

### GET account/address/fields

Mit diesem Aufruf werden alle verfügbaren Adressfelder geliefert. Mithilfe dieser Informationen können Adressformulare im Frontend erstellt werden.

**Beispiel-Aufruf, der alle verfügbaren Adressfelder zurückgibt**

```text theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
GET https://<ihr-shop>.de/api/v1/account/address/fields
```

#### Parameterübersicht

| **Parameter** | **Typ** | **Beschreibung**              |
| ------------- | ------- | ----------------------------- |
| --            | --      | Keine zusätzlichen Parameter. |

#### Beispiel-Response

```json theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{
   "items" : [
      {
         "dataId" : "addressType",
         "label" : "Address-Typ",
         "name" : "addressType"
      },
      {
         "dataId" : "firstName",
         "label" : "",
         "name" : "firstName"
      },
      {
         "dataId" : "additionalInfo",
         "label" : "",
         "name" : "additionalInfo"
      },
      {
         "dataId" : "businessFax",
         "label" : "",
         "name" : "businessFax"
      },
      {
         "dataId" : "businessPhone",
         "label" : "",
         "name" : "businessPhone"
      },
      {
         "dataId" : "city",
         "label" : "",
         "name" : "city"
      },
      {
         "dataId" : "company",
         "label" : "",
         "name" : "company"
      },
      {
         "dataId" : "country",
         "label" : "",
         "name" : "country"
      },
      {
         "dataId" : "dateOfBirth",
         "label" : "",
         "name" : "dateOfBirth"
      },
      {
         "dataId" : "department",
         "label" : "",
         "name" : "department"
      },
      {
         "dataId" : "fax",
         "label" : "",
         "name" : "fax"
      },
      {
         "dataId" : "lastName",
         "label" : "",
         "name" : "lastName"
      },
      {
         "dataId" : "mobilePhone",
         "label" : "",
         "name" : "mobilePhone"
      },
      {
         "dataId" : "phone",
         "label" : "",
         "name" : "phone"
      },
      {
         "dataId" : "salutationCode",
         "label" : "",
         "name" : "salutationCode"
      },
      {
         "dataId" : "state",
         "label" : "",
         "name" : "state"
      },
      {
         "dataId" : "street",
         "label" : "",
         "name" : "street"
      },
      {
         "dataId" : "streetNumber",
         "label" : "",
         "name" : "streetNumber"
      },
      {
         "dataId" : "taxId",
         "label" : "",
         "name" : "taxId"
      },
      {
         "dataId" : "titleCode",
         "label" : "",
         "name" : "titleCode"
      },
      {
         "dataId" : "zip",
         "label" : "",
         "name" : "zip"
      }
   ]
}
```

### GET account/address/list

Mit diesem Aufruf werden alle gespeicherten Adressen des aktuell angemeldeten Kundenkontos inklusive der Feldwerte Name, Straße, PLZ/Ort und Ländercode zurückgeliefert. Die Daten können genutzt werden, um Adressübersichten im Kundenkonto anzuzeigen.

**Beispiel-Aufruf, der alle gespeicherten Adressen des aktuellen eingeloggten Benutzerkontos zurückgibt**

```text theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
GET https://<ihr-shop>.de/api/v1/account/address/list
```

#### Parameterübersicht

#### Header-Parameter

| **Parameter** | **Beschreibung**                                                                                                                                                                                                        |
| ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `x-session`   | **Pflichtfeld**<br />ID der aktuellen Session.   <br />Mehr Informationen dazu: [Storefront API Basics](https://websaleag-44ee7ea6.mintlify.app/schnittstellen/storefront-api/storefront-api-basics#3-session-handling) |

#### Beispiel-Response

```json theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{
   "items" : [
      {
         "additionalInfo" : "",
         "addressType" : "1",
         "businessFax" : "",
         "businessPhone" : "",
         "city" : "Nürnberg",
         "company" : "",
         "country" : "DE",
         "custom" : {},
         "dateOfBirth" : "",
         "department" : "",
         "fax" : "",
         "firstName" : "Max",
         "id" : "97",
         "lastName" : "Mustermann",
         "mobilePhone" : "",
         "phone" : "",
         "salutationCode" : "2",
         "state" : "",
         "street" : "Gutenstetterstraße",
         "streetNumber" : "2",
         "taxId" : "",
         "titleCode" : "",
         "zip" : "90449"
      }
   ]
}
```

### GET account/address/get

Mit folgendem Aufruf wird die konkrete Adresse des aktuell angemeldeten Kundenkontos anhand seiner Adress-ID zurückgeliefert. Diese kann beispielsweise zur Anzeige oder Vorbelegung der Adresse im Checkout verwendet werden.

Beispiel-Aufruf, der die Adresse mit der ID `97` des angemeldeten Benutzerkontos zurückgibt:

```text theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
GET /api/v1/account/address/get?addressId=97
```

#### Parameterübersicht

#### Header-Parameter

| **Parameter** | **Beschreibung**                                                                                                                                                                                                        |
| ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `x-session`   | **Pflichtfeld**<br />ID der aktuellen Session.   <br />Mehr Informationen dazu: [Storefront API Basics](https://websaleag-44ee7ea6.mintlify.app/schnittstellen/storefront-api/storefront-api-basics#3-session-handling) |

#### Body-Parameter

| **Parameter** | **Typ** | **Beschreibung**                           |
| ------------- | ------- | ------------------------------------------ |
| `addressId`   | string  | ID der Adresse, die abgerufen werden soll. |

#### Beispiel-Response

```json theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{
   "additionalInfo" : "",
   "addressType" : "1",
   "businessFax" : "",
   "businessPhone" : "",
   "city" : "Nürnberg",
   "company" : "",
   "country" : "DE",
   "custom" : {}  
   "dateOfBirth" : "",
   "department" : "",
   "fax" : "",
   "firstName" : "Max",
   "id" : "97",
   "lastName" : "Mustermann",
   "mobilePhone" : "",
   "phone" : "",
   "salutationCode" : "2",
   "state" : "",
   "street" : "Gutenstetterstraße",
   "streetNumber" : "2",
   "taxId" : "",
   "titleCode" : "",
   "zip" : "90449"
}
```

### POST account/address/create

Mit diesem Aufruf wird eine neue Adresse für das aktuell angemeldete Kundenkonto angelegt. Diese kann beispielsweise als Rechnungs- oder Lieferadresse im Checkout verwendet werden.

**Beispiel-Aufruf, der für das aktuell eingeloggte Benutzerkonto eine neue Adresse erstellt**

```text theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
POST https://<ihr-shop>.de/api/v1/account/address/create
```

#### Beispiel-Request

```json theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{
  "address": {
    "firstName": "Maria",
    "lastName": "Musterfrau",
    "street": "Gutenstetterstraße",
    "streetNumber": "2",
    "zip": "90449",
    "city": "Nürnberg"
  }
}
```

Hinweis: Wird nur `address` ohne angegebene Parameter übergeben, so werden für alle Felder die Standardwerte übernommen.

#### Parameterübersicht

#### Header-Parameter

| **Parameter** | **Beschreibung**                                                                                                                                                                                                        |
| ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `x-session`   | **Pflichtfeld**<br />ID der aktuellen Session.   <br />Mehr Informationen dazu: [Storefront API Basics](https://websaleag-44ee7ea6.mintlify.app/schnittstellen/storefront-api/storefront-api-basics#3-session-handling) |

#### Body-Parameter

| **Parameter**    | **Typ** | **Beschreibung**                                                      |
| ---------------- | ------- | --------------------------------------------------------------------- |
| `address`        | object  | **Pflichtfeld**<br />Fasst die Adressdatenfelder zusammen.            |
| `additionalInfo` | string  | Zusatzinfos zur Adresse (z.B. Etage).                                 |
| `businessFax`    | string  | Fax geschäftlich.                                                     |
| `businessPhone`  | string  | Telefon geschäftlich.                                                 |
| `city`           | string  | Wohnort                                                               |
| `company`        | string  | Firma / Unternehmen                                                   |
| `country`        | string  | Ländercode (z.B. `DE )`                                               |
| `custom`         | object  | Freie Zusatzfelder (konfigurierbar mit `accounts.customAddressField`) |
| `dateOfBirth`    | string  | Geburtsdatum                                                          |
| `department`     | string  | Abteilung (Geschäftlich)                                              |
| `fax`            | string  | Fax privat                                                            |
| `firstName`      | string  | Vorname                                                               |
| `lastName`       | string  | Nachname                                                              |
| `mobilePhone`    | string  | Handynummer                                                           |
| `phone`          | string  | Festnetznummer                                                        |
| `state`          | string  | Bundesland / Region                                                   |
| `street`         | string  | Straße                                                                |
| `streetNumber`   | string  | Hausnummer                                                            |
| `taxId`          | string  | Steuer-/USt-ID                                                        |
| `zip`            | string  | Postleitzahl                                                          |

#### Beispiel-Response

```json theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{
   "addresses" : [
      {
         "additionalInfo" : "",
         "addressType" : "1",
         "businessFax" : "",
         "businessPhone" : "",
         "city" : "Nürnberg",
         "company" : "",
         "country" : "DE",
         "custom" : {},
         "dateOfBirth" : "",
         "department" : "",
         "fax" : "",
         "firstName" : "Maria",
         "id" : "97",
         "lastName" : "Musterfrau",
         "mobilePhone" : "",
         "phone" : "",
         "salutationCode" : "2",
         "state" : "",
         "street" : "Gutenstetterstraße",
         "streetNumber" : "2",
         "taxId" : "",
         "titleCode" : "",
         "zip" : "90449"
      }
   ]
}
```

#### Fehlercodes

| **Code**           | **Beschreibung**                                                                |
| ------------------ | ------------------------------------------------------------------------------- |
| `notLoggedIn`      | Die Session ist in kein Konto eingeloggt (evtl. fehlende ungültige `x-session`) |
| `emptyAddress`     | Das Feld `address`fehlt oder ist leer.                                          |
| `unknownField`     | Es existiert kein Adressfeld mit dem angegebenen Namen.                         |
| `invalidFieldType` | Ein Adressfeld hat einen ungültigen Datentyp (z.B. Zahl statt Zeichenkette)     |

### POST account/address/setMain

Mit dieser Anfrage kann eine bestehende Adresse des aktuell eingeloggten Kundenkontos als Hauptadresse festgelegt werden (z. B. als Standard für Versand/Rechnung). Sie kann verwendet werden, um eine Adresse als Standard für Rechnung oder Versand zu kennzeichnen.

**Beispiel-Aufruf, der die Adresse mit der ID** `97 `**für das aktuell eingeloggte Kundenkonto als Hauptadresse setzt**

```text theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
POST https://<ihr-shop>.de/api/v1/account/address/setMain
```

#### Beispiel-Request

```text theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{"addressId": "97"}
```

#### Parameterübersicht

#### Header-Parameter

| **Parameter** | **Beschreibung**                                                                                                                                                                                                        |
| ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `x-session`   | **Pflichtfeld**<br />ID der aktuellen Session.   <br />Mehr Informationen dazu: [Storefront API Basics](https://websaleag-44ee7ea6.mintlify.app/schnittstellen/storefront-api/storefront-api-basics#3-session-handling) |

#### Body-Parameter

| **Parameter** | **Typ** | **Beschreibung**                                          |
| ------------- | ------- | --------------------------------------------------------- |
| `addressId`   | string  | ID der Adresse, die als Hauptadresse gesetzt werden soll. |

#### Beispiel-Response

```json theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{
   "addresses" : [
      {
         "additionalInfo" : "",
         "addressType" : "1",
         "businessFax" : "",
         "businessPhone" : "",
         "city" : "Nürnberg",
         "company" : "",
         "country" : "DE",
         "custom" : {},
         "dateOfBirth" : "",
         "department" : "",
         "fax" : "",
         "firstName" : "Maria",
         "id" : "97",
         "lastName" : "Musterfrau",
         "mobilePhone" : "",
         "phone" : "",
         "salutationCode" : "2",
         "state" : "",
         "street" : "Gutenstetterstraße",
         "streetNumber" : "2",
         "taxId" : "",
         "titleCode" : "",
         "zip" : "90449"
      }
   ],
   "mainAddress" : {
      "additionalInfo" : "",
      "addressType" : "1",
      "businessFax" : "",
      "businessPhone" : "",
      "city" : "Nürnberg",
      "company" : "",
      "country" : "DE",
      "custom" : {},
      "dateOfBirth" : "",
      "department" : "",
      "fax" : "",
      "firstName" : "Maria",
      "id" : "97",
      "lastName" : "Musterfrau",
      "mobilePhone" : "",
      "phone" : "",
      "salutationCode" : "2",
      "state" : "",
      "street" : "Gutenstetterstraße",
      "streetNumber" : "2",
      "taxId" : "",
      "titleCode" : "",
      "zip" : "90449"
   }
}
```

#### Fehlercodes

| **Code**           | **Beschreibung**                                                             |
| ------------------ | ---------------------------------------------------------------------------- |
| `notLoggedIn`      | Die Session ist in kein Konto eingeloggt. (fehlende / ungültige `x-session`) |
| `invalidAddressId` | Die angegebene Adress-ID ist ungültig.                                       |

### PUT account/address/update

Mit diesem Aufruf kann eine bestehende Adresse des aktuell eingeloggten Kundenkontos aktualisiert werden. Es müssen nicht alle Felder ausgefüllt werden, nicht ausgefüllte Felder bleiben unverändert. Er kann beispielsweise verwendet werden, um eine Adresse für den Versand oder die Rechnung zu korrigieren.

**Beispiel-Aufruf, der für das aktuell eingeloggte Kundenkonto bei der Adresse mit der ID** `97 `**den Vor- und Nachnamen ändert**

```text theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
PUT https://<ihr-shop>.de/api/v1/account/address/update
```

#### Beispiel-Request

```json theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{
  "addressId": "97",
  "address": {
    "firstName": "Max",
    "lastName": "Mustermann"
  }
}
```

#### Parameterübersicht

#### Header-Parameter

| **Parameter** | **Beschreibung**                                                                                                                                                                                                        |
| ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `x-session`   | **Pflichtfeld**<br />ID der aktuellen Session.   <br />Mehr Informationen dazu: [Storefront API Basics](https://websaleag-44ee7ea6.mintlify.app/schnittstellen/storefront-api/storefront-api-basics#3-session-handling) |

#### Body-Parameter

| **Parameter**    | **Typ** | **Beschreibung**                                                      |
| ---------------- | ------- | --------------------------------------------------------------------- |
| `address`        | object  | **Pflichtfeld**   Fasst die Adressdatenfelder zusammen.               |
| `additionalInfo` | string  | Zusatzinfos zur Adresse (z.B. Etage).                                 |
| `businessFax`    | string  | Fax geschäftlich.                                                     |
| `businessPhone`  | string  | Telefon geschäftlich.                                                 |
| `city`           | string  | Wohnort                                                               |
| `company`        | string  | Firma / Unternehmen                                                   |
| `country`        | string  | Ländercode (z.B. `DE )`                                               |
| `custom`         | object  | Freie Zusatzfelder (konfigurierbar mit `accounts.customAddressField`) |
| `dateOfBirth`    | string  | Geburtsdatum                                                          |
| `department`     | string  | Abteilung (Geschäftlich)                                              |
| `fax`            | string  | Fax privat                                                            |
| `firstName`      | string  | Vorname                                                               |
| `lastName`       | string  | Nachname                                                              |
| `mobilePhone`    | string  | Handynummer                                                           |
| `phone`          | string  | Festnetznummer                                                        |
| `state`          | string  | Bundesland / Region                                                   |
| `street`         | string  | Straße                                                                |
| `streetNumber`   | string  | Hausnummer                                                            |
| `taxId`          | string  | Steuer-/USt-ID                                                        |
| `zip`            | string  | Postleitzahl                                                          |

#### Beispiel-Response

```json theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{
   "addresses" : [
      {
         "additionalInfo" : "",
         "addressType" : "1",
         "businessFax" : "",
         "businessPhone" : "",
         "city" : "Nürnberg",
         "company" : "",
         "country" : "DE",
         "custom" : {},
         "dateOfBirth" : "",
         "department" : "",
         "fax" : "",
         "firstName" : "Max",
         "id" : "97",
         "lastName" : "Mustermann",
         "mobilePhone" : "",
         "phone" : "",
         "salutationCode" : "2",
         "state" : "",
         "street" : "Gutenstetterstraße",
         "streetNumber" : "2",
         "taxId" : "",
         "titleCode" : "",
         "zip" : "90449"
      }
   ]
}
```

#### Fehlercodes

| **Code**           | **Beschreibung**                                                            |
| ------------------ | --------------------------------------------------------------------------- |
| `invalidAddressId` | Die angegebene Adress-ID ist ungültig.                                      |
| `emptyAddress`     | Das Feld `address`fehlt oder ist leer.                                      |
| `unknownField`     | Es existiert kein Adressfeld mit dem angegebenen Namen.                     |
| `invalidFieldType` | Ein Adressfeld hat einen ungültigen Datentyp (z.B. Zahl statt Zeichenkette) |

### DELETE account/address/delete

Mit diesem Aufruf wird eine bestehende Adresse des aktuell eingeloggten Kundenkontos gelöscht.

**Beispiel-Aufruf, der die Adresse mit der ID** `97 `**für das aktuell angemeldete Kundenkonto löscht**

```text theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
DELETE https://<ihr-shop>.de/api/v1/account/address/delete
```

#### Beispiel-Request

```json theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{"addressId": "97"}
```

#### Parameterübersicht

#### Header-Parameter

| **Parameter** | **Beschreibung**                                                                                                                                                                                                        |
| ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `x-session`   | **Pflichtfeld**<br />ID der aktuellen Session.   <br />Mehr Informationen dazu: [Storefront API Basics](https://websaleag-44ee7ea6.mintlify.app/schnittstellen/storefront-api/storefront-api-basics#3-session-handling) |

#### Body-Parameter

| **Parameter** | **Typ** | **Beschreibung**                          |
| ------------- | ------- | ----------------------------------------- |
| `addressId`   | string  | ID der Adresse, die gelöscht werden soll. |

#### Beispiel-Response

```text theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{ "addresses": [] }
```

#### Fehlercodes

| **Code**           | **Beschreibung**                                                             |
| ------------------ | ---------------------------------------------------------------------------- |
| `notLoggedIn`      | Die Session ist in kein Konto eingeloggt. (fehlende / ungültige `x-session`) |
| `invalidAddressId` | Die angegebene Adress-ID ist ungültig.                                       |

***

## Methoden für Benachrichtigungen

Mithilfe dieser Methoden können „Produkt wieder verfügbar“-Benachrichtigungen im Kundenkonto verwaltet werden. Sie lesen alle für das eingeloggte Kundenkonto hinterlegten Benachrichtigungen aus, legen neue Benachrichtigungen für eine Kombination aus E-Mail-Adresse und Produkt an und löschen bestehende Benachrichtigungen wieder.

### GET account/backInStock/list

Mit folgendem Aufruf werden alle „Produkt wieder verfügbar“-Benachrichtigungen aufgelistet, die für das Konto aktiviert sind. Er kann verwendet werden, um sie dem Kunden im Kundenkonto zur Ansicht zur Verfügung zu stellen.

**Beispiel-Aufruf, der alle “Produkt wieder verfügbar”-Benachrichtigungen des aktuell eingeloggten Kundenkontos auflistet**

```text theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
GET https://<ihr-shop>.de/api/v1/account/backInStock/list
```

#### Parameterübersicht

#### Header-Parameter

| **Parameter** | **Beschreibung**                                                                                                                                                                                                        |
| ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `x-session`   | **Pflichtfeld**<br />ID der aktuellen Session.   <br />Mehr Informationen dazu: [Storefront API Basics](https://websaleag-44ee7ea6.mintlify.app/schnittstellen/storefront-api/storefront-api-basics#3-session-handling) |

#### Beispiel-Response

```json theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{
  "items": [
    {
      "email": "<email>",
      "productId": "12345"
    }
  ]
}
```

### POST account/backInStock/notify

Mit diesem Aufruf wird für das eingeloggte Konto eine „Produkt wieder verfügbar“-Benachrichtigung eingerichtet. Sobald der Artikel wieder auf Lager ist, wird eine E-Mail an die angegebene Adresse verschickt.

**Beispiel-Aufruf, der eine “Produkt wieder verfügbar”-Benachrichtigung für das Produkt mit der ID** `12345 `**anlegt. Die Benachrichtigung wird an die E-Mail-Adresse** `<EMAIL> `**versendet**

```text theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
POST https://<ihr-shop>.de/api/v1/account/backInStock/notify
```

#### Beispiel-Request

```json theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{
  "email": "<EMAIL>",
  "productId": "12345"
}
```

#### Parameterübersicht

#### Header-Parameter

| **Parameter** | **Beschreibung**                                                                                                                                                                                                        |
| ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `x-session`   | **Pflichtfeld**<br />ID der aktuellen Session.   <br />Mehr Informationen dazu: [Storefront API Basics](https://websaleag-44ee7ea6.mintlify.app/schnittstellen/storefront-api/storefront-api-basics#3-session-handling) |

#### Body-Parameter

| **Parameter** | **Typ** | **Beschreibung**                                                                        |
| ------------- | ------- | --------------------------------------------------------------------------------------- |
| `email`       | string  | **Pflichtfeld**<br />E-Mail-Adresse, an die die Benachrichtigung geschickt werden soll. |
| `productId`   | string  | **Pflichtfeld**<br />ID des Produkts, zu dem benachrichtigt werden soll.                |

#### Fehlercodes

| **Code**                | **Beschreibung**                                                                                                             |
| ----------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| `notLoggedIn`           | Die Session ist in kein Konto eingeloggt. (fehlende / ungültige `x-session`)                                                 |
| `notAllowed`            | Das Feature ist in der Konfiguration deaktiviert.   (Konfiguration des Feldes `content.inventory` unter `backInStock.allow`) |
| `missingInventoryState` | Das Produkt hat keinen Lagerbestand.                                                                                         |
| `entryExists`           | Für dieselbe Kombination aus `productId`und `email` existiert bereits eine Benachrichtigung.                                 |

### DELETE account/backInStock/notify

Durch diesen Aufruf wird die für das eingeloggte Konto erstellte „Produkt wieder verfügbar“-Benachrichtigung gelöscht.

**Beispiel-Aufruf, der eine “Produkt wieder verfügbar”-Benachrichtigung für das Produkt mit der ID** `12345 `**und der E-Mail-Adresse** `<EMAIL> `**wieder löscht**

```text theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
DELETE https://<ihr-shop>.de/api/v1/account/backInStock/notify
```

#### Beispiel-Request

```json theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{
  "email": "<EMAIL>",
  "productId": "12345"
}
```

#### Parameterübersicht

#### Header-Parameter

| **Parameter** | **Beschreibung**                                                                                                                                                                                                        |
| ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `x-session`   | **Pflichtfeld**<br />ID der aktuellen Session.   <br />Mehr Informationen dazu: [Storefront API Basics](https://websaleag-44ee7ea6.mintlify.app/schnittstellen/storefront-api/storefront-api-basics#3-session-handling) |

#### Body-Parameter

| **Parameter** | **Typ** | **Beschreibung**                                                                         |
| ------------- | ------- | ---------------------------------------------------------------------------------------- |
| `email`       | string  | **Pflichtfeld**<br />E-Mail-Adresse, für die die Benachrichtigung eingerichtet ist.      |
| `productId`   | string  | **Pflichtfeld**<br />ID des Produkts, für das die Benachrichtigung gelöscht werden soll. |

#### Fehlercodes

| **Code**                | **Beschreibung**                                                             |
| ----------------------- | ---------------------------------------------------------------------------- |
| `notLoggedIn`           | Die Session ist in kein Konto eingeloggt. (fehlende / ungültige `x-session`) |
| `notAllowed`            | Das Feature ist in der Konfiguration deaktiviert.                            |
| `missingInventoryState` | Das Produkt hat keinen Lagerbestand.                                         |

***

## Weitere Methoden für Kundendaten

Mithilfe dieser Methoden wird das Kundenkonto um zentrale Self-Service-Funktionen ergänzt. Benutzer können ihre Bestellhistorie paginiert einsehen oder einzelne Bestellungen mitsamt Positionen, Adressen sowie Zahlungs- und Versanddetails gezielt abrufen. Zusätzlich kann man den öffentlichen Anzeigenamen für Produktbewertungen und die E-Mail-Adresse des Kontos ändern. Bei Bedarf ist eine nachgelagerte Bestätigung per Opt-in-Token erforderlich. Der komplette Lebenszyklus von Passwörtern wird abgedeckt: vom Ändern des Passworts im eingeloggten Zustand (inklusive optionaler Prüfung der aktuellen E-Mail-Adresse und/oder des bisherigen Passworts) bis hin zum Prozess „Passwort vergessen“ mit Wiederherstellungs-E-Mail und anschließendem Zurücksetzen über einen Opt-in-Token.

### GET account/order/list

Mit diesem Aufruf wird die Bestellhistorie des aktuell eingeloggten Kundenkontos angezeigt. Er kann für die „Meine Bestellungen“-Seite im Kundenkonto genutzt werden. Über die Query-Parameter `page` und `size` lässt sich die Paginierung steuern (z. B. Seite 1 mit zehn Einträgen). So können Bestellungen seitenweise geladen und komfortabel angezeigt werden.

**Beispiel-Aufruf, der die Bestellhistorie der Seite** `1 `**mit** `10 Einträgen `**des aktuell eingeloggten Kundenkontos anzeigt**

```text theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
GET https://<ihr-shop>.de/api/v1/account/order/list?page=1&size=10
```

#### Parameterübersicht

#### Header-Parameter

| **Parameter** | **Beschreibung**                                                                                                                                                                                                        |
| ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `x-session`   | **Pflichtfeld**<br />ID der aktuellen Session.   <br />Mehr Informationen dazu: [Storefront API Basics](https://websaleag-44ee7ea6.mintlify.app/schnittstellen/storefront-api/storefront-api-basics#3-session-handling) |

#### Body-Parameter

| **Parameter** | **Typ** | **Beschreibung**                                                                                                                         |
| ------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| `page`        | int     | **Pflichtfeld**<br />Gibt an, welche Seite der Bestellauflistung ausgegeben werden soll.   Der Parameter muss größer oder gleich 1 sein. |
| `size`        | int     | **Pflichtfeld**<br />Gibt an, wie viele Bestellungen pro Seite angezeigt werden sollen. Erlaubt ist eine Anzahl zwischen 1 und 100.      |
| `order`       | string  | Sortierung (ID aus `general.order`), leer lassen für Standardsortierung.                                                                 |

#### Beispiel-Response

```json theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{
   "items" : [
      {
         "billAddress" : {
            "additionalInfo" : "",
            "addressType" : "",
            "businessFax" : "",
            "businessPhone" : "",
            "city" : "Nürnberg",
            "company" : "",
            "country" : "DE",
            "countryName" : "Deutschland",
            "custom" : null,
            "dateOfBirth" : "",
            "department" : "",
            "fax" : "",
            "firstName" : "Yvonne",
            "lastName" : "Kothmeier",
            "mobilePhone" : "",
            "phone" : "",
            "salutationCode" : "2",
            "salutationText" : "Frau",
            "state" : "",
            "street" : "Gutenstetterstraße 2",
            "streetNumber" : "",
            "taxId" : "",
            "titleCode" : "",
            "zip" : "90449"
         },
         "customer" : {
            "accountId" : 88
         },
         "customerData" : {},
         "freeFields" : {
            "agb.checked" : "true",
            "agb.merchantText" : "agb text here",
            "comment.text" : ""
         },
         "general" : {
            "dateTime" : "2025-10-27T16:09:29Z",
            "orderId" : "4438",
            "sessionId" : "67f62f53c064541e51a51a086c9cc9e1a95cb49ff59eb719b11ac2e76742bc90",
            "shopId" : "demo",
            "shopLanguage" : "Deutsch",
            "subshopId" : "deutsch",
            "testMode" : false
         },
         "order" : {
            "currencyIso" : "EUR",
            "currencySymbol" : "€",
            "defaultTaxRate" : "0.1900000",
            "delivererId" : "dhl",
            "delivererOrderText" : "DHL",
            "deliveryCost" : "0.00",
            "deliveryTaxRate" : "0.1900000",
            "fees" : {
               "currencyConversionRate" : 0,
               "feeOrgTotalOrder" : "59.99",
               "feeTotalOrder" : "59.99"
            },
            "paymentId" : "bill",
            "paymentOrderText" : "Rechnung (offline)",
            "priceType" : "gross",
            "referer" : "",
            "subreferer" : "",
            "subtotal" : "59.99",
            "tax" : "9.58",
            "total" : "59.99",
            "totalCommission" : "0.00",
            "totalDiscount" : "0.00",
            "totalVoucher" : "0.00",
            "totalWeight" : 0
         },
         "orderList" : {
            "item" : [
               {
                  "basketId" : "342ac4f0c9c59e399c65",
                  "discount" : "0.00",
                  "extraFields" : {},
                  "freeFields" : {
                     "categoryPath" : "Bekleidung"
                  },
                  "isAutoBasket" : false,
                  "isChangeable" : true,
                  "isRemovable" : true,
                  "isVisible" : true,
                  "itemNumber" : "test",
                  "name" : "Wollmantel mit Bindegürtel",
                  "orgPrice" : "0.00",
                  "price" : "59.99",
                  "productId" : "155-03082",
                  "quantity" : "1.00",
                  "singleTotal" : "59.99",
                  "taxId" : "19",
                  "taxRate" : "0.1900000",
                  "total" : "59.99",
                  "variantId" : "",
                  "variantSelection" : null,
                  "weight" : 0
               }
            ]
         },
         "shippingAddress" : null,
         "store" : null
      }
   ]
}
```

### GET account/order/get

Mit diesem Aufruf werden die Details einer konkreten Bestellung des aktuell eingeloggten Kundenkontos abgerufen, beispielsweise für die Detailseite der Bestellung.

**Beispiel-Aufruf, der für das aktuell eingeloggte Kundenkonto die Details zur Bestellung mit der ID** `4869 `**abruft**

```text theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
GET https://<ihr-shop>.de/api/v1/account/order/get?orderId=4869
```

#### Parameterübersicht

#### Header-Parameter

| **Parameter** | **Beschreibung**                                                                                                                                                                                                        |
| ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `x-session`   | **Pflichtfeld**<br />ID der aktuellen Session.   <br />Mehr Informationen dazu: [Storefront API Basics](https://websaleag-44ee7ea6.mintlify.app/schnittstellen/storefront-api/storefront-api-basics#3-session-handling) |

#### Body-Parameter

| **Parameter** | **Typ** | **Beschreibung**                              |
| ------------- | ------- | --------------------------------------------- |
| `orderId`     | string  | ID der Bestellung, die abgerufen werden soll. |

#### Beispiel-Response

```json theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{
  "billAddress": null,
  "customer": {
    "accountId": 126
  },
  "customerData": {},
  "freeFields": {
    "agb.checked": "true",
    "agb.merchantText": "agb text here",
    "comment.text": ""
  },
  "general": {
    "dateTime": "2025-11-06T08:11:18Z",
    "orderId": "4869",
    "sessionId": "68343c298c1e6cd301d18d381a5ad70d73a872fbebfc2d0c4e4a7143214a8333",
    "shopId": "myshop",
    "shopLanguage": "Deutsch",
    "subshopId": "deutsch",
    "testMode": false
  },
  "order": {
    "currencyIso": "EUR",
    "currencySymbol": "€",
    "defaultTaxRate": "0.1900000",
    "delivererId": "hermes",
    "delivererOrderText": "Hermes",
    "delivererType": "standard",
    "deliveryCost": "0.00",
    "deliveryTaxRate": "0.1900000",
    "fees": {
      "currencyConversionRate": 0,
      "feeOrgTotalOrder": "199.00",
      "feeTotalOrder": "199.00"
    },
    "paymentId": "bill",
    "paymentOrderText": "Rechnung",
    "priceType": "gross",
    "referer": "",
    "subreferer": "",
    "subtotal": "199.00",
    "tax": "31.77",
    "total": "199.00",
    "totalCommission": "0.00",
    "totalDiscount": "0.00",
    "totalVoucher": "0.00",
    "totalWeight": 0
  },
  "orderList": {
    "item": [
      {
        "basketId": "2014a8373f19d80b99e0",
        "discount": "0.00",
        "extraFields": {},
        "freeFields": {
          "gravur1": "",
          "gravur2": "",
          "gravur3": ""
        },
        "isAutoBasket": false,
        "isChangeable": true,
        "isRemovable": true,
        "isVisible": true,
        "itemNumber": "83-1783-44",
        "name": "Neuer Blazer 'Bethy'",
        "orgPrice": "0.00",
        "price": "199.00",
        "productId": "83-1783",
        "quantity": "1.00",
        "singleTotal": "199.00",
        "taxId": "1",
        "taxRate": "0.1900000",
        "total": "199.00",
        "variantId": "5",
        "variantSelection": [
          {
            "attributeId": "Größe",
            "optionId": "44"
          }
        ],
        "weight": 0
      }
    ]
  },
  "shippingAddress": null,
  "store": null
}
```

### POST account/displayName/update

Mit diesem Aufruf lässt sich der öffentliche Anzeigename des aktuell eingeloggten Kundenkontos ändern. Dabei handelt es sich um den Namen, der bei Produktbewertungen neben den Rezensionen angezeigt wird.

**Beispiel-Aufruf, der den öffentlichen Anzeigenamen des aktuell eingeloggten Benutzerkontos auf** `Name `**ändert**

```text theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
POST https://<ihr-shop>.de/api/v1/account/displayName/update
```

#### Beispiel-Request

```json theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{ "displayName": "Name" }
```

#### Parameterübersicht

#### Header-Parameter

| **Parameter** | **Beschreibung**                                                                                                                                                                                                        |
| ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `x-session`   | **Pflichtfeld**<br />ID der aktuellen Session.   <br />Mehr Informationen dazu: [Storefront API Basics](https://websaleag-44ee7ea6.mintlify.app/schnittstellen/storefront-api/storefront-api-basics#3-session-handling) |

#### Body-Parameter

| **Parameter** | **Typ** | **Beschreibung**                                     |
| ------------- | ------- | ---------------------------------------------------- |
| `displayName` | string  | **Pflichtfeld**   Neuer Anzeigename für Bewertungen. |

#### Beispiel-Response

```text theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{}
```

#### Fehlercodes

| **Code**      | **Beschreibung**                 |
| ------------- | -------------------------------- |
| `notLoggedIn` | Es ist kein Benutzer eingeloggt. |

### POST account/email/update

Mit dem folgenden Aufruf kann die E-Mail-Adresse des eingeloggten Kontos geändert werden. Je nach Konfiguration wird anschließend möglicherweise eine E-Mail-Verifizierung ausgelöst.

**Beispiel-Aufruf, der die E-Mail-Adresse für das aktuell eingeloggte Benutzerkonto auf** `neue.adresse@example.com `**ändert**

```text theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
POST https://<ihr-shop>.de/api/v1/account/email/update
```

#### Beispiel-Request

```text theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
 { "email": "neue.adresse@example.com" }
```

#### Parameterübersicht

#### Header-Parameter

| **Parameter** | **Beschreibung**                                                                                                                                                                                                        |
| ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `x-session`   | **Pflichtfeld**<br />ID der aktuellen Session.   <br />Mehr Informationen dazu: [Storefront API Basics](https://websaleag-44ee7ea6.mintlify.app/schnittstellen/storefront-api/storefront-api-basics#3-session-handling) |

#### Body-Parameter

| **Parameter** | **Typ** | **Beschreibung**     |
| ------------- | ------- | -------------------- |
| `email`       | string  | Neue E-Mail-Adresse. |

#### Fehlercodes

| **Code**               | **Beschreibung**                                            |
| ---------------------- | ----------------------------------------------------------- |
| `emailCheckFailed`     | Die angegebene E-Mail hat ein ungültiges Format.            |
| `accountAlreadyExists` | Es existiert bereits ein Account mit dieser E-Mail-Adresse. |

### POST account/email/verify

Mit dem folgenden Aufruf wird die E-Mail-Adresse mithilfe des Opt-In-Tokens aus der Bestätigungs-E-Mail bestätigt.

**Beispiel-Aufruf, der die E-Mail-Adresse mithilfe des** `Opt-In-Token <OPT_IN_TOKEN> `**verifiziert**

```text theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
POST https://<ihr-shop>.de/api/v1/account/email/verify
```

#### Beispiel-Request

```json theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{ "otok": "<OPT_IN_TOKEN>" }
```

#### Parameterübersicht

#### Header-Parameter

| **Parameter** | **Beschreibung**                                                                                                                                                                                                        |
| ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `x-session`   | **Pflichtfeld**<br />ID der aktuellen Session.   <br />Mehr Informationen dazu: [Storefront API Basics](https://websaleag-44ee7ea6.mintlify.app/schnittstellen/storefront-api/storefront-api-basics#3-session-handling) |

#### Body-Parameter

| **Parameter** | **Typ** | **Beschreibung**                                                                                                 |
| ------------- | ------- | ---------------------------------------------------------------------------------------------------------------- |
| `otok`        | string  | Opt-In Token aus der Bestätigungsmail. Kann ein Pflichtfeld oder optional sein.   Mehr Infos siehe Hinweis oben. |

#### Beispiel-Response

```text theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{}
```

#### Fehlercodes

| **Code**           | **Beschreibung**                            |
| ------------------ | ------------------------------------------- |
| `actionNotAllowed` | Der übermittelte Opt-In-Token ist ungültig. |

### POST account/password/change

Mit diesem Aufruf wird das Passwort des aktuell eingeloggten Kontos geändert. Je nach Shop-Konfiguration kann die Eingabe des aktuellen Passworts erforderlich sein und/oder eine E-Mail-Bestätigung ausgelöst werden.

**Beispiel-Aufruf, um für das aktuelle Benutzerkonto ein neues Passwort (**`<NEUES_PASSWORT>`**) zu setzen**

```text theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
POST https://<ihr-shop>.de/api/v1/account/password/change
```

#### Beispiel-Request

```json theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{ "newPassword": "<NEUES_PASSWORT>" }
```

#### Parameterübersicht

#### Header-Parameter

| **Parameter** | **Beschreibung**                                                                                                                                                                                                        |
| ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `x-session`   | **Pflichtfeld**<br />ID der aktuellen Session.   <br />Mehr Informationen dazu: [Storefront API Basics](https://websaleag-44ee7ea6.mintlify.app/schnittstellen/storefront-api/storefront-api-basics#3-session-handling) |

#### Body-Parameter

| **Parameter**  | **Typ** | **Beschreibung**                                                                                                                    |
| -------------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------- |
| `newPassword`  | string  | **Pflichtfeld**<br />Das gewünschte neue Passwort für das Benutzerkonto.                                                            |
| `email`        | string  | Die E-Mail-Adresse des Kontos, für das das Passwort geändert werden soll.   Nur erforderlich, wenn in der Konfiguration vorgegeben. |
| `passwordAuth` | string  | Nur erforderlich, wenn in der Konfiguration vorgegeben.                                                                             |

#### Beispiel-Response

```text theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{}
```

#### Fehlercodes

| **Code**              | **Beschreibung**                                                                                          |
| --------------------- | --------------------------------------------------------------------------------------------------------- |
| `notLoggedIn`         | Die Session ist nicht eingeloggt. (fehlende / ungültige `x-session`)                                      |
| `emailMismatch`       | Die angegebene E-Mail-Adresse stimmt nicht mit dem Konto überein.                                         |
| `missingEmail`        | Die E-Mail-Prüfung wurde in der Konfiguration aktiviert, aber `email` fehlt im Request.                   |
| `failedPasswordAuth`  | Das eingegebene Passwort ist falsch.                                                                      |
| `missingPasswordAuth` | Prüfung des aktuellen Passworts ist in der Konfiguration aktiviert, aber `passwordAuth` fehlt im Request. |
| `passwordCheckFailed` | Das neue Passwort erfüllt die Mindeststandards nicht. (z.B. Länge / Komplexität)                          |

### POST account/password/forgotten

Mit dem folgenden Aufruf wird die Passwort-Zurücksetzung für die angegebene E-Mail-Adresse gestartet (es wird eine E-Mail mit weiteren Informationen zum Vorgehen versendet).

**Beispiel-Aufruf, der den “Passwort vergessen”-Link an die E-Mail-Adresse** `kunde@example.com `**sendet**

```text theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
POST https://<ihr-shop>.de/api/v1/account/password/forgotten
```

#### Beispiel-Request

```json theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{ "email": "kunde@example.com" }
```

#### Parameterübersicht

#### Header-Parameter

| **Parameter** | **Beschreibung**                                                                                                                                                                                                        |
| ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `x-session`   | **Pflichtfeld**<br />ID der aktuellen Session.   <br />Mehr Informationen dazu: [Storefront API Basics](https://websaleag-44ee7ea6.mintlify.app/schnittstellen/storefront-api/storefront-api-basics#3-session-handling) |

#### Body-Parameter

| **Parameter** | **Typ** | **Beschreibung**                                |
| ------------- | ------- | ----------------------------------------------- |
| `email`       | string  | **Pflichtfeld**<br />E-Mail-Adresse des Kontos. |

#### Fehlercodes

| **Code**                 | **Beschreibung**                                             |
| ------------------------ | ------------------------------------------------------------ |
| `emailCheckFailed`       | Die angegebene E-Mail-Adresse hat ein ungültiges Format.     |
| `passwordRecoveryFailed` | Für die angegebene E-Mail-Adresse wurde kein Konto gefunden. |

### POST account/password/reset

Mit folgendem Aufruf kann das Passwort mithilfe des Opt-In-Tokens aus der „Passwort vergessen“-E-Mail zurückgesetzt werden:

**Beispiel-Aufruf, der die Passwortrücksetzung für das Kundenkonto mit der E-Mail-Adresse** `kundenkonto@example.com `**bestätigt und als neues Passwort** `password `**setzt**

```text theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
POST https://<ihr-shop>.de/api/v1/account/password/reset
```

#### Beispiel-Response

```json theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{
  "newPassword": "password",
  "email": "kundenkonto@example.com",
  "otok": "AZ3XHlWGe4E98D4fsJrPhWclSgBBQwAAAAA.ZKgwbjF-IDLuaakADfazRmAWTmjdH-A9W92JtZnPVPQ"
}
```

#### Parameterübersicht

#### Header-Parameter

| **Parameter** | **Beschreibung**                                                                                                                                                                                                        |
| ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `x-session`   | **Pflichtfeld**<br />ID der aktuellen Session.   <br />Mehr Informationen dazu: [Storefront API Basics](https://websaleag-44ee7ea6.mintlify.app/schnittstellen/storefront-api/storefront-api-basics#3-session-handling) |

#### Body-Parameter

| **Parameter** | **Typ** | **Beschreibung**                                                                  |
| ------------- | ------- | --------------------------------------------------------------------------------- |
| `newPassword` | string  | **Pflichtfeld**<br />Das gewünschte neue Passwort.                                |
| `otok`        | string  | **Pflichtfeld**<br />Opt-In-Token aus der “Passwort vergessen” E-Mail.            |
| `email`       | string  | Nur erforderlich, wenn die Prüfung der E-Mail in der Konfiguration aktiviert ist. |

#### Fehlercodes

| **Code**              | **Beschreibung**                                                                                       |
| --------------------- | ------------------------------------------------------------------------------------------------------ |
| `notLoggedIn`         | Der angegebene Opt-In-Token ist ungültig oder abgelaufen.                                              |
| `emailMismatch`       | Die angegebene E-Mail-Adresse stimmt nicht mit dem Konto überein.                                      |
| `missingEmail`        | E-Mail-Prüfung ist in der Konfiguration aktiviert, aber `email` wurde nicht als Parameter übermittelt. |
| `passwordCheckFailed` | Das neue Passwort erfüllt die Richtlinien nicht.                                                       |
