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

# Übersicht Fahrzeuge-API

> Vollständiges Fahrzeugbestandsmanagement, Inspektionsverfolgung und Schadensberichte

## Einführung

Die Fahrzeuge-API stellt umfassende Endpunkte bereit, um Ihren Fahrzeugbestand über den gesamten Lebenszyklus zu verwalten – von der ersten Anzeige bis zum finalen Verkauf. Dazu gehören Fahrzeugdatenverwaltung, Schadensverfolgung, Inspektionskoordination und Status-Updates.

## Hauptfunktionen

<CardGroup cols={2}>
  <Card title="Bestandsmanagement" icon="car">
    Erstellen, aktualisieren, suchen und filtern Sie Ihren Fahrzeugbestand mit erweiterten Suchfunktionen
  </Card>

  <Card title="Schadensverfolgung" icon="triangle-exclamation">
    Erfassen und verwalten Sie Schadenbewertungen mit detaillierten Berichten und Kostenschätzungen
  </Card>

  <Card title="Inspektionsintegration" icon="magnifying-glass">
    Verbinden Sie sich mit KI-gestützten Inspektionsdiensten zur automatisierten Schadenserkennung
  </Card>

  <Card title="Statusablauf" icon="arrows-spin">
    Verfolgen Sie Fahrzeuge durch Status: LOADING, INSPECTED, SOLD mit vollständiger Historie
  </Card>
</CardGroup>

## Fahrzeuglebenszyklus

```mermaid theme={null}
graph LR
    A[Create Vehicle] --> B[LOADING]
    B --> C[Add Images & Details]
    C --> D[Inspection]
    D --> E[INSPECTED]
    E --> F[Publish Listing]
    F --> G[SOLD]

    style A fill:#282F75
    style E fill:#4360B1
    style G fill:#28a745
```

## API-Endpunkte

### Fahrzeugverwaltung

| Endpunkt         | Methode | Beschreibung                                         |
| ---------------- | ------- | ---------------------------------------------------- |
| `/vehicles`      | GET     | Alle Fahrzeuge mit Filtern und Paginierung auflisten |
| `/vehicles/{id}` | GET     | Fahrzeugdetails per ID abrufen                       |
| `/vehicles`      | POST    | Neues Fahrzeug anlegen                               |
| `/vehicles/{id}` | PATCH   | Fahrzeuginformationen aktualisieren                  |
| `/vehicles/{id}` | DELETE  | Fahrzeug löschen                                     |

### Suche & Filter

| Endpunkt                        | Methode | Beschreibung                                 |
| ------------------------------- | ------- | -------------------------------------------- |
| `/vehicles/public`              | GET     | Veröffentliche öffentliche Fahrzeuge abrufen |
| `/vehicles/status/{status}`     | GET     | Nach Kaufstatus filtern                      |
| `/vehicles/make/{make}`         | GET     | Nach Marke filtern                           |
| `/vehicles/location/{location}` | GET     | Nach Standort filtern                        |
| `/vehicles/search/{q}`          | GET     | Volltextsuche über Fahrzeuge                 |

### Schadensverwaltung

| Endpunkt                            | Methode | Beschreibung                                            |
| ----------------------------------- | ------- | ------------------------------------------------------- |
| `/vehicles/{id}/complete`           | PUT     | Fahrzeugdaten mit Schäden und Analysen vervollständigen |
| `/vehicles/{id}/damages`            | POST    | Schadenseintrag zum Fahrzeug hinzufügen                 |
| `/vehicles/{id}/damages/{damageId}` | DELETE  | Schadenseintrag entfernen                               |
| `/vehicles/{id}/estimate-damages`   | POST    | KI-Schadensschätzung auslösen                           |

### Inspektionsablauf

| Endpunkt                          | Methode | Beschreibung                           |
| --------------------------------- | ------- | -------------------------------------- |
| `/vehicles/phase/preprocess/{id}` | POST    | Vorverarbeitungsjob an Fahrzeug hängen |
| `/vehicles/webhooks/ml-results`   | POST    | Webhook für ML-Verarbeitungsergebnisse |

## Fahrzeugobjekt-Schema

```json theme={null}
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "userId": "user_uuid",
  "make": "Honda",
  "model": "Civic",
  "overviewYear": 2021,
  "price": 25000,
  "km": 45000,
  "location": "Casablanca, Morocco",
  "seat": 5,
  "gearBox": "Automatic",
  "fuel": "Gasoline",
  "engineDisplacement": 1800,
  "numberCV": 140,
  "averageConsumption": "6.5L/100km",
  "outside": "Excellent",
  "inside": "Good",
  "ownerNumber": 1,
  "purchaseStatus": "INSPECTED",
  "archive": false,
  "published": true,
  "adNumber": 12345,
  "immatricule": "ABC-1234",
  "overviewImgs": "https://...",
  "postedBy": "Dealer XYZ",
  "functionalities": "GPS, Bluetooth, Cruise Control",
  "feature": "Sunroof, Leather Seats",
  "createdAt": "2024-01-15T10:30:00Z",
  "updatedAt": "2024-01-15T10:30:00Z"
}
```

