Tarife
8 endpoints
The endpoint descriptions come directly from the API and are in German.
Tarife auflisten
get/v1/tariffs
Aktive Tarife mit aktueller Version.
Response 200TariffList
| Name | Type | Description |
|---|---|---|
objectrequired | "list" | |
datarequired | Tariff[] | |
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/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.
Parameters
| Name | In | Type |
|---|---|---|
idempotency-keyoptionalWiederholbare Anfragen ohne doppelte Wirkung (24 Stunden) | Header | string |
Request
| Name | Type | Description |
|---|---|---|
namerequired | string | |
descriptionoptional | string | null | |
rulesrequired | object |
Response 201Tariff
| Name | Type | Description |
|---|---|---|
idrequired | string | ID mit Präfix «trf_» |
objectrequired | "tariff" | |
namerequired | string | |
descriptionrequired | string | null | |
versionrequired | integer | |
version_idrequired | string | null | |
rulesrequired | object | null | Tarifregeln, siehe TariffRules |
archivedrequired | boolean | |
created_atrequired | string | |
updated_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/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.
Parameters
| Name | In | Type |
|---|---|---|
idrequired | Path | string |
Response 200Tariff
| Name | Type | Description |
|---|---|---|
idrequired | string | ID mit Präfix «trf_» |
objectrequired | "tariff" | |
namerequired | string | |
descriptionrequired | string | null | |
versionrequired | integer | |
version_idrequired | string | null | |
rulesrequired | object | null | Tarifregeln, siehe TariffRules |
archivedrequired | boolean | |
created_atrequired | string | |
updated_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 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.
Parameters
| Name | In | Type |
|---|---|---|
idrequired | Path | string |
Request
| Name | Type | Description |
|---|---|---|
nameoptional | string | |
descriptionoptional | string | null | |
rulesoptional | object |
Response 200Tariff
| Name | Type | Description |
|---|---|---|
idrequired | string | ID mit Präfix «trf_» |
objectrequired | "tariff" | |
namerequired | string | |
descriptionrequired | string | null | |
versionrequired | integer | |
version_idrequired | string | null | |
rulesrequired | object | null | Tarifregeln, siehe TariffRules |
archivedrequired | boolean | |
created_atrequired | string | |
updated_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 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.
Parameters
| Name | In | Type |
|---|---|---|
idrequired | Path | string |
Response 200Tariff
| Name | Type | Description |
|---|---|---|
idrequired | string | ID mit Präfix «trf_» |
objectrequired | "tariff" | |
namerequired | string | |
descriptionrequired | string | null | |
versionrequired | integer | |
version_idrequired | string | null | |
rulesrequired | object | null | Tarifregeln, siehe TariffRules |
archivedrequired | boolean | |
created_atrequired | string | |
updated_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/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.
Parameters
| Name | In | Type |
|---|---|---|
idrequired | Path | 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 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.
Parameters
| Name | In | Type |
|---|---|---|
idrequired | Path | string |
idempotency-keyoptionalWiederholbare Anfragen ohne doppelte Wirkung (24 Stunden) | Header | string |
Request
| Name | Type | Description |
|---|---|---|
rulesoptional | object | |
energy_whoptional | integer[] | |
power_woptional | integer | |
idle_minutesoptional | integer | |
start_atoptional | string (date-time) |
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/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).
Parameters
| Name | In | Type |
|---|---|---|
idempotency-keyoptionalWiederholbare Anfragen ohne doppelte Wirkung (24 Stunden) | Header | string |
Request
| Name | Type | Description |
|---|---|---|
rulesoptional | object | |
energy_whoptional | integer[] | |
power_woptional | integer | |
idle_minutesoptional | integer | |
start_atoptional | string (date-time) |
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/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"}'{}