Documentation
The app reads the Apple Health samples you choose on your iPhone and sends them, as HTTP requests, to an endpoint you run. There is no server in this product: your endpoint is the only place the data goes. These pages are what you need to write that endpoint, run it, and know what to expect from it.
If you read nothing else
- Deduplicate on
uuid. Upsert on it — never onid, which repeats by design. See Delivery semantics. - Ignore keys and columns you do not recognise. New ones may appear inside version 1; none will be removed or renamed.
- Answer with any
2xx. The response body is never read, and a redirect is never followed. - A batch is at most 1000 samples and stays under 1 MB, but one export can be many batches.
The pages
- Getting started — from nothing to samples in a database.
- Receiver setup — what your endpoint must do, and two tested example receivers, in Node and Python.
- JSON payload — every key, type and unit, the catalog of types, and the worked example.
- CSV — the same export as a CSV document: columns, dialect, empty cells.
- Shortcuts — the Shortcuts action, its time ranges, and its errors.
- Delivery semantics — batches,
exportId,isFinalBatch, retries, and what “exactly once” does and does not mean. - Limits — what stops or delays delivery, and what version 1 cannot tell you.
These pages restate version 1 of the app’s published contract (schemaVersion 1). The
field names on them are checked against that contract, in both directions, before the site
is built for release.