## Abfrageparameter

### Filteroptionen

Alle Listen-Endpunkte unterstützen folgende Filter:

* `search` - Globale Suche über Marke, Modell, Standort
* `make` - Nach Fahrzeugmarke filtern
* `model` - Nach Fahrzeugmodell filtern
* `minPrice` / `maxPrice` - Preisbereich
* `minYear` / `maxYear` - Baujahresbereich
* `minKm` / `maxKm` - Kilometerbereich
* `fuel` - Nach Kraftstoffart filtern
* `gearBox` - Nach Getriebetyp filtern
* `location` - Nach Standort filtern
* `purchaseStatus` - Nach Status filtern (LOADING, INSPECTED, SOLD)
* `published` - Nach Veröffentlichungsstatus filtern
* `archive` - Nach Archivstatus filtern

### Paginierung & Sortierung

* `page` - Seitennummer (Standard: 1)
* `limit` - Einträge pro Seite (Standard: 10, max: 100)
* `sortBy` - Sortierfeld (price, overviewYear, km, createdAt)
* `sortOrder` - Sortierrichtung (asc, desc)

## Kaufstatusablauf

### Status-Übergänge

<Steps>
  <Step title="LOADING">
    Fahrzeug wird dem Bestand hinzugefügt. Bilder und Details werden gesammelt.
  </Step>

  <Step title="INSPECTED">
    Fahrzeug wurde inspiziert. Schadensberichte und Zustandsbewertungen sind abgeschlossen.
  </Step>

  <Step title="SOLD">
    Fahrzeug wurde verkauft. Transaktion abgeschlossen.
  </Step>
</Steps>

## Schadensobjekt-Schema

```json theme={null}
{
  "id": "damage_uuid",
  "type": "Dent",
  "severity": "moderate",
  "location": "Front Right Door",
  "description": "Small dent approximately 5cm diameter",
  "estimatedCost": 350,
  "imageUrls": [
    "https://...",
    "https://..."
  ]
}
```

### Schweregrade

* `minor` - Kosmetischer Schaden, minimale Reparatur nötig
* `moderate` - Sichtbarer Schaden, professionelle Reparatur erforderlich
* `severe` - Struktureller Schaden, erhebliche Arbeiten erforderlich

## Ratenlimits

Fahrzeuge-API-Endpunkte folgen den Standard-Ratenlimits:

| Plan         | Anfragen/Stunde | Burst-Limit |
| ------------ | --------------- | ----------- |
| Kostenlos    | 1,000           | 50          |
| Starter      | 10,000          | 200         |
| Professional | 100,000         | 1,000       |
| Enterprise   | Unbegrenzt      | Individuell |

## Fehlercodes

| Code                          | Beschreibung                                     |
| ----------------------------- | ------------------------------------------------ |
| `VEHICLE_NOT_FOUND`           | Fahrzeug-ID existiert nicht                      |
| `VEHICLE_ALREADY_SOLD`        | Verkaufte Fahrzeuge können nicht geändert werden |
| `UNAUTHORIZED_VEHICLE_ACCESS` | Benutzer besitzt dieses Fahrzeug nicht           |
| `INVALID_PURCHASE_STATUS`     | Ungültiger Statusübergang                        |
| `DUPLICATE_IMMATRICULE`       | Kennzeichen existiert bereits                    |

## Bewährte Praktiken

<AccordionGroup>
  <Accordion title="Fahrzeugdaten vor dem Erstellen immer validieren">
    Stellen Sie sicher, dass alle Pflichtfelder vorhanden und gültig sind. Nutzen Sie Schema-Validierung, um Fehler zu vermeiden.
  </Accordion>

  <Accordion title="Paginierung für große Bestände verwenden">
    Bei Beständen mit 1000+ Fahrzeugen immer Paginierung mit sinnvollen Seitengrößen (10–50) verwenden.
  </Accordion>

  <Accordion title="Caching für öffentliche Inserate nutzen">
    Öffentliche Fahrzeuglisten werden 5 Minuten gecacht. Nutzen Sie dies zur Performance-Optimierung.
  </Accordion>

  <Accordion title="Status-Übergänge nachverfolgen">
    Führen Sie Audit-Logs zu Statusänderungen für Compliance und Business Intelligence.
  </Accordion>
</AccordionGroup>

## Nächste Schritte

<CardGroup cols={2}>
  <Card title="Fahrzeuge auflisten" icon="list" href="/de/api-reference/vehicles/list">
    Erfahren Sie, wie Sie Ihren Fahrzeugbestand abrufen und filtern
  </Card>

  <Card title="Fahrzeug erstellen" icon="plus" href="/de/api-reference/vehicles/create">
    Fügen Sie neue Fahrzeuge zu Ihrem Bestand hinzu
  </Card>

  <Card title="Schadensverwaltung" icon="wrench" href="/de/api-reference/vehicles/damages">
    Verwalten Sie Schadensberichte und Schätzungen
  </Card>

  <Card title="Suche & Filter" icon="filter" href="/de/api-reference/vehicles/search">
    Erweiterte Such- und Filteroptionen
  </Card>
</CardGroup>
