The API is a Pro feature. Create keys in the app under Account → API.
If your plan is not Pro, a key will not authenticate.
Base URL
/api/v1/me.
Authentication
Authenticate with a personal API key sent as a Bearer token:- Open the app and go to Account → API.
- Create a key and give it a name (e.g. Home Assistant). The plaintext key is shown once — copy it then. Afterwards only a short prefix is visible.
- Send it on every request in the
Authorizationheader:
Quickstart
Endpoints
GET /api/v1/me
Account profile and high-level night counts.
GET /api/v1/me/summary
Aggregate therapy summary — adherence, AHI, composition.
GET /api/v1/me/nights
Nightly rows, with optional
from / to / limit.GET /api/v1/me/vitals
Wearable / Apple Health daily metrics.
Rate limits
There is currently no rate limiting on the read-only API. Please be a good citizen: cache responses and avoid tight polling loops. Keys may be revoked if usage puts the service at risk.Errors
Errors use a uniform JSON envelope with a stable, machine-readableerror code:
Units and conventions
- Dates are
YYYY-MM-DD; nightly data is keyed by the calendar day of therapy. - AHI and its sub-indices (OAI, CAI, HI, UAI) are events/hour.
- Leak is reported in L/min; pressures in cmH₂O; usage in minutes.
- Nightly rows are returned oldest-first. On
/api/v1/me/nights,limitreturns the most recent matching rows (default 100, max 1000). - Non-ResMed machines (DreamStation, F&P SleepStyle, DeVilbiss, BMC) currently
fill usage and pressure settings only — clinical fields such as AHI sub-indices
and leak are
nullfor those nights.