Medical API¶
The Medical API turns clinical free text into structured data. It started as an ICD-10 coding endpoint and now covers three jobs:
| Endpoint | What it does |
|---|---|
POST /api/deep-research |
Free text → ICD-10-GM codes, streamed in three tiers |
POST /api/documents/extract |
Referral or discharge letter → structured, grounding-validated JSON |
POST /api/llm/generate |
Free instruction on a document text → free-text answer |
The ICD catalog is ICD-10-GM 2026 with added synonyms — "Blinddarm" or "Kreuzbandriss" work, not just the official catalog wording.
Eine kompakte deutsche Fassung dieser Dokumentation gibt es hier.
Base URL and auth¶
| Environment | Base URL |
|---|---|
| Sandbox | https://medical-api.dev.unomed.ch |
| Production | https://medical-api.unomed.ch |
The older hostnames icd-10.unomed.ch and icd-10.dev.unomed.ch keep working and serve the same API — existing integrations do not need to change. New integrations should use medical-api.
Every call except the health endpoints needs the API key as a bearer token:
Missing or wrong key: 401.
The key is a long-lived integration key and belongs on the server only. It must never be embedded in browser or app code — the frontend talks to your own backend, and your backend talks to this API.
Patient data¶
/api/documents/extract and /api/llm/generate are built for documents that contain patient data. Their content is not cached and not logged — only a request counter per key is kept for quota accounting. The same holds for the free text sent to /api/deep-research.
Next steps¶
POST /api/deep-research— ICD coding, including a full streaming example.POST /api/documents/extract— structured document extraction.POST /api/llm/generate— free-form processing of a document.- Errors & Health — status codes and availability checks.