Tarife
8 Endpunkte
Tarife auflisten
get/v1/tariffs
Aktive Tarife mit aktueller Version.
Antwort 200TariffList
| Name | Typ | Beschreibung |
|---|---|---|
objectPflicht | "list" | |
dataPflicht | Tariff[] | |
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/tariffs \n -H "Authorization: Bearer lh_test_…"{
"object": "list",
"data": [
{
"id": "trf_5e2a8b1c9d0f3e7a",
"object": "tariff",
"name": "string",
"description": "string",
"version": 0,
"version_id": "string",
"rules": {},
"archived": true,
"created_at": "string",
"updated_at": "string"
}
],
"has_more": true
}Tarif anlegen
post/v1/tariffs
Tarifregeln: `energyPrice` in Hundertstel-Rappen pro kWh (4500 = 45 Rappen), `startFee` und `serviceFee` in Rappen, `timeWindows` für zeitabhängige Preise, `idleFee` für die Standzeitgebühr, `maxAmount` als Höchstbetrag. Preise inkl. MWST.
Parameter
| Name | Ort | Typ |
|---|---|---|
idempotency-keyoptionalWiederholbare Anfragen ohne doppelte Wirkung (24 Stunden) | Kopfzeile | string |
Anfrage
| Name | Typ | Beschreibung |
|---|---|---|
namePflicht | string | |
descriptionoptional | string | null | |
rulesPflicht | object |
Antwort 201Tariff
| Name | Typ | Beschreibung |
|---|---|---|
idPflicht | string | ID mit Präfix «trf_» |
objectPflicht | "tariff" | |
namePflicht | string | |
descriptionPflicht | string | null | |
versionPflicht | integer | |
version_idPflicht | string | null | |
rulesPflicht | object | null | Tarifregeln, siehe TariffRules |
archivedPflicht | boolean | |
created_atPflicht | string | |
updated_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/tariffs \n -H "Authorization: Bearer lh_test_…" \n -H "Content-Type: application/json" \n -d '{"name":"string","description":"string","rules":{"currency":"CHF","energyPrice":0,"startFee":0,"serviceFee":0,"timeWindows":[],"idleFee":{"pricePerMinute":0,"graceMinutes":0,"trigger":"after_charging","maxAmount":0,"quietHours":{"from":"string","to":"string"}},"maxAmount":0,"timeZone":"Europe/Zurich"}}'{
"id": "trf_5e2a8b1c9d0f3e7a",
"object": "tariff",
"name": "string",
"description": "string",
"version": 0,
"version_id": "string",
"rules": {},
"archived": true,
"created_at": "string",
"updated_at": "string"
}Tarif abrufen
get/v1/tariffs/{id}
Ein Tarif mit Regeln der aktuellen Version.
Parameter
| Name | Ort | Typ |
|---|---|---|
idPflicht | Pfad | string |
Antwort 200Tariff
| Name | Typ | Beschreibung |
|---|---|---|
idPflicht | string | ID mit Präfix «trf_» |
objectPflicht | "tariff" | |
namePflicht | string | |
descriptionPflicht | string | null | |
versionPflicht | integer | |
version_idPflicht | string | null | |
rulesPflicht | object | null | Tarifregeln, siehe TariffRules |
archivedPflicht | boolean | |
created_atPflicht | string | |
updated_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 GET https://api.ladehase.com/v1/tariffs/{id} \n -H "Authorization: Bearer lh_test_…"{
"id": "trf_5e2a8b1c9d0f3e7a",
"object": "tariff",
"name": "string",
"description": "string",
"version": 0,
"version_id": "string",
"rules": {},
"archived": true,
"created_at": "string",
"updated_at": "string"
}Tarif ändern
patch/v1/tariffs/{id}
Neue Regeln ergeben eine neue Version. Laufende Ladungen behalten ihre Version.
Parameter
| Name | Ort | Typ |
|---|---|---|
idPflicht | Pfad | string |
Anfrage
| Name | Typ | Beschreibung |
|---|---|---|
nameoptional | string | |
descriptionoptional | string | null | |
rulesoptional | object |
Antwort 200Tariff
| Name | Typ | Beschreibung |
|---|---|---|
idPflicht | string | ID mit Präfix «trf_» |
objectPflicht | "tariff" | |
namePflicht | string | |
descriptionPflicht | string | null | |
versionPflicht | integer | |
version_idPflicht | string | null | |
rulesPflicht | object | null | Tarifregeln, siehe TariffRules |
archivedPflicht | boolean | |
created_atPflicht | string | |
updated_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 PATCH https://api.ladehase.com/v1/tariffs/{id} \n -H "Authorization: Bearer lh_test_…" \n -H "Content-Type: application/json" \n -d '{"name":"string","description":"string","rules":{"currency":"CHF","energyPrice":0,"startFee":0,"serviceFee":0,"timeWindows":[],"idleFee":{"pricePerMinute":0,"graceMinutes":0,"trigger":"after_charging","maxAmount":0,"quietHours":{"from":"string","to":"string"}},"maxAmount":0,"timeZone":"Europe/Zurich"}}'{
"id": "trf_5e2a8b1c9d0f3e7a",
"object": "tariff",
"name": "string",
"description": "string",
"version": 0,
"version_id": "string",
"rules": {},
"archived": true,
"created_at": "string",
"updated_at": "string"
}Tarif archivieren
delete/v1/tariffs/{id}
Nur Tarife ohne aktive Geräte.
Parameter
| Name | Ort | Typ |
|---|---|---|
idPflicht | Pfad | string |
Antwort 200Tariff
| Name | Typ | Beschreibung |
|---|---|---|
idPflicht | string | ID mit Präfix «trf_» |
objectPflicht | "tariff" | |
namePflicht | string | |
descriptionPflicht | string | null | |
versionPflicht | integer | |
version_idPflicht | string | null | |
rulesPflicht | object | null | Tarifregeln, siehe TariffRules |
archivedPflicht | boolean | |
created_atPflicht | string | |
updated_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/tariffs/{id} \n -H "Authorization: Bearer lh_test_…"{
"id": "trf_5e2a8b1c9d0f3e7a",
"object": "tariff",
"name": "string",
"description": "string",
"version": 0,
"version_id": "string",
"rules": {},
"archived": true,
"created_at": "string",
"updated_at": "string"
}Versionen auflisten
get/v1/tariffs/{id}/versions
Alle Versionen eines Tarifs.
Parameter
| Name | Ort | Typ |
|---|---|---|
idPflicht | Pfad | 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 GET https://api.ladehase.com/v1/tariffs/{id}/versions \n -H "Authorization: Bearer lh_test_…"{}Tarifvorschau
post/v1/tariffs/{id}/preview
Beispielbeträge, etwa «So viel kostet eine Ladung mit 20 kWh». Mit `rules` im Body lässt sich ein Entwurf berechnen.
Parameter
| Name | Ort | Typ |
|---|---|---|
idPflicht | Pfad | string |
idempotency-keyoptionalWiederholbare Anfragen ohne doppelte Wirkung (24 Stunden) | Kopfzeile | string |
Anfrage
| Name | Typ | Beschreibung |
|---|---|---|
rulesoptional | object | |
energy_whoptional | integer[] | |
power_woptional | integer | |
idle_minutesoptional | integer | |
start_atoptional | string (date-time) |
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/tariffs/{id}/preview \n -H "Authorization: Bearer lh_test_…" \n -H "Content-Type: application/json" \n -d '{"rules":{"currency":"CHF","energyPrice":0,"startFee":0,"serviceFee":0,"timeWindows":[],"idleFee":{"pricePerMinute":0,"graceMinutes":0,"trigger":"after_charging","maxAmount":0,"quietHours":{"from":"string","to":"string"}},"maxAmount":0,"timeZone":"Europe/Zurich"},"energy_wh":[10000,20000,40000],"power_w":11000,"idle_minutes":0,"start_at":"2026-10-25T08:30:00.000Z"}'{}Vorschau für Entwurf
post/v1/tariffs/preview
Wie die Tarifvorschau, aber ohne gespeicherten Tarif (Regeln im Body).
Parameter
| Name | Ort | Typ |
|---|---|---|
idempotency-keyoptionalWiederholbare Anfragen ohne doppelte Wirkung (24 Stunden) | Kopfzeile | string |
Anfrage
| Name | Typ | Beschreibung |
|---|---|---|
rulesoptional | object | |
energy_whoptional | integer[] | |
power_woptional | integer | |
idle_minutesoptional | integer | |
start_atoptional | string (date-time) |
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/tariffs/preview \n -H "Authorization: Bearer lh_test_…" \n -H "Content-Type: application/json" \n -d '{"rules":{"currency":"CHF","energyPrice":0,"startFee":0,"serviceFee":0,"timeWindows":[],"idleFee":{"pricePerMinute":0,"graceMinutes":0,"trigger":"after_charging","maxAmount":0,"quietHours":{"from":"string","to":"string"}},"maxAmount":0,"timeZone":"Europe/Zurich"},"energy_wh":[10000,20000,40000],"power_w":11000,"idle_minutes":0,"start_at":"2026-10-25T08:30:00.000Z"}'{}