v3

latestOpenAPI 3.1.02026-07-31121144224.9 KB
External: Data Sync

Sync Historical Data

Trigger a historical sync of the user's data from a connected provider.

Each provider strategy decides how to dispatch the sync (REST polling, webhook backfill, etc.). The days parameter may be ignored by providers that enforce their own limits.

Automatic historical sync on connect (grace period)

v0.4.2 introduced this endpoint as the canonical, opt-in way to backfill historical data - the long-term goal is that connecting a provider only sets up live sync, and history is pulled on demand.

To make migration painless, the pre-0.4.2 behaviour is kept for now behind a grace-period flag (HISTORICAL_SYNC_ON_CONNECT, default: true): a historical sync is auto-dispatched after a successful OAuth callback (up to 90 days for pull-based providers; up to 30 days for Garmin, whose webhook-based backfill is capped at 30 days from the user's consent date).

Once your integration calls this endpoint explicitly, set HISTORICAL_SYNC_ON_CONNECT=false. The flag will default to false in a future release and is planned for removal afterwards.

post/api/v1/providers/{provider}/users/{user_id}/sync/historical

Path parameters

provider'apple' | 'samsung' | 'garmin' | 'google' | 'polar' | 'suunto' | 'whoop' | 'strava' | 'oura' | 'fitbit' | 'ultrahuman' | 'sensorbio' | 'unknown' | 'internal' required

Supported data providers.

Data provider

user_idstring uuid required

Query parameters

daysinteger

Days of historical data to fetch (default: 90, max: 365). Ignored for providers with their own limits (e.g. Garmin: 30 days).

Days of historical data to fetch (default: 90, max: 365). Ignored for providers with their own limits (e.g. Garmin: 30 days).

Headers

X-Open-Wearables-API-Keystring nullable

Response

Successful Response

object required