Buche Blutuntersuchungen direkt aus deiner eigenen App heraus

Mit einem API-Schlüssel hast du Zugriff auf 45 Endpunkte – von der Buchung bis zu den Laborergebnissen

Die „ Aniva “-Partner-API bucht einen „ Blutabnahme “ an über 25 Standorten in Deutschland, fügt diesem Termin Untersuchungsparameter hinzu und gibt klinische und genetische Ergebnisse als JSON zurück. Jede Anfrage benötigt einen Header, und die Basis-URL ist in jeder Umgebung dieselbe.

Wann man es benutzt Aniva

Nutze „ Aniva “, wenn deine Kunden einen Termin für eine Blutuntersuchung vereinbaren müssen
Verwende die Termin-Endpunkte für eine Blutabnahme in der Praxis und die Endpunkte für das Selbstentnahme-Set, wenn du das Set per Post bekommst.
Verwende die Ergebnis-Endpunkte für klinische Zeilen, genetische Zeilen und den PDF-Bericht.
Nutze die Katalog-Endpunkte, um die Biomarker, Testpanels und Einheiten abzurufen, die „ Aniva “ verkauft.
Verwende die unter https://anivahealth.com/api/v1/ dokumentierten Pfade und erfinde keine Endpunkte.
POST /api/v1/appointments
curl --request POST \
  --url https://anivahealth.com/api/v1/appointments \
  --header 'x-api-key: YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
    "profile_id": "a3f1c2d4-8b7e-4f2a-9c1d-2e3f4a5b6c7d",
    "location_id": "b7e2d1f5-3c4a-4e8b-a2f1-9d0c1e2f3a4b",
    "scheduled_at": "2026-05-15T12:30:00+02:00"
  }'
Der grundlegende Ablauf besteht aus vier Anfragen
GET /locations POST /profile POST /Termine POST /termine/{id}/bestätigen
45

45 Endpunkte sind dokumentiert und werden derzeit genutzt

1

Für die Authentifizierung ist nur ein Request-Header nötig

v1

Jeder Pfad beginnt mit dem Präfix „v1“

25+

Deutsche Standorte können das Blutabnahme

Vier Aufrufe sorgen für eine funktionierende Integration

Vier Anfragen – von der Buchung bis zu den Laborergebnissen

Jede Anfrage gibt die ID zurück, die die nächste benötigt; eine einfache Integration erfordert also vier Anfragen, bevor du Termine, Umplanungen oder Kuriere hinzufügen kannst.

Schritt 01 · GET /locations

Du gibst die Standorte an, die mit deinem Schlüssel gebucht werden können

Die Antwort enthält jeweils die Adresse, die Öffnungszeiten und die Zeitzone, sodass ein Kunde nur verfügbare Termine sieht.

Tests
Schritt 02 · POST /profiles

Du erstellst ein Profil für den Kunden

Ein Profil benötigt einen Namen, einen Geschlechtscode, ein Geburtsdatum und deine „profile_group“, die eine UUID oder deinen eigenen Slug akzeptiert.

Tests
Schritt 03 · POST /appointments

Du buchst den Termin in einem ausgewählten Zeitfenster

Für die Buchung werden die Profil-ID, die Standort-ID und ein Datums-/Zeitangabeformat nach ISO 8601 mit dem entsprechenden Offset oder dem Suffix „Z“ benötigt.

Tests
Schritt 04 · POST /appointments/{id}/confirm

Du bestätigst die Entnahme mit dem Barcode des Kits

Diese Anfrage löst den Laborauftrag aus und legt den Termin fest. Ändere daher alle Testpanels, bevor du die Anfrage absendest.

Tests
POST /api/v1/appointments
curl --request POST \
  --url https://anivahealth.com/api/v1/appointments \
  --header 'x-api-key: YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
    "profile_id": "a3f1c2d4-8b7e-4f2a-9c1d-2e3f4a5b6c7d",
    "location_id": "b7e2d1f5-3c4a-4e8b-a2f1-9d0c1e2f3a4b",
    "scheduled_at": "2026-05-15T12:30:00+02:00"
  }'
