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

# Dry-Run-Validierung

> Validieren Sie unterstützte Schreibvorgänge gegen den aktuellen Scope und Zustand, ohne Speicherung oder dokumentierte Side Effects.

Unterstützte Schreiboperationen akzeptieren:

```text theme={"theme":{"light":"github-light","dark":"github-dark"}}
dryRun=true
```

## Unterstützte Operationen

| Operation                 | Ergebnis des Dry Runs                                            | Unterdrückte Wirkung                           |
| ------------------------- | ---------------------------------------------------------------- | ---------------------------------------------- |
| Mitarbeiter erstellen     | Projizierter Mitarbeiter                                         | Kontoerstellung und E-Mail zur Passwortvergabe |
| Mitarbeiter aktualisieren | Projizierter Mitarbeiter                                         | Gespeicherte Mitarbeiteränderung               |
| Bestellung entscheiden    | Projizierte Bestellung                                           | Entscheidung und Benachrichtigungen            |
| Vorfall erstellen         | Projizierter Vorfall                                             | Erstellung des Vorfalls                        |
| Vorfall aktualisieren     | Projizierter Vorfall                                             | Gespeicherte Vorfallsänderung                  |
| Vorfallsanhänge hochladen | Validierungsergebnis oder projizierte Ressource wie dokumentiert | Dateispeicherung                               |
| Division erstellen        | Projizierte Division                                             | Erstellung der Division                        |
| Division aktualisieren    | Projizierte Division                                             | Gespeicherte Divisionsänderung                 |

## Request-Sequenz

```mermaid theme={"theme":{"light":"github-light","dark":"github-dark"}}
sequenceDiagram
    participant Client
    participant API as JobHandy API
    Client->>API: Write-Request mit dryRun=true
    API->>API: Authentifizieren und Scope erzwingen
    API->>API: Schema, Referenzen und aktuellen Zustand validieren
    API-->>Client: Projizierte Ressource oder Fehler
    Client->>Client: Projektion prüfen
    Client->>API: Derselbe Schreibvorgang ohne dryRun
    API->>API: Aktuellen Zustand erneut validieren
    API-->>Client: Persistierte Ressource oder aktueller Fehler
```

## Garantien und Nicht-Garantien

Ein erfolgreicher Dry Run bestätigt, dass die Anfrage zu diesem Zeitpunkt die Validierung bestanden hat. Er:

* reserviert keine ID, Ressource, keinen Namen und keine Position
* sperrt die Ressource nicht
* erstellt keinen Idempotenzdatensatz
* garantiert nicht, dass der nachfolgende Schreibvorgang erfolgreich ist
* erzeugt keine separate Testumgebung
* unterdrückt keine Reads aktueller Produktivdaten

Ein anderer Prozess kann die Ressource oder Eindeutigkeitsbedingungen zwischen Dry Run und realem Schreibvorgang ändern. Behandeln Sie `409` und `422` auch beim realen Request erneut.

## Vorschau-IDs

Ein Create-Dry-Run kann eine Vorschau-ID zurückgeben. Speichern Sie sie nicht als reale Ressourcen-ID und verwenden Sie sie nicht in späteren Anfragen. Persistieren Sie ausschließlich die ID aus der erfolgreichen Create-Response ohne Dry Run.

## Sicheres Verwendungsmuster

<Steps>
  <Step title="Finalen Request erstellen">
    Verwenden Sie dieselben Header und denselben Body, die für den realen Schreibvorgang vorgesehen sind.
  </Step>

  <Step title="Mit dryRun=true validieren">
    Prüfen Sie sowohl die projizierte Ressource als auch mögliche Validierungsfehler.
  </Step>

  <Step title="Ohne unnötige Verzögerung anwenden">
    Senden Sie den finalen Schreibvorgang, sobald die Projektion akzeptiert wurde.
  </Step>

  <Step title="Response abgleichen">
    Speichern Sie die reale Ressourcen-ID, den Zustand und die `X-Request-ID`.
  </Step>
</Steps>
