Nightscout API
Nightscout API auf diab.ninja - REST API Dokumentation v1 und v3. Rufe Glukosedaten ab, integriere Anwendungen und automatisiere das CGM-Monitoring
Nightscout API Deine Nightscout-Instanz auf diab.ninja stellt ein vollständiges REST API bereit, mit dem du Glukosedaten abrufen, eigene Anwendungen integrieren, Berichte automatisieren oder benutzerdefinierte Dashboards erstellen kannst. Alles ohne direkten Zugriff auf die Datenbank. Was ist ein API? Ein API (Application Programming Interface) ist eine Schnittstelle, die es Programmen ermöglicht, mit deinem Nightscout zu kommunizieren. Damit kannst du z. B. den aktuellen Glukosewert in deiner App auslesen, Daten vom Blutzuckermessgerät senden oder die Behandlungshistorie abrufen - ohne Anmeldung über den Browser. Nightscout stellt zwei API-Versionen bereit: das klassische API v1 (stabil, weit verbreitet unterstützt) sowie das neuere API v3 (leichter, mit Unterstützung für JWT-Token und Deduplizierung). Beide funktionieren auf deiner Instanz diab.ninja sofort nach dem Start. Die interaktive Swagger-Dokumentation findest du unter twoja-nazwa.diab.ninja/api-docs/ Autorisierung Das Nightscout API unterstützt zwei Authentifizierungsmethoden. Du kannst je nach Bedarf deiner Anwendung eine davon verwenden. 1. API Secret (HTTP-Header) Übermittle dein geheimes Passwort (API Secret im Nightscout-Panel festgelegt) als Header api-secret . Der Wert muss mit dem SHA1-Algorithmus gehasht sein. # HTTP-Header api-secret: dein_sha1_hash Oder als URL-Parameter https://twoja-nazwa.diab.ninja/api/v1/entries.json?token=dein_token 2. Zugriffstoken (empfohlen) In den Nightscout-Einstellungen kannst du benannte Token mit spezifischen Berechtigungen erstellen (z. B. nur Lesen). Das ist die sinnvollere Wahl, wenn du das API extern nutzt. https://twoja-nazwa.diab.ninja/api/v1/entries.json?token=tokenname-geheimnis Achtung: Teile dein API Secret niemals öffentlich. Verwende Tokens mit eingeschränkten Berechtigungen für externe Integrationen. Standardzugriff (ohne Authentifizierung) Wenn deine Instanz als öffentlich konfiguriert ist ( AUTH_DEFAULT_ROLES=readable ), sind einige Endpunkte ohne Autorisierung verfügbar - nur lesend. Base URL Alle Anfragen richte an deine Instanz auf diab.ninja: API v1 - twoja-nazwa.diab.ninja/api/v1/ API v3 - twoja-nazwa.diab.ninja/api/v3/ Swagger UI - twoja-nazwa.diab.ninja/api-docs/ Protokoll - HTTPS (erforderlich) Standardmäßig geben die Endpunkte /entries und /treatments die letzten 10 Ergebnisse aus den letzten 2 Tagen zurück. Du kannst dies mit dem Parameter count ändern. Endpunkte V1 Glukoseeinträge - /entries Der Endpunkt /entries enthält alle Messwerte aus deinem CGM-System. SGV-Daten sind Sensormessungen, MBG sind Messungen vom Blutzuckermessgerät. GET /api/v1/entries.json - Liste der Einträge Ruft eine Liste von Glukoseeinträgen ab. Standardmäßig die letzten 10 aus 2 Tagen. Verfügbare Parameter: count - maximale Anzahl der Ergebnisse (z. B. count=100 ) find[dateString][$gte] - Datum von (z. B. 2025-01-01 ) find[dateString][$lte] - Datum bis (zusammen mit $gte verwenden) find[sgv] - Filter nach einem bestimmten SGV-Wert in mg/dL token - Zugriffstoken (Alternative zum Header) Beispielantwort: [ { "_id": "64f2a3bc...", "type": "sgv", "sgv": 112, "date": 1693900000000, "dateString": "2025-09-05T10:00:00.000Z", "direction": "Flat", "device": "share2" } ] GET /api/v1/entries/sgv.json - nur Sensormesswerte Gibt ausschließlich Sensormesswerte zurück (Sensor Glucose Value). Beispiel mit Datumsfilter: GET /api/v1/entries/sgv.json?find[dateString][$gte]=2025-08-28&find[dateString][$lte]=2025-08-30 GET /api/v1/entries/current - aktueller Wert Gibt den neuesten Glukoseeintrag zurück. Praktisch für Widgets und einfache Integrationen. { "sgv": 118, "direction": "FortyFiveUp", "dateString": "2025-09-05T10:05:00.000Z" } POST /api/v1/entries - Eintrag hinzufügen Fügt einen neuen Glukoseeintrag hinzu. Erfordert Schreibberechtigungen. [{ "type": "sgv", "sgv": 145, "date": 1693900000000, "direction": "SingleUp", "device": "meine-app" }] DELETE /api/v1/entries/:id - Eintrag löschen Löscht einen Eintrag mit der angegebenen ID. Erfordert Administratorrechte. ⚠️ Die Operation ist irreversibel . Stelle sicher, dass du die richtige ID angibst. Behandlung - /treatments Der Endpunkt /treatments enthält therapiebezogene Daten: Insulingaben, aufgenommene Kohlenhydrate, Basalratenänderungen, Profilwechsel und weitere Ereignisse aus dem Care Portal. GET /api/v1/treatments.json - Liste der Ereignisse Verfügbare Filterparameter: find[eventType] - Ereignistyp, z. B. Meal Bolus , Temp Basal find[insulin][$gte] - minimale Insulindosis (z. B. Bolus ≥ 2U: $gte=2 ) count - maximale Anzahl der Ergebnisse Beispielantwort: [{ "_id": "64f2b1cd...", "eventType": "Meal Bolus", "insulin": 3.5, "carbs": 45, "created_at": "2025-09-05T12:30:00.000Z", "notes": "Mittagessen" }] POST /api/v1/treatments - Ereignis hinzufügen Fügt ein neues Behandlungsevent hinzu (Bolus, Mahlzeit, Basaländerung usw.). { "eventType": "Correction Bolus", "insulin": 1.5, "created_at": "2025-09-05T15:00:00.000Z", "enteredBy": "meine-app" } DEL
Zuletzt aktualisiert: