Guides
SDK Push
Send normalized health payloads from mobile apps into the component.
When to use SDK push
Use SDK push when your app collects health data directly on-device and sends normalized payloads to Convex.
This is the path used for:
- Apple Health
- Samsung Health
- Google Health Connect
The component stores and queries that data, but it does not currently fetch it directly from vendor APIs.
Example payload
{
"userId": "user_123",
"provider": "google",
"sourceMetadata": {
"deviceModel": "Pixel Watch 3",
"source": "health-connect"
},
"events": [],
"dataPoints": [
{
"seriesType": "heart_rate",
"recordedAt": 1773817200000,
"value": 58
}
],
"summaries": []
}Payload shape
| Field | Meaning |
|---|---|
userId | Your application user identifier |
provider | One of apple, samsung, or google |
sourceMetadata | Optional device and source metadata |
events | Normalized workout or sleep events |
dataPoints | Normalized time-series samples |
summaries | Daily summary rows |
Compatibility aliases are also supported:
deviceas an alias forsourceMetadatadailySummariesas an alias forsummaries
What happens on the backend
SDK payloads are stored through the same shared tables used by cloud providers:
connectionsdataSourceseventsdataPointsdailySummaries
That means time-series policies, summary queries, and downstream reads behave consistently regardless of whether the source was Garmin, Strava, or your own mobile app.