Convex Wearables
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

FieldMeaning
userIdYour application user identifier
providerOne of apple, samsung, or google
sourceMetadataOptional device and source metadata
eventsNormalized workout or sleep events
dataPointsNormalized time-series samples
summariesDaily summary rows

Compatibility aliases are also supported:

  • device as an alias for sourceMetadata
  • dailySummaries as an alias for summaries

What happens on the backend

SDK payloads are stored through the same shared tables used by cloud providers:

  • connections
  • dataSources
  • events
  • dataPoints
  • dailySummaries

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.

On this page