Browse the docs

Provider guide

Apple Health: no portal app, your iOS app reads HealthKit

Access Open, but only from your own iOS app on the member's iPhone. There is no cloud API
Cost Apple Developer Program, $99/year [MEM]; enrol as an organisation (D-U-N-S number) to publish under the company name [MEM]
Approval App Store review
Managed app Not applicable
Latido slug apple_health
How data arrives Your app uploads to POST /v1/members/{id}/ingest

Nothing to paste into Latido's provider settings: no client id, no redirect URI, no webhook URL. Latido's native iOS SDK is not available yet; until it is, your app reads HealthKit itself and posts to the ingest endpoint with a project API key from your backend (never ship a lat_live_ key in the app).

Checklist

  1. In Xcode, add the HealthKit capability to the target (and Background Delivery if you sync in the background) [MEM].
  2. Add NSHealthShareUsageDescription (and NSHealthUpdateUsageDescription only if you write) to Info.plist, in plain words: App Review rejects vague texts [MEM].
  3. Request read permission per type (workouts, steps, heart rate, HRV, sleep, body mass, blood glucose…). The app cannot tell whether read access was denied: queries just return nothing.
  4. Sync with HKObserverQuery + enableBackgroundDelivery, and HKAnchoredObjectQuery for deltas including deletions.
  5. Upload batches to Latido's ingest endpoint.
  6. App Store review: HealthKit data may not be used for advertising or sold; provide a privacy policy [MEM: App Review Guidelines 5.1.3].

Gotchas

  • Apple's HRV is SDNN, not RMSSD; SpO2 and body fat are fractions 0–1.
  • HealthKit carries data from Garmin, Oura, WHOOP and others when their apps write to it, so dedupe against direct connections.

Sources