Skip to main content
POST
/
api
/
v1
/
providers
/
{provider}
/
users
/
{user_id}
/
sync
Sync User Data
curl --request POST \
  --url https://api.example.com/api/v1/providers/{provider}/users/{user_id}/sync \
  --header 'Authorization: Bearer <token>'
{}

Documentation Index

Fetch the complete documentation index at: https://openwearables.io/docs/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

The access token received from the authorization server in the OAuth 2.0 flow.

Headers

X-Open-Wearables-API-Key
string | null

Path Parameters

provider
enum<string>
required

Data provider

Available options:
apple,
samsung,
google,
garmin,
polar,
suunto,
whoop,
strava,
oura,
fitbit,
ultrahuman,
unknown,
internal
user_id
string<uuid>
required

Query Parameters

data_type
enum<string>
default:all

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

Available options:
workouts,
247,
all
since
integer
default:0

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

limit
integer
default:50

Maximum number of items (Suunto: max 100)

Required range: x <= 100
offset
integer
default:0

Offset for pagination (Suunto only)

filter_by_modification_time
boolean
default:true

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

samples
boolean
default:false

Synchronize sample data (Polar only)

zones
boolean
default:false

Synchronize zones data (Polar only)

route
boolean
default:false

Synchronize route data (Polar only)

summary_start_time
string | null

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

summary_end_time
string | null

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

async
boolean
default:true

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

Response

Successful Response

{key}