v3

latestOpenAPI 3.1.02026-07-31121144224.9 KB
External: Data Sync

Sync User Data

Synchronize data from fitness provider API for a specific user.

Data Types:

  • workouts: Workouts/exercises/activities
  • 247: 24/7 data including sleep, recovery, and activity samples
  • all: All available data types

Provider-specific:

  • Suunto: Supports workouts and 247 data with pagination
  • Polar: Supports workouts (exercises) only
  • Garmin: Data arrives via webhooks (backfill for 30-day history)
  • Whoop: Supports workouts and 247 data (sleep/recovery)

Execution Mode:

  • async=true (default): Dispatches sync to background Celery worker. Returns immediately with task ID.
  • async=false: Executes synchronously (may timeout for large data sets).

Requires valid API key and active connection for the user.

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

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

data_type'workouts' | '247' | 'all'

Types of data to sync from provider.

Type of data to sync: workouts, 247 (sleep/recovery/activity), or all

sinceinteger

Unix timestamp to synchronize data since (0 = all, Suunto only)

Unix timestamp to synchronize data since (0 = all, Suunto only)

limitinteger

Maximum number of items (Suunto: max 100)

Maximum number of items (Suunto: max 100)

offsetinteger

Offset for pagination (Suunto only)

Offset for pagination (Suunto only)

filter_by_modification_timeboolean

Filter by modification time instead of creation time (Suunto only)

Filter by modification time instead of creation time (Suunto only)

samplesboolean

Synchronize sample data (Polar only)

Synchronize sample data (Polar only)

zonesboolean

Synchronize zones data (Polar only)

Synchronize zones data (Polar only)

routeboolean

Synchronize route data (Polar only)

Synchronize route data (Polar only)

summary_start_timestring nullable

Activity start time as Unix timestamp or ISO 8601 date (Garmin only)

Activity start time as Unix timestamp or ISO 8601 date (Garmin only)

summary_end_timestring nullable

Activity end time as Unix timestamp or ISO 8601 date (Garmin only)

Activity end time as Unix timestamp or ISO 8601 date (Garmin only)

asyncboolean

Run sync asynchronously via Celery (default: true). Set false for sync.

Run sync asynchronously via Celery (default: true). Set false for sync.

Headers

X-Open-Wearables-API-Keystring nullable

Response

Successful Response

object required