Aller au contenu
Référence API

Terminals

6 endpoints

Les descriptions des endpoints proviennent directement de l'API et sont en allemand.

Terminals auflisten

get/v1/terminals

Gekoppelte PAX IM30.

Réponse 200TerminalList

NomTypeDescription
objectobligatoire"list"
dataobligatoireTerminal[]
has_moreobligatoireboolean

Erreurs possibles

  • 400 Anfrage ungültig
  • 401 Nicht angemeldet
  • 403 Berechtigung fehlt
  • 404 Nicht gefunden
  • 409 Zustand passt nicht
  • 429 Zu viele Anfragen
Exemple
curl -X GET https://api.ladehase.com/v1/terminals \n  -H "Authorization: Bearer lh_test_…"
Réponse 200
{
  "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).

Paramètres

NomEmplacementType
idempotency-keyfacultatifWiederholbare Anfragen ohne doppelte Wirkung (24 Stunden)En-têtestring

Requête

NomTypeDescription
namefacultatifstring
location_idobligatoirestring
integration_idfacultatifstring | null
external_terminal_idfacultatifstring | null
maintenance_pinfacultatifstring

Réponse 201Terminal

NomTypeDescription
idobligatoirestringID mit Präfix «trm_»
objectobligatoire"terminal"
nameobligatoirestring
modelobligatoirestring
location_idobligatoirestring
integration_idobligatoirestring | null
external_terminal_idobligatoirestring | nullTerminal-ID bei Freika
pairedobligatoireboolean
onlineobligatoireboolean
app_versionobligatoirestring | null
last_seen_atobligatoirestring | nullZeitpunkt (ISO 8601, UTC)
created_atobligatoirestring

Erreurs possibles

  • 400 Anfrage ungültig
  • 401 Nicht angemeldet
  • 403 Berechtigung fehlt
  • 404 Nicht gefunden
  • 409 Zustand passt nicht
  • 429 Zu viele Anfragen
Exemple
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"}'
Réponse 201
{
  "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.

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
Exemple
curl -X GET https://api.ladehase.com/v1/terminals/available \n  -H "Authorization: Bearer lh_test_…"
Réponse 200
{}

Terminal ändern

patch/v1/terminals/{id}

Name, Standort, Freika-Terminal, Wartungs-PIN.

Paramètres

NomEmplacementType
idobligatoireCheminstring

Requête

NomTypeDescription
namefacultatifstring
location_idfacultatifstring
integration_idfacultatifstring | null
external_terminal_idfacultatifstring | null
maintenance_pinfacultatifstring

Réponse 200Terminal

NomTypeDescription
idobligatoirestringID mit Präfix «trm_»
objectobligatoire"terminal"
nameobligatoirestring
modelobligatoirestring
location_idobligatoirestring
integration_idobligatoirestring | null
external_terminal_idobligatoirestring | nullTerminal-ID bei Freika
pairedobligatoireboolean
onlineobligatoireboolean
app_versionobligatoirestring | null
last_seen_atobligatoirestring | nullZeitpunkt (ISO 8601, UTC)
created_atobligatoirestring

Erreurs possibles

  • 400 Anfrage ungültig
  • 401 Nicht angemeldet
  • 403 Berechtigung fehlt
  • 404 Nicht gefunden
  • 409 Zustand passt nicht
  • 429 Zu viele Anfragen
Exemple
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"}'
Réponse 200
{
  "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.

Paramètres

NomEmplacementType
idobligatoireCheminstring

Réponse 200Deleted

NomTypeDescription
idobligatoirestring
objectobligatoirestring
deletedobligatoiretrue

Erreurs possibles

  • 400 Anfrage ungültig
  • 401 Nicht angemeldet
  • 403 Berechtigung fehlt
  • 404 Nicht gefunden
  • 409 Zustand passt nicht
  • 429 Zu viele Anfragen
Exemple
curl -X DELETE https://api.ladehase.com/v1/terminals/{id} \n  -H "Authorization: Bearer lh_test_…"
Réponse 200
{
  "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).

Paramètres

NomEmplacementType
idobligatoireCheminstring
idempotency-keyfacultatifWiederholbare Anfragen ohne doppelte Wirkung (24 Stunden)En-têtestring

Réponse 201Object

Erreurs possibles

  • 400 Anfrage ungültig
  • 401 Nicht angemeldet
  • 403 Berechtigung fehlt
  • 404 Nicht gefunden
  • 409 Zustand passt nicht
  • 429 Zu viele Anfragen
Exemple
curl -X POST https://api.ladehase.com/v1/terminals/{id}/pairing_codes \n  -H "Authorization: Bearer lh_test_…"
Réponse 201
{}