Webhooksv1
Events & Triggers
Webhooks push events to your server the moment they happen — so a drift flag reaches the care team without polling. Register endpoints in the dashboard under Developers → Webhooks and subscribe to the events you care about.
Event types
| Event | Fires when |
|---|---|
| analysis.completed | A submitted sample finished processing. Payload is the full analysis. |
| analysis.flagged | An analysis raised one or more flags (drift at review or urgent). |
| baseline.ready | A patient accumulated enough samples; drift scoring is now active. |
| ehr.write.completed | A FHIR bundle was accepted by your EMR endpoint. |
| ehr.write.failed | A FHIR write-back was rejected after retries. |
Payload
Every delivery is a POST with a stable envelope: an event type, an id, a created timestamp, and a data object holding the resource.
{"id": "evt_9Xk2","type": "analysis.flagged","created": "2026-07-11T09:26:42Z","data": {"analysis_id": "an_5Tz7Lm","patient_id": "pt_8kQ2v9","flags": [{ "code": "respiratory_drift", "severity": "review" }]}}
Responding
Return 2xx quickly to acknowledge. Non-2xx responses (or timeouts) are retried with exponential backoff for up to 24 hours. Do heavy work asynchronously after acknowledging. Always verify the signature first — see Security.