wearables surface. Two connection models sit behind it:
| Provider | Connection | What works |
|---|---|---|
| WHOOP | Server OAuth | Auth URL, token exchange, sync, and analysis |
| Google Health Connect + ForeverBetter Connect | Consumer Android app | Reads multiple Android sources on-device, pushes normalized data, then analysis |
WHOOP (server OAuth)
Build an authorization URL, redirect the user, then exchange the returned code.connection_type: "oauth" and an authorization_url.
After the user authorizes, complete the connection at
POST /connections/wearables/callback with the code.
Google Health Connect through ForeverBetter Connect
ForeverBetter Connect is the consumer Android app that reads Google Health Connect and uploads data to the user’s ForeverBetter account. Health Connect can combine Fitbit, Samsung Health, Google Fit, and other Android sources. This path has no server OAuth redirect. Health Connect is built into Android 14 and newer. On Android 13 and lower, install Google’s Health Connect app from Google Play before opening ForeverBetter Connect. Consumer setup:- Install and open ForeverBetter Connect from the current ForeverBetter beta or Google Play distribution.
- Sign in with the same ForeverBetter account as the dashboard or agent key.
- Select Google Health Connect in the app.
- Grant read permissions for the health data types to sync.
- Start background sync in ForeverBetter Connect and wait for the first sync.
connection_type: "mobile_bridge", the supported
data_types, and an ingestion contract. ForeverBetter Connect handles this
contract internally. Teams embedding their own Android app then:
- Requests Health Connect read permissions for the data types you need.
- Reads the latest records on-device.
- Pushes readings to
POST /connections/wearables/sync, or toPOST /imports/filewithcategory: "wearables"andprovider: "health_connect".
Steps, OxygenSaturation,
HeartRateVariabilityRmssd, BloodPressure, Weight, BodyFat,
BloodGlucose) are mapped to canonical metric ids automatically.
Sync wearable data
GET /connections/wearables/jobs/{id}. Stored
sources always carry provider: "wearables"; customers never see the upstream
hub.
Analyze wearable data
CallPOST /wearables/analyze with one or more wearable source IDs. The route
rejects biomarker and genetic sources so the output stays focused. Normalized
signals span sleep and recovery, cardiovascular recovery (HRV, resting heart
rate, SpO2, respiratory rate), activity and training, rhythm and consistency,
continuous glucose (mean glucose, time in range, variability), body composition
(body fat, waist, BMI), and vitals (blood pressure).