Skip to content
Mähbarkeitsindex

Endpoint: /health

Der Health-Endpoint liefert den aktuellen Systemstatus der Mähbarkeitsindex (MFI) API. Er prüft Datenbankverbindung, Wartungsmodus und Konfiguration – ohne Authentifizierung.

Übersicht

Endpoint-Details

Der /health-Endpoint ist öffentlich zugänglich und erfordert keinen API-Key. Er kann verwendet werden, um vor eigenen Requests die Verfügbarkeit der API zu prüfen oder in externen Monitoring-Systemen eingebunden zu werden.

GET /health Kein API-Key erforderlich

URL (primär)

https://api.maehbarkeitsindex.de/health

URL (alternativ)

https://api.maehbarkeitsindex.de/v1/health

Methode

GET

Authentifizierung

Nicht erforderlich

Checks

Was der Health-Check prüft

Der Endpoint führt drei interne Prüfungen durch und gibt deren Status zurück.

Datenbank

Prüft, ob die Datenbankverbindung aktiv ist. Schlägt diese fehl, liefert der Endpoint HTTP 503 und status: "error".

Wartungsmodus

Zeigt an, ob der globale Wartungsmodus aktiv ist. Bei aktivem Wartungsmodus antwortet die API mit HTTP 503 und status: "maintenance".

Konfiguration

Prüft, ob die Konfigurationsdatei korrekt geladen werden kann und alle erforderlichen Einstellungen vorhanden sind.

Antwort

Antwortstruktur

Das mfi-Objekt enthält bei diesem Endpoint den Systemstatus anstelle eines Berechnungsergebnisses.

Feld (im mfi-Objekt) Typ Beschreibung
status string ok | error | maintenance
maintenance_mode bool true wenn Wartungsmodus aktiv, sonst false
mfi_version string Aktuelle Version der MFI-Berechnungslogik
checks object Einzelstatus der Systemkomponenten: database, maintenance, config
response_time_ms int Serverinterne Verarbeitungszeit in Millisekunden

HTTP-Statuscodes

HTTP-Status status Bedeutung
200 ok Alle Systemkomponenten funktionieren normal
503 maintenance Wartungsmodus ist aktiv
503 error Datenbankverbindung oder Konfiguration fehlerhaft
Beispiele

Request & Antwort-Beispiele

Request

curl
curl https://api.maehbarkeitsindex.de/health

Antwort – Alles in Ordnung (HTTP 200)

JSON – HTTP 200
{
  "status": "ok",
  "mfi": {
    "status":           "ok",
    "maintenance_mode": false,
    "mfi_version":      "1.0",
    "checks": {
      "database":    { "status": "ok" },
      "maintenance": { "status": "inactive" },
      "config":      { "status": "ok" }
    },
    "response_time_ms": 8
  },
  "message": ""
}

Antwort – Wartungsmodus aktiv (HTTP 503)

JSON – HTTP 503 Wartung
{
  "status": "maintenance",
  "mfi": {
    "status":           "maintenance",
    "maintenance_mode": true,
    "mfi_version":      "1.0",
    "checks": {
      "database":    { "status": "ok" },
      "maintenance": { "status": "active" },
      "config":      { "status": "ok" }
    },
    "response_time_ms": 6
  },
  "message": "The API is in maintenance mode."
}

Antwort – Datenbankfehler (HTTP 503)

JSON – HTTP 503 Fehler
{
  "status": "error",
  "mfi": {
    "status":           "error",
    "maintenance_mode": false,
    "mfi_version":      null,
    "checks": {
      "database": {
        "status":  "error",
        "message": "Database query failed."
      },
      "maintenance": { "status": "inactive" },
      "config":      { "status": "ok" }
    },
    "response_time_ms": 3
  },
  "message": "One or more system checks failed."
}

Tipp: Monitoring-Integration

Der /health-Endpoint eignet sich für den Einsatz in externen Monitoring-Diensten (z. B. UptimeRobot, Freshping oder eigene Cronjobs). HTTP 200 signalisiert normalen Betrieb, alles andere eine Störung.

Fragen, Probleme oder Feedback?

Bei Fragen zur API, technischen Problemen, gefundenen Fehlern oder Verbesserungsvorschlägen – einfach Kontakt aufnehmen.

Kontakt aufnehmen →