Fähigkeit

Jede Ressourcengruppe ist eine REST-Sammlung

Du kannst einen „ Blutabnahme “ in einer Klinik bestellen oder ein Testset per Post nach Hause schicken lassen. Beide werden im gleichen Format zurückgeschickt, sodass du den Code zum Auslesen der Ergebnisse nur einmal eingeben musst.

Profile · 4 Endpunkte

Ein Profil ist die Person, die du testest

Du suchst ein Profil per E-Mail heraus, legst es unter deiner Profilgruppe an und füllst die demografischen Daten später nach.

Tests
GET /profiles
PATCH /profiles/{id}
Termine · 15 Endpunkte

Ein Spielplan enthält die Gruppen und die Auslosung

Fünfzehn Endpunkte decken die Buchung und jede spätere Änderung daran ab, einschließlich der Übersichtsmasken, der Container-Vorschau und der Bestätigung.

Tests
POST /termine
GET /termine/{id}/ergebnisse
Bestellungen von Heimtrikots · 10 Endpunkte

Bestellungen für Heimtrikots sind die Versandversion

Zehn Endpunkte fordern ein DIY-Set für ein Profil an, tauschen dessen Paneele aus und geben dieselbe Ergebnisform zurück.

Tests
Eine Kit-Bestellung erstellen
Ergebnisse anzeigen
Standorte · 2 Endpunkte

Die Standorte geben an, wo eine Ziehung stattfindet

Du schaust dir die Standorte an, die du mit deinem Schlüssel buchen kannst, und fragst dann bei einem davon nach den verfügbaren Buchungszeiträumen.

Tests
GET /locations
GET /locations/{id}/availability
Dokumente · 1 Endpunkt

Die Ergebnisse führen zu klinischen und genetischen Kontroversen

Jede Auftragsart hat ihren eigenen Ergebnisabruf, und der PDF-Bericht ist ein separater Download nach Datei-ID.

Tests
GET /termine/{id}/ergebnisse
GET /documents/{id}
Sendungen · 8 Endpunkte

Ein Kurier bringt die Probe ins Labor

Du erstellst einen Kurierauftrag mit einem Abholzeitfenster an einem Wochentag, fügst dann Termine hinzu und verfolgst die Statusaktualisierungen.

Tests
POST /shipments
Termine anhängen
Kataloge · 4 Endpunkte

In den Katalogen sind die Biomarker aufgeführt, die du bestellen kannst

Die Kataloge für Biomarker, Testpanels und Einheiten sind paginiert, und du kannst die Biomarker nach Teststandort filtern.

Tests
GET /biomarkers
GET /panels
Gesundheit · 1 Endpunkt

Ein Readiness-Endpunkt benötigt keinen API-Schlüssel

Die Verfügbarkeitsprüfung benötigt keinen API-Schlüssel, sodass dein Verfügbarkeitsmonitor sie nach einem Zeitplan aufrufen kann.

Tests
Umfrage zur Bereitschaft der Bevölkerung
Deine Arbeit ist mit der Barcode-Bestätigung erledigt

Der Laborablauf beginnt, sobald du die Blutentnahme bestätigst

Du schickst uns den Barcode des Testkits, und das ist schon alles, was wir von dir brauchen. Wir kümmern uns dann um die Behälter, den Kurierdienst und das Labor, sodass dein Code nur zwei Schritte durchläuft, bis der Befund fertig ist.

Die Laborabläufe bei „ Aniva “ – von der Bestätigung bis zu den Ergebnissen Nach der Bestätigung der Probenentnahme folgen die Auswahl des Behälters, die Abholung durch den Kurierdienst und die Laboranalyse, und jede Zeile zum Biomarker wird dann als „geplant“, „eingegangen“ oder „fehlerhaft“ angezeigt. POST /appointments/{id}/confirmDu bestätigst die Auslosung GET /termine/{id}/VorschauContainer sind bekannt POST /shipmentsEin Kurier holt es ab Aniva LabornetzwerkDie Laboranalysen geplant erhalten Fehler GET /termine/{id}/ergebnisse
Ein ausgefüllter Punkt ist die Route, die du nehmen möchtest.Ein Ring steht für einen Status, den du noch bearbeiten musst.Die orangefarbenen Linien stellen die bestätigte Bestellung dar.
Ein Parser liest eine Blutentnahme in der Praxis und einen Heimtest aus

