API-Referenz
Beispiel Antwort 200
Beispiel Antwort 201 Beispiel Antwort 200
Beispiel Antwort 200
Beispiel Antwort 200
Beispiel Antwort 201
Terminals
6 Endpunkte
Terminals auflisten
get/v1/terminals
Gekoppelte PAX IM30.
Antwort 200TerminalList
| Name | Typ | Beschreibung |
|---|---|---|
objectPflicht | "list" | |
dataPflicht | Terminal[] | |
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/terminals \n -H "Authorization: Bearer lh_test_…"{
"object": "list",
"data": [
{
"id": "trm_6b0c2d8e1f3a5b7c",
"object": "terminal",
"name": "string",
"model": "string",
"location_id": "string",
"integration_id": "string",
"external_terminal_id": "string",
"paired": true,
"online": true,
"app_version": "string",
"last_seen_at": "2026-10-25T08:30:00.000Z",
"created_at": "string"
}
],
"has_more": true
}Terminal anlegen
post/v1/terminals
Neues PAX IM30 für einen Standort. Antwort enthält den Wartungs-PIN (nur einmal sichtbar).
Parameter
| Name | Ort | Typ |
|---|---|---|
idempotency-keyoptionalWiederholbare Anfragen ohne doppelte Wirkung (24 Stunden) | Kopfzeile | string |
Anfrage
| Name | Typ | Beschreibung |
|---|---|---|
nameoptional | string | |
location_idPflicht | string | |
integration_idoptional | string | null | |
external_terminal_idoptional | string | null | |
maintenance_pinoptional | string |
Antwort 201Terminal
| Name | Typ | Beschreibung |
|---|---|---|
idPflicht | string | ID mit Präfix «trm_» |
objectPflicht | "terminal" | |
namePflicht | string | |
modelPflicht | string | |
location_idPflicht | string | |
integration_idPflicht | string | null | |
external_terminal_idPflicht | string | null | Terminal-ID bei Freika |
pairedPflicht | boolean | |
onlinePflicht | boolean | |
app_versionPflicht | string | null | |
last_seen_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/terminals \n -H "Authorization: Bearer lh_test_…" \n -H "Content-Type: application/json" \n -d '{"name":"PAX IM30","location_id":"string","integration_id":"string","external_terminal_id":"string","maintenance_pin":"string"}'{
"id": "trm_6b0c2d8e1f3a5b7c",
"object": "terminal",
"name": "string",
"model": "string",
"location_id": "string",
"integration_id": "string",
"external_terminal_id": "string",
"paired": true,
"online": true,
"app_version": "string",
"last_seen_at": "2026-10-25T08:30:00.000Z",
"created_at": "string"
}Freika-Terminals
get/v1/terminals/available
Terminals im verbundenen Freika-Konto zur Auswahl beim Koppeln.
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/terminals/available \n -H "Authorization: Bearer lh_test_…"{}Terminal ändern
patch/v1/terminals/{id}
Name, Standort, Freika-Terminal, Wartungs-PIN.
Parameter
| Name | Ort | Typ |
|---|---|---|
idPflicht | Pfad | string |
Anfrage
| Name | Typ | Beschreibung |
|---|---|---|
nameoptional | string | |
location_idoptional | string | |
integration_idoptional | string | null | |
external_terminal_idoptional | string | null | |
maintenance_pinoptional | string |
Antwort 200Terminal
| Name | Typ | Beschreibung |
|---|---|---|
idPflicht | string | ID mit Präfix «trm_» |
objectPflicht | "terminal" | |
namePflicht | string | |
modelPflicht | string | |
location_idPflicht | string | |
integration_idPflicht | string | null | |
external_terminal_idPflicht | string | null | Terminal-ID bei Freika |
pairedPflicht | boolean | |
onlinePflicht | boolean | |
app_versionPflicht | string | null | |
last_seen_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 PATCH https://api.ladehase.com/v1/terminals/{id} \n -H "Authorization: Bearer lh_test_…" \n -H "Content-Type: application/json" \n -d '{"name":"PAX IM30","location_id":"string","integration_id":"string","external_terminal_id":"string","maintenance_pin":"string"}'{
"id": "trm_6b0c2d8e1f3a5b7c",
"object": "terminal",
"name": "string",
"model": "string",
"location_id": "string",
"integration_id": "string",
"external_terminal_id": "string",
"paired": true,
"online": true,
"app_version": "string",
"last_seen_at": "2026-10-25T08:30:00.000Z",
"created_at": "string"
}Terminal entfernen
delete/v1/terminals/{id}
Die App muss danach neu gekoppelt werden.
Parameter
| Name | Ort | Typ |
|---|---|---|
idPflicht | Pfad | string |
Antwort 200Deleted
| Name | Typ | Beschreibung |
|---|---|---|
idPflicht | string | |
objectPflicht | string | |
deletedPflicht | true |
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/terminals/{id} \n -H "Authorization: Bearer lh_test_…"{
"id": "string",
"object": "string",
"deleted": true
}Kopplungscode
post/v1/terminals/{id}/pairing_codes
Code und QR-Inhalt zum Koppeln der Terminal-App (15 Minuten gültig).
Parameter
| Name | Ort | Typ |
|---|---|---|
idPflicht | Pfad | string |
idempotency-keyoptionalWiederholbare Anfragen ohne doppelte Wirkung (24 Stunden) | Kopfzeile | string |
Antwort 201Object
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/terminals/{id}/pairing_codes \n -H "Authorization: Bearer lh_test_…"{}