Six objects. Everything else is a view over them.
Lifecycle
A Session moves through five states. Each transition emits a webhook.
Practitioner
Amounts are integers in the currency’s smallest unit. 350000 is KES 3,500.00.
Session
What the API never returns
Scope is enforced in the data model, not by filtering on the way out.
- Clinical content of a Note. Approved Notes stay with the Practitioner. Partner keys see that a Note exists and is approved, never what it says.
- Anything identifying under an Organization or Funder key. Those keys read aggregates only.
- Message, Journal or Check content, under any key.
Conventions
- Times are RFC 3339 in UTC.
- IDs are opaque strings. Never parse them.
- Lists are cursor-paginated with
limit and starting_after, and return has_more.
- Unknown fields may be added at any time. Ignore fields you do not recognise.
Last modified on July 25, 2026