Strona główna Dokumentacja Blog Zaloguj się
Strona główna Dokumentacja Blog Privacy Terms

Nightscout API

Nightscout API na diab.ninja - dokumentacja REST API v1 i v3. Pobieraj dane glikemii, integruj aplikacje i automatyzuj monitoring CGM

Nightscout API Twoja instancja Nightscout na diab.ninja udostępnia pełne REST API, dzięki któremu możesz pobierać dane glikemii, integrować własne aplikacje, automatyzować raportowanie lub budować niestandardowe dashboardy. Wszystko bez bezpośredniego dostępu do bazy danych. Co to jest API? API (Application Programming Interface) to interfejs, który pozwala programom komunikować się z Twoim Nightscout. Dzięki niemu możesz np. odczytać aktualny poziom glukozy w swojej aplikacji, wysłać dane z glukometru albo pobrać historię leczenia — bez logowania przez przeglądarkę. Nightscout udostępnia dwie wersje API: klasyczne API v1 (stabilne, szeroko wspierane) oraz nowsze API v3 (lżejsze, z obsługą tokenów JWT i deduplikacją). Oba działają na Twojej instancji diab.ninja od razu po uruchomieniu. Interaktywną dokumentację Swagger znajdziesz pod adresem twoja-nazwa.diab.ninja/api-docs/ Autoryzacja API Nightscout obsługuje dwa sposoby uwierzytelniania. Możesz użyć któregokolwiek z nich w zależności od potrzeb swojej aplikacji. 1. API Secret (nagłówek HTTP) Przekaż swoje tajne hasło (API Secret ustawione w panelu Nightscout) jako nagłówek api-secret . Wartość musi być zahashowana algorytmem SHA1. # Nagłówek HTTP api-secret: twoj_sha1_hash # Lub jako parametr URL https://twoja-nazwa.diab.ninja/api/v1/entries.json?token=twoj_token 2. Token dostępu (zalecany) W ustawieniach Nightscout możesz tworzyć nazwane tokeny z konkretnymi uprawnieniami (np. tylko do odczytu). To bezpieczniejsza opcja przy udostępnianiu API zewnętrznym aplikacjom. https://twoja-nazwa.diab.ninja/api/v1/entries.json?token=nazwa-tokenu-sekret Uwaga: Nigdy nie udostępniaj swojego API Secret publicznie. Używaj tokenów o ograniczonych uprawnieniach dla zewnętrznych integracji. Domyślny dostęp (bez uwierzytelniania) Jeśli Twoja instancja jest skonfigurowana jako publiczna ( AUTH_DEFAULT_ROLES=readable ), część endpointów dostępna jest bez autoryzacji - tylko do odczytu. Base URL Wszystkie zapytania kieruj do Twojej instancji na 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/ Protokół - HTTPS (wymagane) Domyślnie endpointy /entries i /treatments zwracają 10 ostatnich wyników z ostatnich 2 dni . Możesz zmienić to parametrem count . Endpointy V1 Wpisy glikemii - /entries Endpoint /entries zawiera wszystkie odczyty z Twojego systemu CGM. Dane SGV to odczyty sensorowe, MBG to pomiary z glukometru. GET /api/v1/entries.json - lista wpisów Pobiera listę wpisów glikemii. Domyślnie 10 ostatnich z 2 dni. Dostępne parametry: count – maksymalna liczba wyników (np. count=100 ) find[dateString][$gte] – data od (np. 2025-01-01 ) find[dateString][$lte] – data do (stosuj razem z $gte ) find[sgv] – filtr po konkretnej wartości SGV w mg/dL token – token dostępu (alternatywa dla nagłówka) Przykładowa odpowiedź: [ { "_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 - tylko odczyty sensorowe Zwraca wyłącznie odczyty sensorowe (Sensor Glucose Value). Przykład z filtrem dat: GET /api/v1/entries/sgv.json?find[dateString][$gte]=2025-08-28&find[dateString][$lte]=2025-08-30 GET /api/v1/entries/current - aktualny odczyt Zwraca jeden, najnowszy wpis glikemii. Idealny do widgetów i prostych integracji. { "sgv": 118, "direction": "FortyFiveUp", "dateString": "2025-09-05T10:05:00.000Z" } POST /api/v1/entries - dodaj wpis Dodaje nowy wpis glikemii. Wymaga uprawnień zapisu. [{ "type": "sgv", "sgv": 145, "date": 1693900000000, "direction": "SingleUp", "device": "moja-aplikacja" }] DELETE /api/v1/entries/:id - usuń wpis Usuwa wpis o podanym ID. Wymaga uprawnień administracyjnych. ⚠️ Operacja jest nieodwracalna . Upewnij się, że podajesz właściwe ID. Leczenie - /treatments Endpoint /treatments zawiera dane związane z terapią: podania insuliny, spożyte węglowodany, zmiany bazy, przełączenia profilu i inne zdarzenia z Portalu Opieki. GET /api/v1/treatments.json - lista zdarzeń Dostępne parametry filtrowania: find[eventType] - typ zdarzenia, np. Meal Bolus , Temp Basal find[insulin][$gte] - minimalna dawka insuliny (np. bolusy ≥ 2U: $gte=2 ) count – maksymalna liczba wyników Przykładowa odpowiedź: [{ "_id": "64f2b1cd...", "eventType": "Meal Bolus", "insulin": 3.5, "carbs": 45, "created_at": "2025-09-05T12:30:00.000Z", "notes": "Obiad" }] POST /api/v1/treatments - dodaj zdarzenie Dodaje nowe zdarzenie leczenia (bolus, posiłek, zmiana bazy itp.). { "eventType": "Correction Bolus", "insulin": 1.5, "created_at": "2025-09-05T15:00:00.000Z", "enteredBy": "moja-aplikacja" } DELETE /api/v1/treatments/:id - usuń zdarzenie Usuwa zdarzenie leczenia o podanym ID. Wymaga uprawnień zapisu lub admin. Profil leczenia — /profile Profil to zestaw parametrów terapii: wskaźniki wrażliwości na insulinę (ISF), stosunek insulina:węglowodany (IC), docelowy poziom glukozy i

Ostatnia aktualizacja: 2 maja 2026