Geräte
9 endpoints
Les descriptions des endpoints proviennent directement de l'API et sont en allemand.
Geräte auflisten
get/v1/devices
Ladepunkte mit aktuellem Zustand, Tarif, Abrechnungsmodell und QR-Code-URL.
Paramètres
| Nom | Emplacement | Type |
|---|---|---|
location_idfacultatif | Requête | string |
kindfacultatif | Requête | string |
Réponse 200DeviceList
| Nom | Type | Description |
|---|---|---|
objectobligatoire | "list" | |
dataobligatoire | Device[] | |
has_moreobligatoire | boolean |
Erreurs possibles
- 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/devices \n -H "Authorization: Bearer lh_test_…"{
"object": "list",
"data": [
{
"id": "dev_7d3a9c1b0e2f4a6b",
"object": "device",
"kind": "string",
"livemode": true,
"name": "Ladepunkt Scheune",
"location_id": "string",
"integration_id": "string",
"manufacturer": "string",
"model": "string",
"serial_number": "string",
"max_power_w": 0,
"tariff_id": "string",
"billing": {},
"enabled": true,
"locked": true,
"prepared": true,
"status": "string",
"state": {
"online": true,
"status": "string",
"cable_plugged": true,
"power_w": 0,
"meter_wh": 0,
"authorization_required": true,
"last_seen_at": "2026-10-25T08:30:00.000Z",
"error": "string"
},
"active_session_id": "string",
"connectors": [
{
"id": "string",
"code": "string",
"url": "string"
}
],
"created_at": "string"
}
],
"has_more": true
}Gerät abrufen
get/v1/devices/{id}
Ein Gerät mit Zustand.
Paramètres
| Nom | Emplacement | Type |
|---|---|---|
idobligatoire | Chemin | string |
Réponse 200Device
| Nom | Type | Description |
|---|---|---|
idobligatoire | string | ID mit Präfix «dev_» |
objectobligatoire | "device" | |
kindobligatoire | string | Geräteart, vorerst «ev_charger» |
livemodeobligatoire | boolean | |
nameobligatoire | string | |
location_idobligatoire | string | |
integration_idobligatoire | string | null | |
manufacturerobligatoire | string | null | |
modelobligatoire | string | null | |
serial_numberobligatoire | string | null | |
max_power_wobligatoire | integer | null | |
tariff_idobligatoire | string | null | |
billingobligatoire | object | Abrechnungsmodell, Reservationsgrenzen, Pakete |
enabledobligatoire | boolean | Von Ladehase verwaltet und für Fahrende freigegeben |
lockedobligatoire | boolean | Vorübergehend gesperrt (keine neuen Ladungen) |
preparedobligatoire | boolean | «Autorisierung erforderlich» beim Hersteller gesetzt |
statusobligatoire | string | Zusammengefasster Status für Anzeigen |
stateobligatoire | DeviceState | |
active_session_idobligatoire | string | null | |
connectorsobligatoire | object[] | |
created_atobligatoire | string |
Erreurs possibles
- 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/devices/{id} \n -H "Authorization: Bearer lh_test_…"{
"id": "dev_7d3a9c1b0e2f4a6b",
"object": "device",
"kind": "string",
"livemode": true,
"name": "Ladepunkt Scheune",
"location_id": "string",
"integration_id": "string",
"manufacturer": "string",
"model": "string",
"serial_number": "string",
"max_power_w": 0,
"tariff_id": "string",
"billing": {},
"enabled": true,
"locked": true,
"prepared": true,
"status": "string",
"state": {
"online": true,
"status": "string",
"cable_plugged": true,
"power_w": 0,
"meter_wh": 0,
"authorization_required": true,
"last_seen_at": "2026-10-25T08:30:00.000Z",
"error": "string"
},
"active_session_id": "string",
"connectors": [
{
"id": "string",
"code": "string",
"url": "string"
}
],
"created_at": "string"
}Gerät ändern
patch/v1/devices/{id}
Name, Standort, Tarif, Abrechnungsmodell (reservation, prepaid, both), Reservationsgrenzen, Pakete. `enabled: true` aktiviert das Gerät und setzt beim Hersteller «Autorisierung erforderlich».
Paramètres
| Nom | Emplacement | Type |
|---|---|---|
idobligatoire | Chemin | string |
Requête
| Nom | Type | Description |
|---|---|---|
namefacultatif | string | |
location_idfacultatif | string | |
tariff_idfacultatif | string | null | |
billingfacultatif | object | |
enabledfacultatif | boolean |
Réponse 200Device
| Nom | Type | Description |
|---|---|---|
idobligatoire | string | ID mit Präfix «dev_» |
objectobligatoire | "device" | |
kindobligatoire | string | Geräteart, vorerst «ev_charger» |
livemodeobligatoire | boolean | |
nameobligatoire | string | |
location_idobligatoire | string | |
integration_idobligatoire | string | null | |
manufacturerobligatoire | string | null | |
modelobligatoire | string | null | |
serial_numberobligatoire | string | null | |
max_power_wobligatoire | integer | null | |
tariff_idobligatoire | string | null | |
billingobligatoire | object | Abrechnungsmodell, Reservationsgrenzen, Pakete |
enabledobligatoire | boolean | Von Ladehase verwaltet und für Fahrende freigegeben |
lockedobligatoire | boolean | Vorübergehend gesperrt (keine neuen Ladungen) |
preparedobligatoire | boolean | «Autorisierung erforderlich» beim Hersteller gesetzt |
statusobligatoire | string | Zusammengefasster Status für Anzeigen |
stateobligatoire | DeviceState | |
active_session_idobligatoire | string | null | |
connectorsobligatoire | object[] | |
created_atobligatoire | string |
Erreurs possibles
- 400 Anfrage ungültig
- 401 Nicht angemeldet
- 403 Berechtigung fehlt
- 404 Nicht gefunden
- 409 Zustand passt nicht
- 429 Zu viele Anfragen
curl -X PATCH https://api.ladehase.com/v1/devices/{id} \n -H "Authorization: Bearer lh_test_…" \n -H "Content-Type: application/json" \n -d '{"name":"string","location_id":"string","tariff_id":"string","billing":{"model":"reservation","reservationDefault":3000,"reservationMin":1000,"reservationMax":10000,"safetyMarginBps":300,"packages":[],"prepaidRemainder":"refund","plugTimeoutMinutes":10,"maxDurationMinutes":1440},"enabled":true}'{
"id": "dev_7d3a9c1b0e2f4a6b",
"object": "device",
"kind": "string",
"livemode": true,
"name": "Ladepunkt Scheune",
"location_id": "string",
"integration_id": "string",
"manufacturer": "string",
"model": "string",
"serial_number": "string",
"max_power_w": 0,
"tariff_id": "string",
"billing": {},
"enabled": true,
"locked": true,
"prepared": true,
"status": "string",
"state": {
"online": true,
"status": "string",
"cable_plugged": true,
"power_w": 0,
"meter_wh": 0,
"authorization_required": true,
"last_seen_at": "2026-10-25T08:30:00.000Z",
"error": "string"
},
"active_session_id": "string",
"connectors": [
{
"id": "string",
"code": "string",
"url": "string"
}
],
"created_at": "string"
}Zustand abfragen
get/v1/devices/{id}/state
Aktueller Zustand. Mit `refresh=true` wird beim Hersteller nachgefragt.
Paramètres
| Nom | Emplacement | Type |
|---|---|---|
idobligatoire | Chemin | string |
refreshfacultatif | Requête | boolean | null |
Réponse 200DeviceState
| Nom | Type | Description |
|---|---|---|
onlinefacultatif | boolean | |
statusfacultatif | string | offline, available, vehicle_connected, awaiting_authorization, charging, suspended, finished, error |
cable_pluggedfacultatif | boolean | |
power_wfacultatif | integer | Aktuelle Leistung in Watt |
meter_whfacultatif | integer | null | Zählerstand in Wh |
authorization_requiredfacultatif | boolean | null | |
last_seen_atfacultatif | string | null | Zeitpunkt (ISO 8601, UTC) |
errorfacultatif | string | null |
Erreurs possibles
- 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/devices/{id}/state \n -H "Authorization: Bearer lh_test_…"{
"online": true,
"status": "string",
"cable_plugged": true,
"power_w": 0,
"meter_wh": 0,
"authorization_required": true,
"last_seen_at": "2026-10-25T08:30:00.000Z",
"error": "string"
}Ladung ohne Zahlung starten
post/v1/devices/{id}/start
Gibt den Ladepunkt ohne Zahlung frei (z. B. eigenes Auto). Ladehase legt dafür eine Gratis-Sitzung an, damit die Energie erfasst wird.
Paramètres
| Nom | Emplacement | Type |
|---|---|---|
idobligatoire | Chemin | string |
idempotency-keyfacultatifWiederholbare Anfragen ohne doppelte Wirkung (24 Stunden) | En-tête | string |
Réponse 201Session
| Nom | Type | Description |
|---|---|---|
idobligatoire | string | ID mit Präfix «ses_» |
objectobligatoire | "session" | |
livemodeobligatoire | boolean | |
stateobligatoire | string | Zustand gemäss Zustandsautomat (created … settled) |
modeobligatoire | "reservation" | "prepaid" | "access" | |
channelobligatoire | "qr" | "terminal" | "api" | "rfid" | "access_link" | |
location_idobligatoire | string | |
device_idobligatoire | string | |
connector_idobligatoire | string | |
currencyobligatoire | string | |
authorized_amountobligatoire | integer | Reservierter beziehungsweise bezahlter Betrag in Rappen |
amountobligatoire | integer | Hochgerechneter Betrag (laufend) oder Endbetrag in Rappen |
captured_amountobligatoire | integer | Belasteter Betrag in Rappen |
refunded_amountobligatoire | integer | Zurückerstatteter Betrag in Rappen |
vat_amountobligatoire | integer | MWST-Anteil in Rappen |
energy_whobligatoire | integer | Geladene Energie in Wh |
idle_minutesobligatoire | integer | |
stop_reasonobligatoire | string | null | |
receipt_numberobligatoire | string | null | |
started_atobligatoire | string | null | Zeitpunkt (ISO 8601, UTC) |
ended_atobligatoire | string | null | Zeitpunkt (ISO 8601, UTC) |
settled_atobligatoire | string | null | Zeitpunkt (ISO 8601, UTC) |
created_atobligatoire | string |
Erreurs possibles
- 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/devices/{id}/start \n -H "Authorization: Bearer lh_test_…"{
"id": "ses_1a2b3c4d5e6f7a8b9c0d",
"object": "session",
"livemode": true,
"state": "string",
"mode": "reservation",
"channel": "qr",
"location_id": "string",
"device_id": "string",
"connector_id": "string",
"currency": "string",
"authorized_amount": 1235,
"amount": 1235,
"captured_amount": 1235,
"refunded_amount": 1235,
"vat_amount": 1235,
"energy_wh": 0,
"idle_minutes": 0,
"stop_reason": "string",
"receipt_number": "string",
"started_at": "2026-10-25T08:30:00.000Z",
"ended_at": "2026-10-25T08:30:00.000Z",
"settled_at": "2026-10-25T08:30:00.000Z",
"created_at": "string"
}Ladung am Gerät stoppen
post/v1/devices/{id}/stop
Stoppt die laufende Sitzung des Geräts und rechnet ab. Ohne Sitzung wird nur der Stoppbefehl gesendet.
Paramètres
| Nom | Emplacement | Type |
|---|---|---|
idobligatoire | Chemin | string |
idempotency-keyfacultatifWiederholbare Anfragen ohne doppelte Wirkung (24 Stunden) | En-tête | string |
Réponse 200Object
Erreurs possibles
- 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/devices/{id}/stop \n -H "Authorization: Bearer lh_test_…"{}Gerät sperren
post/v1/devices/{id}/lock
Keine neuen Ladungen, laufende Ladung läuft weiter.
Paramètres
| Nom | Emplacement | Type |
|---|---|---|
idobligatoire | Chemin | string |
idempotency-keyfacultatifWiederholbare Anfragen ohne doppelte Wirkung (24 Stunden) | En-tête | string |
Réponse 200Device
| Nom | Type | Description |
|---|---|---|
idobligatoire | string | ID mit Präfix «dev_» |
objectobligatoire | "device" | |
kindobligatoire | string | Geräteart, vorerst «ev_charger» |
livemodeobligatoire | boolean | |
nameobligatoire | string | |
location_idobligatoire | string | |
integration_idobligatoire | string | null | |
manufacturerobligatoire | string | null | |
modelobligatoire | string | null | |
serial_numberobligatoire | string | null | |
max_power_wobligatoire | integer | null | |
tariff_idobligatoire | string | null | |
billingobligatoire | object | Abrechnungsmodell, Reservationsgrenzen, Pakete |
enabledobligatoire | boolean | Von Ladehase verwaltet und für Fahrende freigegeben |
lockedobligatoire | boolean | Vorübergehend gesperrt (keine neuen Ladungen) |
preparedobligatoire | boolean | «Autorisierung erforderlich» beim Hersteller gesetzt |
statusobligatoire | string | Zusammengefasster Status für Anzeigen |
stateobligatoire | DeviceState | |
active_session_idobligatoire | string | null | |
connectorsobligatoire | object[] | |
created_atobligatoire | string |
Erreurs possibles
- 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/devices/{id}/lock \n -H "Authorization: Bearer lh_test_…"{
"id": "dev_7d3a9c1b0e2f4a6b",
"object": "device",
"kind": "string",
"livemode": true,
"name": "Ladepunkt Scheune",
"location_id": "string",
"integration_id": "string",
"manufacturer": "string",
"model": "string",
"serial_number": "string",
"max_power_w": 0,
"tariff_id": "string",
"billing": {},
"enabled": true,
"locked": true,
"prepared": true,
"status": "string",
"state": {
"online": true,
"status": "string",
"cable_plugged": true,
"power_w": 0,
"meter_wh": 0,
"authorization_required": true,
"last_seen_at": "2026-10-25T08:30:00.000Z",
"error": "string"
},
"active_session_id": "string",
"connectors": [
{
"id": "string",
"code": "string",
"url": "string"
}
],
"created_at": "string"
}Gerät entsperren
post/v1/devices/{id}/unlock
Hebt die Sperre auf.
Paramètres
| Nom | Emplacement | Type |
|---|---|---|
idobligatoire | Chemin | string |
idempotency-keyfacultatifWiederholbare Anfragen ohne doppelte Wirkung (24 Stunden) | En-tête | string |
Réponse 200Device
| Nom | Type | Description |
|---|---|---|
idobligatoire | string | ID mit Präfix «dev_» |
objectobligatoire | "device" | |
kindobligatoire | string | Geräteart, vorerst «ev_charger» |
livemodeobligatoire | boolean | |
nameobligatoire | string | |
location_idobligatoire | string | |
integration_idobligatoire | string | null | |
manufacturerobligatoire | string | null | |
modelobligatoire | string | null | |
serial_numberobligatoire | string | null | |
max_power_wobligatoire | integer | null | |
tariff_idobligatoire | string | null | |
billingobligatoire | object | Abrechnungsmodell, Reservationsgrenzen, Pakete |
enabledobligatoire | boolean | Von Ladehase verwaltet und für Fahrende freigegeben |
lockedobligatoire | boolean | Vorübergehend gesperrt (keine neuen Ladungen) |
preparedobligatoire | boolean | «Autorisierung erforderlich» beim Hersteller gesetzt |
statusobligatoire | string | Zusammengefasster Status für Anzeigen |
stateobligatoire | DeviceState | |
active_session_idobligatoire | string | null | |
connectorsobligatoire | object[] | |
created_atobligatoire | string |
Erreurs possibles
- 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/devices/{id}/unlock \n -H "Authorization: Bearer lh_test_…"{
"id": "dev_7d3a9c1b0e2f4a6b",
"object": "device",
"kind": "string",
"livemode": true,
"name": "Ladepunkt Scheune",
"location_id": "string",
"integration_id": "string",
"manufacturer": "string",
"model": "string",
"serial_number": "string",
"max_power_w": 0,
"tariff_id": "string",
"billing": {},
"enabled": true,
"locked": true,
"prepared": true,
"status": "string",
"state": {
"online": true,
"status": "string",
"cable_plugged": true,
"power_w": 0,
"meter_wh": 0,
"authorization_required": true,
"last_seen_at": "2026-10-25T08:30:00.000Z",
"error": "string"
},
"active_session_id": "string",
"connectors": [
{
"id": "string",
"code": "string",
"url": "string"
}
],
"created_at": "string"
}Testgerät steuern
post/v1/devices/{id}/simulate
Nur Testmodus: simuliertes Auto anstecken (`plug`), abziehen (`unplug`), offline, Störung, Leistung ändern.
Paramètres
| Nom | Emplacement | Type |
|---|---|---|
idobligatoire | Chemin | string |
idempotency-keyfacultatifWiederholbare Anfragen ohne doppelte Wirkung (24 Stunden) | En-tête | string |
Requête
| Nom | Type | Description |
|---|---|---|
actionobligatoire | "plug" | "unplug" | "offline" | "online" | "error" | "clear_error" | "set_power" | |
vehicle_need_whfacultatif | integer | |
power_wfacultatif | integer |
Réponse 200DeviceState
| Nom | Type | Description |
|---|---|---|
onlinefacultatif | boolean | |
statusfacultatif | string | offline, available, vehicle_connected, awaiting_authorization, charging, suspended, finished, error |
cable_pluggedfacultatif | boolean | |
power_wfacultatif | integer | Aktuelle Leistung in Watt |
meter_whfacultatif | integer | null | Zählerstand in Wh |
authorization_requiredfacultatif | boolean | null | |
last_seen_atfacultatif | string | null | Zeitpunkt (ISO 8601, UTC) |
errorfacultatif | string | null |
Erreurs possibles
- 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/devices/{id}/simulate \n -H "Authorization: Bearer lh_test_…" \n -H "Content-Type: application/json" \n -d '{"action":"plug","vehicle_need_wh":0,"power_w":0}'{
"online": true,
"status": "string",
"cable_plugged": true,
"power_w": 0,
"meter_wh": 0,
"authorization_required": true,
"last_seen_at": "2026-10-25T08:30:00.000Z",
"error": "string"
}