Skip to content

Overview

SNOW API (1.0)

Clinical-summarization API. Turn patient history into structured actionable summaries.

SNOW takes a combination of patient questions, uploaded reports, and pre-collected structured data, and returns a clinician-grade structured summary. One API key, four integration flows, real-time webhooks.

Authentication

All /v1/* endpoints require an API key:

Authorization: Bearer sn_live_<your_key>

Mint keys via the developer console at platform.snowmed.health (Google login). Test keys (sn_test_*) emit webhooks but do not run the real LLM pipeline — use them during integration development. Live keys (sn_live_*) cost real money per call.

Public token-bound endpoints (e.g. /v1/sessions/:token/info) require no auth — the unguessable token is itself the credential.

Integration flows

Pick one or more based on who enters the data:

FlowEndpointWho enters data
1. Hosted form, fixed questions, single-submitPOST /v1/intake-sessionsPatient (SNOW-hosted UI)
2. Hosted form with iterative Q&A + uploads + voicePOST /v1/sessions (patient-link mode)Patient (SNOW-hosted UI)
3. Direct API — you POST what you havePOST /v1/sessionsYour backend
4. Hosted form with LLM-driven dynamic questionsPOST /v1/sessions (no template)Patient + LLM

See the integration guide for full lifecycle examples.

Idempotency

Pass Idempotency-Key: <uuid> on POST requests. Replays return the cached response body for 24h. Body-mismatch on the same key returns 409.

Error model

All errors return JSON of shape { "error": "<message>", "code": <int> }. HTTP status codes follow standard semantics (4xx client error, 5xx server error). Common codes: 400 (validation), 401 (auth), 404 (not found), 409 (conflict / already submitted), 410 (expired), 429 (rate limit), 500 (server error).

Authentication

BearerAuth

API key (sn_live_* or sn_test_*) issued via the developer console

Security scheme type: http