Verbindungen
8 Endpunkte
Verbindungen auflisten
get/v1/integrations
Verbundene Hersteller (Easee) und Zahlungskonten (zahls.ch, Freika). Zugangsdaten werden nie ausgegeben.
Antwort 200IntegrationList
| Name | Typ | Beschreibung |
|---|---|---|
objectPflicht | "list" | |
dataPflicht | Integration[] | |
has_morePflicht | boolean |
Mögliche Fehler
- 400 Anfrage ungültig
- 401 Nicht angemeldet
- 403 Berechtigung fehlt
- 404 Nicht gefunden
- 409 Zustand passt nicht
- 429 Zu viele Anfragen
curl -X GET https://api.ladehase.com/v1/integrations \n -H "Authorization: Bearer lh_test_…"{
"object": "list",
"data": [
{
"id": "int_4a7c2b9d0e1f3a5c",
"object": "integration",
"kind": "easee",
"livemode": true,
"name": "string",
"status": "pending",
"public_info": {},
"webhook_url": "string",
"last_error": "string",
"last_checked_at": "2026-10-25T08:30:00.000Z",
"last_synced_at": "2026-10-25T08:30:00.000Z",
"created_at": "string"
}
],
"has_more": true
}Easee verbinden
post/v1/integrations/easee
Meldet sich einmal mit dem Easee-Login an. Ladehase speichert nur die Tokens (verschlüsselt), nie das Passwort, und importiert sofort alle Charger. Neue Charger sind zuerst deaktiviert.
Parameter
| Name | Ort | Typ |
|---|---|---|
idempotency-keyoptionalWiederholbare Anfragen ohne doppelte Wirkung (24 Stunden) | Kopfzeile | string |
Anfrage
| Name | Typ | Beschreibung |
|---|---|---|
userNamePflicht | string | |
passwordPflicht | string |
Antwort 201Integration
| Name | Typ | Beschreibung |
|---|---|---|
idPflicht | string | ID mit Präfix «int_» |
objectPflicht | "integration" | |
kindPflicht | "easee" | "zaptec" | "ocpp" | "goe" | "shelly" | "mock" | "zahls" | "freika" | Hersteller oder Zahlungspartner. «mock» = Testmodus. |
livemodePflicht | boolean | |
namePflicht | string | |
statusPflicht | "pending" | "active" | "needs_attention" | "disconnected" | |
public_infoPflicht | object | Öffentliche Angaben ohne Geheimnisse |
webhook_urlPflicht | string | null | Bei zahls.ch einzutragende Webhook-URL |
last_errorPflicht | string | null | |
last_checked_atPflicht | string | null | Zeitpunkt (ISO 8601, UTC) |
last_synced_atPflicht | string | null | Zeitpunkt (ISO 8601, UTC) |
created_atPflicht | string |
Mögliche Fehler
- 400 Anfrage ungültig
- 401 Nicht angemeldet
- 403 Berechtigung fehlt
- 404 Nicht gefunden
- 409 Zustand passt nicht
- 429 Zu viele Anfragen
curl -X POST https://api.ladehase.com/v1/integrations/easee \n -H "Authorization: Bearer lh_test_…" \n -H "Content-Type: application/json" \n -d '{"userName":"string","password":"string"}'{
"id": "int_4a7c2b9d0e1f3a5c",
"object": "integration",
"kind": "easee",
"livemode": true,
"name": "string",
"status": "pending",
"public_info": {},
"webhook_url": "string",
"last_error": "string",
"last_checked_at": "2026-10-25T08:30:00.000Z",
"last_synced_at": "2026-10-25T08:30:00.000Z",
"created_at": "string"
}zahls.ch-Konto verbinden
post/v1/integrations/zahls
Verbindet das eigene zahls.ch-Konto mit Instanzname und API-Schlüssel. Das Geld fliesst direkt auf dieses Konto.
Parameter
| Name | Ort | Typ |
|---|---|---|
idempotency-keyoptionalWiederholbare Anfragen ohne doppelte Wirkung (24 Stunden) | Kopfzeile | string |
Anfrage
| Name | Typ | Beschreibung |
|---|---|---|
instancePflicht | string | |
apiKeyPflicht | string |
Antwort 201Integration
| Name | Typ | Beschreibung |
|---|---|---|
idPflicht | string | ID mit Präfix «int_» |
objectPflicht | "integration" | |
kindPflicht | "easee" | "zaptec" | "ocpp" | "goe" | "shelly" | "mock" | "zahls" | "freika" | Hersteller oder Zahlungspartner. «mock» = Testmodus. |
livemodePflicht | boolean | |
namePflicht | string | |
statusPflicht | "pending" | "active" | "needs_attention" | "disconnected" | |
public_infoPflicht | object | Öffentliche Angaben ohne Geheimnisse |
webhook_urlPflicht | string | null | Bei zahls.ch einzutragende Webhook-URL |
last_errorPflicht | string | null | |
last_checked_atPflicht | string | null | Zeitpunkt (ISO 8601, UTC) |
last_synced_atPflicht | string | null | Zeitpunkt (ISO 8601, UTC) |
created_atPflicht | string |
Mögliche Fehler
- 400 Anfrage ungültig
- 401 Nicht angemeldet
- 403 Berechtigung fehlt
- 404 Nicht gefunden
- 409 Zustand passt nicht
- 429 Zu viele Anfragen
curl -X POST https://api.ladehase.com/v1/integrations/zahls \n -H "Authorization: Bearer lh_test_…" \n -H "Content-Type: application/json" \n -d '{"instance":"string","apiKey":"string"}'{
"id": "int_4a7c2b9d0e1f3a5c",
"object": "integration",
"kind": "easee",
"livemode": true,
"name": "string",
"status": "pending",
"public_info": {},
"webhook_url": "string",
"last_error": "string",
"last_checked_at": "2026-10-25T08:30:00.000Z",
"last_synced_at": "2026-10-25T08:30:00.000Z",
"created_at": "string"
}Freika-Konto verbinden
post/v1/integrations/freika
Verbindet das eigene Freika-Konto mit einem API-Schlüssel (Rechte «schreiben» und «Terminals»). Nötig für das PAX IM30.
Parameter
| Name | Ort | Typ |
|---|---|---|
idempotency-keyoptionalWiederholbare Anfragen ohne doppelte Wirkung (24 Stunden) | Kopfzeile | string |
Anfrage
| Name | Typ | Beschreibung |
|---|---|---|
apiKeyPflicht | string |
Antwort 201Integration
| Name | Typ | Beschreibung |
|---|---|---|
idPflicht | string | ID mit Präfix «int_» |
objectPflicht | "integration" | |
kindPflicht | "easee" | "zaptec" | "ocpp" | "goe" | "shelly" | "mock" | "zahls" | "freika" | Hersteller oder Zahlungspartner. «mock» = Testmodus. |
livemodePflicht | boolean | |
namePflicht | string | |
statusPflicht | "pending" | "active" | "needs_attention" | "disconnected" | |
public_infoPflicht | object | Öffentliche Angaben ohne Geheimnisse |
webhook_urlPflicht | string | null | Bei zahls.ch einzutragende Webhook-URL |
last_errorPflicht | string | null | |
last_checked_atPflicht | string | null | Zeitpunkt (ISO 8601, UTC) |
last_synced_atPflicht | string | null | Zeitpunkt (ISO 8601, UTC) |
created_atPflicht | string |
Mögliche Fehler
- 400 Anfrage ungültig
- 401 Nicht angemeldet
- 403 Berechtigung fehlt
- 404 Nicht gefunden
- 409 Zustand passt nicht
- 429 Zu viele Anfragen
curl -X POST https://api.ladehase.com/v1/integrations/freika \n -H "Authorization: Bearer lh_test_…" \n -H "Content-Type: application/json" \n -d '{"apiKey":"string"}'{
"id": "int_4a7c2b9d0e1f3a5c",
"object": "integration",
"kind": "easee",
"livemode": true,
"name": "string",
"status": "pending",
"public_info": {},
"webhook_url": "string",
"last_error": "string",
"last_checked_at": "2026-10-25T08:30:00.000Z",
"last_synced_at": "2026-10-25T08:30:00.000Z",
"created_at": "string"
}Testgeräte anlegen
post/v1/integrations/test
Legt simulierte Ladepunkte und Testzahlungen an. Ideal zum Ausprobieren ohne Hardware und für automatisierte Tests (Schlüssel lh_test_).
Parameter
| Name | Ort | Typ |
|---|---|---|
idempotency-keyoptionalWiederholbare Anfragen ohne doppelte Wirkung (24 Stunden) | Kopfzeile | string |
Antwort 201Integration
| Name | Typ | Beschreibung |
|---|---|---|
idPflicht | string | ID mit Präfix «int_» |
objectPflicht | "integration" | |
kindPflicht | "easee" | "zaptec" | "ocpp" | "goe" | "shelly" | "mock" | "zahls" | "freika" | Hersteller oder Zahlungspartner. «mock» = Testmodus. |
livemodePflicht | boolean | |
namePflicht | string | |
statusPflicht | "pending" | "active" | "needs_attention" | "disconnected" | |
public_infoPflicht | object | Öffentliche Angaben ohne Geheimnisse |
webhook_urlPflicht | string | null | Bei zahls.ch einzutragende Webhook-URL |
last_errorPflicht | string | null | |
last_checked_atPflicht | string | null | Zeitpunkt (ISO 8601, UTC) |
last_synced_atPflicht | string | null | Zeitpunkt (ISO 8601, UTC) |
created_atPflicht | string |
Mögliche Fehler
- 400 Anfrage ungültig
- 401 Nicht angemeldet
- 403 Berechtigung fehlt
- 404 Nicht gefunden
- 409 Zustand passt nicht
- 429 Zu viele Anfragen
curl -X POST https://api.ladehase.com/v1/integrations/test \n -H "Authorization: Bearer lh_test_…"{
"id": "int_4a7c2b9d0e1f3a5c",
"object": "integration",
"kind": "easee",
"livemode": true,
"name": "string",
"status": "pending",
"public_info": {},
"webhook_url": "string",
"last_error": "string",
"last_checked_at": "2026-10-25T08:30:00.000Z",
"last_synced_at": "2026-10-25T08:30:00.000Z",
"created_at": "string"
}Verbindung prüfen
post/v1/integrations/{id}/test
Prüft die Zugangsdaten beim Hersteller oder Zahlungspartner und aktualisiert den Status.
Parameter
| Name | Ort | Typ |
|---|---|---|
idPflicht | Pfad | string |
idempotency-keyoptionalWiederholbare Anfragen ohne doppelte Wirkung (24 Stunden) | Kopfzeile | string |
Antwort 200Integration
| Name | Typ | Beschreibung |
|---|---|---|
idPflicht | string | ID mit Präfix «int_» |
objectPflicht | "integration" | |
kindPflicht | "easee" | "zaptec" | "ocpp" | "goe" | "shelly" | "mock" | "zahls" | "freika" | Hersteller oder Zahlungspartner. «mock» = Testmodus. |
livemodePflicht | boolean | |
namePflicht | string | |
statusPflicht | "pending" | "active" | "needs_attention" | "disconnected" | |
public_infoPflicht | object | Öffentliche Angaben ohne Geheimnisse |
webhook_urlPflicht | string | null | Bei zahls.ch einzutragende Webhook-URL |
last_errorPflicht | string | null | |
last_checked_atPflicht | string | null | Zeitpunkt (ISO 8601, UTC) |
last_synced_atPflicht | string | null | Zeitpunkt (ISO 8601, UTC) |
created_atPflicht | string |
Mögliche Fehler
- 400 Anfrage ungültig
- 401 Nicht angemeldet
- 403 Berechtigung fehlt
- 404 Nicht gefunden
- 409 Zustand passt nicht
- 429 Zu viele Anfragen
curl -X POST https://api.ladehase.com/v1/integrations/{id}/test \n -H "Authorization: Bearer lh_test_…"{
"id": "int_4a7c2b9d0e1f3a5c",
"object": "integration",
"kind": "easee",
"livemode": true,
"name": "string",
"status": "pending",
"public_info": {},
"webhook_url": "string",
"last_error": "string",
"last_checked_at": "2026-10-25T08:30:00.000Z",
"last_synced_at": "2026-10-25T08:30:00.000Z",
"created_at": "string"
}Geräte importieren
post/v1/integrations/{id}/sync
Liest alle Geräte beim Hersteller und legt neue Standorte, Geräte, Ladepunkte und QR-Codes an.
Parameter
| Name | Ort | Typ |
|---|---|---|
idPflicht | Pfad | string |
idempotency-keyoptionalWiederholbare Anfragen ohne doppelte Wirkung (24 Stunden) | Kopfzeile | string |
Antwort 200Object
Mögliche Fehler
- 400 Anfrage ungültig
- 401 Nicht angemeldet
- 403 Berechtigung fehlt
- 404 Nicht gefunden
- 409 Zustand passt nicht
- 429 Zu viele Anfragen
curl -X POST https://api.ladehase.com/v1/integrations/{id}/sync \n -H "Authorization: Bearer lh_test_…"{}Verbindung trennen
delete/v1/integrations/{id}
Löscht die Zugangsdaten. Geräte dieses Herstellers werden deaktiviert.
Parameter
| Name | Ort | Typ |
|---|---|---|
idPflicht | Pfad | string |
Antwort 200Integration
| Name | Typ | Beschreibung |
|---|---|---|
idPflicht | string | ID mit Präfix «int_» |
objectPflicht | "integration" | |
kindPflicht | "easee" | "zaptec" | "ocpp" | "goe" | "shelly" | "mock" | "zahls" | "freika" | Hersteller oder Zahlungspartner. «mock» = Testmodus. |
livemodePflicht | boolean | |
namePflicht | string | |
statusPflicht | "pending" | "active" | "needs_attention" | "disconnected" | |
public_infoPflicht | object | Öffentliche Angaben ohne Geheimnisse |
webhook_urlPflicht | string | null | Bei zahls.ch einzutragende Webhook-URL |
last_errorPflicht | string | null | |
last_checked_atPflicht | string | null | Zeitpunkt (ISO 8601, UTC) |
last_synced_atPflicht | string | null | Zeitpunkt (ISO 8601, UTC) |
created_atPflicht | string |
Mögliche Fehler
- 400 Anfrage ungültig
- 401 Nicht angemeldet
- 403 Berechtigung fehlt
- 404 Nicht gefunden
- 409 Zustand passt nicht
- 429 Zu viele Anfragen
curl -X DELETE https://api.ladehase.com/v1/integrations/{id} \n -H "Authorization: Bearer lh_test_…"{
"id": "int_4a7c2b9d0e1f3a5c",
"object": "integration",
"kind": "easee",
"livemode": true,
"name": "string",
"status": "pending",
"public_info": {},
"webhook_url": "string",
"last_error": "string",
"last_checked_at": "2026-10-25T08:30:00.000Z",
"last_synced_at": "2026-10-25T08:30:00.000Z",
"created_at": "string"
}