# Einstieg

> In fünf Minuten zur ersten Anfrage an die Ladehase API, mit Testgeräten und ohne Hardware.

Die Ladehase API ist eine REST-API unter `https://api.ladehase.com/v1`. Alles, was im Dashboard geht, geht auch über die API: Standorte und Ladepunkte verwalten, Tarife festlegen, Ladungen starten und stoppen, Sitzungen auswerten, Zugänge anlegen und Webhooks empfangen.

## Was du brauchst

- Ein Konto im [Dashboard](https://dashboard.ladehase.com/registrieren). Es ist gratis.
- Einen API-Schlüssel. Du erstellst ihn im Dashboard unter «Entwickler». Für den Anfang nimmst du einen Testschlüssel `lh_test_…`.
- `curl` oder eine beliebige Programmiersprache.

## Testgeräte anlegen

Im Testmodus brauchst du keine echte Ladestation. Lege simulierte Ladepunkte an:

```bash
curl -X POST https://api.ladehase.com/v1/integrations/test \
  -H "Authorization: Bearer lh_test_…"
```

Danach listest du die Geräte auf:

```bash
curl https://api.ladehase.com/v1/devices \
  -H "Authorization: Bearer lh_test_…"
```

```json
{
  "object": "list",
  "data": [
    { "id": "dev_…", "object": "device", "name": "Testladepunkt 1", "livemode": false }
  ],
  "has_more": false
}
```

## Eine Ladung starten

Eine Sitzung ohne Zahlung startest du mit `POST /v1/sessions`. So testest du den Ablauf, ohne die Bezahlseite zu öffnen:

```bash
curl -X POST https://api.ladehase.com/v1/sessions \
  -H "Authorization: Bearer lh_test_…" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: 6f1c2a1e-erste-ladung" \
  -d '{ "device_id": "dev_…" }'
```

Steck danach im Testmodus ein simuliertes Auto ein:

```bash
curl -X POST https://api.ladehase.com/v1/devices/dev_…/simulate \
  -H "Authorization: Bearer lh_test_…" \
  -H "Content-Type: application/json" \
  -d '{ "action": "plug", "vehicle_need_wh": 12000 }'
```

Die Sitzung wechselt auf `charging`. Mit `GET /v1/sessions/ses_…` siehst du Energie und laufenden Betrag. Stoppen kannst du mit `POST /v1/sessions/ses_…/stop`.

## Grundsätze der API

- **Einheiten:** Beträge sind Ganzzahlen in Rappen (`1250` = CHF 12.50), Energie in Wattstunden (`12400` = 12.4 kWh), Energiepreise in Hundertstel-Rappen pro kWh (`4500` = 45 Rappen pro kWh). Mehr dazu unter [Tarife](/de/docs/tarife).
- **IDs** haben ein Präfix: `ses_` für Sitzungen, `dev_` für Geräte, `loc_` für Standorte und so weiter.
- **Listen** liefern `object`, `data` und `has_more`. Blättern mit `limit` (höchstens 100) und `starting_after`.
- **Zeitpunkte** sind ISO 8601 in UTC.
- **Fehler** folgen RFC 9457 (Problem Details). Siehe [Fehler](/de/docs/fehler).
- **Wiederholbar:** Schreibende Anfragen akzeptieren eine Kopfzeile `Idempotency-Key`. Dieselbe Anfrage mit demselben Schlüssel wirkt innert 24 Stunden nur einmal.

## Wie weiter

- [Authentifizierung](/de/docs/authentifizierung) und Schlüsselverwaltung
- [Sitzungen und Zustände](/de/docs/sitzungen) verstehen
- [Webhooks](/de/docs/webhooks) empfangen
- [MCP-Server](/de/docs/mcp) mit Claude, ChatGPT oder Cursor nutzen
- [API-Referenz](/de/docs/api) mit allen Endpunkten
