Verbindungen
8 endpoints
The endpoint descriptions come directly from the API and are in German.
Verbindungen auflisten
get/v1/integrations
Verbundene Hersteller (Easee) und Zahlungskonten (zahls.ch, Freika). Zugangsdaten werden nie ausgegeben.
Response 200IntegrationList
| Name | Type | Description |
|---|---|---|
objectrequired | "list" | |
datarequired | Integration[] | |
has_morerequired | boolean |
Possible errors
- 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.
Parameters
| Name | In | Type |
|---|---|---|
idempotency-keyoptionalWiederholbare Anfragen ohne doppelte Wirkung (24 Stunden) | Header | string |
Request
| Name | Type | Description |
|---|---|---|
userNamerequired | string | |
passwordrequired | string |
Response 201Integration
| Name | Type | Description |
|---|---|---|
idrequired | string | ID mit Präfix «int_» |
objectrequired | "integration" | |
kindrequired | "easee" | "zaptec" | "ocpp" | "goe" | "shelly" | "mock" | "zahls" | "freika" | Hersteller oder Zahlungspartner. «mock» = Testmodus. |
livemoderequired | boolean | |
namerequired | string | |
statusrequired | "pending" | "active" | "needs_attention" | "disconnected" | |
public_inforequired | object | Öffentliche Angaben ohne Geheimnisse |
webhook_urlrequired | string | null | Bei zahls.ch einzutragende Webhook-URL |
last_errorrequired | string | null | |
last_checked_atrequired | string | null | Zeitpunkt (ISO 8601, UTC) |
last_synced_atrequired | string | null | Zeitpunkt (ISO 8601, UTC) |
created_atrequired | string |
Possible errors
- 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.
Parameters
| Name | In | Type |
|---|---|---|
idempotency-keyoptionalWiederholbare Anfragen ohne doppelte Wirkung (24 Stunden) | Header | string |
Request
| Name | Type | Description |
|---|---|---|
instancerequired | string | |
apiKeyrequired | string |
Response 201Integration
| Name | Type | Description |
|---|---|---|
idrequired | string | ID mit Präfix «int_» |
objectrequired | "integration" | |
kindrequired | "easee" | "zaptec" | "ocpp" | "goe" | "shelly" | "mock" | "zahls" | "freika" | Hersteller oder Zahlungspartner. «mock» = Testmodus. |
livemoderequired | boolean | |
namerequired | string | |
statusrequired | "pending" | "active" | "needs_attention" | "disconnected" | |
public_inforequired | object | Öffentliche Angaben ohne Geheimnisse |
webhook_urlrequired | string | null | Bei zahls.ch einzutragende Webhook-URL |
last_errorrequired | string | null | |
last_checked_atrequired | string | null | Zeitpunkt (ISO 8601, UTC) |
last_synced_atrequired | string | null | Zeitpunkt (ISO 8601, UTC) |
created_atrequired | string |
Possible errors
- 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.
Parameters
| Name | In | Type |
|---|---|---|
idempotency-keyoptionalWiederholbare Anfragen ohne doppelte Wirkung (24 Stunden) | Header | string |
Request
| Name | Type | Description |
|---|---|---|
apiKeyrequired | string |
Response 201Integration
| Name | Type | Description |
|---|---|---|
idrequired | string | ID mit Präfix «int_» |
objectrequired | "integration" | |
kindrequired | "easee" | "zaptec" | "ocpp" | "goe" | "shelly" | "mock" | "zahls" | "freika" | Hersteller oder Zahlungspartner. «mock» = Testmodus. |
livemoderequired | boolean | |
namerequired | string | |
statusrequired | "pending" | "active" | "needs_attention" | "disconnected" | |
public_inforequired | object | Öffentliche Angaben ohne Geheimnisse |
webhook_urlrequired | string | null | Bei zahls.ch einzutragende Webhook-URL |
last_errorrequired | string | null | |
last_checked_atrequired | string | null | Zeitpunkt (ISO 8601, UTC) |
last_synced_atrequired | string | null | Zeitpunkt (ISO 8601, UTC) |
created_atrequired | string |
Possible errors
- 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_).
Parameters
| Name | In | Type |
|---|---|---|
idempotency-keyoptionalWiederholbare Anfragen ohne doppelte Wirkung (24 Stunden) | Header | string |
Response 201Integration
| Name | Type | Description |
|---|---|---|
idrequired | string | ID mit Präfix «int_» |
objectrequired | "integration" | |
kindrequired | "easee" | "zaptec" | "ocpp" | "goe" | "shelly" | "mock" | "zahls" | "freika" | Hersteller oder Zahlungspartner. «mock» = Testmodus. |
livemoderequired | boolean | |
namerequired | string | |
statusrequired | "pending" | "active" | "needs_attention" | "disconnected" | |
public_inforequired | object | Öffentliche Angaben ohne Geheimnisse |
webhook_urlrequired | string | null | Bei zahls.ch einzutragende Webhook-URL |
last_errorrequired | string | null | |
last_checked_atrequired | string | null | Zeitpunkt (ISO 8601, UTC) |
last_synced_atrequired | string | null | Zeitpunkt (ISO 8601, UTC) |
created_atrequired | string |
Possible errors
- 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.
Parameters
| Name | In | Type |
|---|---|---|
idrequired | Path | string |
idempotency-keyoptionalWiederholbare Anfragen ohne doppelte Wirkung (24 Stunden) | Header | string |
Response 200Integration
| Name | Type | Description |
|---|---|---|
idrequired | string | ID mit Präfix «int_» |
objectrequired | "integration" | |
kindrequired | "easee" | "zaptec" | "ocpp" | "goe" | "shelly" | "mock" | "zahls" | "freika" | Hersteller oder Zahlungspartner. «mock» = Testmodus. |
livemoderequired | boolean | |
namerequired | string | |
statusrequired | "pending" | "active" | "needs_attention" | "disconnected" | |
public_inforequired | object | Öffentliche Angaben ohne Geheimnisse |
webhook_urlrequired | string | null | Bei zahls.ch einzutragende Webhook-URL |
last_errorrequired | string | null | |
last_checked_atrequired | string | null | Zeitpunkt (ISO 8601, UTC) |
last_synced_atrequired | string | null | Zeitpunkt (ISO 8601, UTC) |
created_atrequired | string |
Possible errors
- 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.
Parameters
| Name | In | Type |
|---|---|---|
idrequired | Path | string |
idempotency-keyoptionalWiederholbare Anfragen ohne doppelte Wirkung (24 Stunden) | Header | string |
Response 200Object
Possible errors
- 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.
Parameters
| Name | In | Type |
|---|---|---|
idrequired | Path | string |
Response 200Integration
| Name | Type | Description |
|---|---|---|
idrequired | string | ID mit Präfix «int_» |
objectrequired | "integration" | |
kindrequired | "easee" | "zaptec" | "ocpp" | "goe" | "shelly" | "mock" | "zahls" | "freika" | Hersteller oder Zahlungspartner. «mock» = Testmodus. |
livemoderequired | boolean | |
namerequired | string | |
statusrequired | "pending" | "active" | "needs_attention" | "disconnected" | |
public_inforequired | object | Öffentliche Angaben ohne Geheimnisse |
webhook_urlrequired | string | null | Bei zahls.ch einzutragende Webhook-URL |
last_errorrequired | string | null | |
last_checked_atrequired | string | null | Zeitpunkt (ISO 8601, UTC) |
last_synced_atrequired | string | null | Zeitpunkt (ISO 8601, UTC) |
created_atrequired | string |
Possible errors
- 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"
}