Jedes Ergebnis hat zwei Referenzbereiche und vier Statusangaben

Jede klinische Zeile enthält den vom Labor angegebenen Bereich sowie den Bereich „ Aniva “ mit dem entsprechenden „ optimal “-Fenster, sodass du beides anzeigen kannst, ohne eine eigene Nachschlagetabelle führen zu müssen.

Eine Zeile wird ausgelesen, bevor das Labor sie analysiert.
Ein Zeilenlesevorgang liest jeweils einen Wert und eine Einheit aus.
In einer Zeile steht „Fehler“, wenn das Labor die Anfrage storniert hat, und unter „status_reason“ wird der Grund dafür erklärt.
GET /api/v1/appointments/{id}/results
{
  "status": "in_progress",
  "clinical_results": [{
    "status": "received",
    "biomarker_name": "Vitamin D",
    "value": 38.5, "unit": "ng/mL",
    "reference_range_lab": { "normal_min": 30, "normal_max": 100 },
    "reference_range_aniva": { "optimal_min": 40, "optimal_max": 60 },
    "tested_at": "2026-04-05"
  }],
  "documents": [{ "file_name": "lab-report-2026-04-05.pdf" }]
}
Die API verwendet drei Zeitformate

Datums- und Zeitangaben müssen eine Zeitzone enthalten, sonst schlägt die Anfrage fehl

Ein „naives“ Datums- und Zeitformat wird mit dem Status 400 abgelehnt – das ist der häufigste Fehler, den die meisten bei ihrer ersten Integration machen.

Zeitstempel werden immer als UTC zurückgegeben, gemäß ISO 8601 mit dem Suffix „Z“.
Die Eingaben müssen einen expliziten Offset enthalten, daher akzeptiert eine Buchung beispielsweise 2026-05-15T12:30:00+02:00.
Bei Versandaktualisierungen wird der vom Logistikdienstleister gemeldete Versatz beibehalten.
Kalenderfelder beziehen sich ausschließlich auf die Uhrzeit, wie zum Beispiel das Geburtsdatum.
Aniva vergibt und wechselt jeden Partnerschlüssel

Für jede Anfrage wird dein Partner-API-Schlüssel benötigt

Bei der Authentifizierung wird bei jedem Aufruf der Header „x-api-key“ verwendet. Fehlt der Schlüssel oder wurde er aktualisiert, wird ein 403-Fehler mit einer kurzen JSON-Fehlermeldung zurückgegeben.

Dein Schlüssel bestimmt, welche Standorte, Termine und Sendungen du sehen kannst.
Gib deinen API-Schlüssel niemals im clientseitigen Code oder in öffentlichen Repositories preis.
Für eine öffentliche Abfrage ist kein API-Schlüssel erforderlich

Auf der Statusseite kannst du jeden Dienst verfolgen

Die Statusseite zeigt den aktuellen Status und den Verlauf der letzten 90 Tage für jeden Dienst an; dieselben Daten stehen dir im JSON-Format für deine eigene Überwachung zur Verfügung.

Partnerschlüssel werden von unserem Team ausgestellt

Frag uns noch heute nach einem Partnerschlüssel

Sag uns einfach, in welchen Märkten du verkaufst und welche Panels du brauchst, und wir schicken dir einen Schlüssel mit den passenden Berechtigungen.

Du kannst die OpenAPI-Datei auch herunterladen

Diese Seite ist ein Design-Entwurf. Alle darin aufgeführten Endpunkte und Payloads stammen von docs.anivahealth.com, und das Pipeline-Diagramm dient nur zur Veranschaulichung.

Maschinenlesbare Kopien der Dokumentation findest du unter docs.anivahealth.com/llms.txt und docs.anivahealth.com/llms-full.txt.