External: Data Sync

Get Garmin Backfill Status Endpoint

Changed on

Get Garmin backfill status for backfill data types.

Deprecated. Backfill progress is reported through the provider-agnostic sync run endpoints (/users/{user_id}/sync/runs, /users/{user_id}/sync/stream) and the sync.started / sync.completed / sync.failed outgoing webhooks. Per-type detail will move there as well; this endpoint will be removed once that lands.

The backfill is webhook-based and auto-triggered after OAuth connection. Returns status for each data type independently. Max 30 days of history.

Response Fields:

  • overall_status: pending | in_progress | complete | retry_in_progress
  • current_window: Current window index (0-based)
  • total_windows: Total number of 30-day windows (1)
  • windows: Per-window-per-type matrix with done/pending/timed_out/failed states
  • summary: Per-type aggregated counts (done, timed_out, failed)
  • in_progress: Whether backfill is currently running (true for in_progress or retry_in_progress)
  • retry_phase: Whether the retry phase is currently active
  • retry_type: Data type currently being retried (null if not retrying)
  • retry_window: Window index being retried (null if not retrying)

Window Cell States:

  • done: Data received via webhook or Garmin API error (treated as done)
  • pending: Not yet processed
  • timed_out: No webhook received within timeout (warning)
  • failed: Permanently failed after retry attempt (error)
get/api/v1/providers/garmin/users/{user_id}/backfill/status

Request

  • Base URL: https://api.openwearables.io (the document declares no server; this is the origin it was published from)
  • URL: https://api.openwearables.io/api/v1/providers/garmin/users/{user_id}/backfill/status
  • Auth: OAuth 2 (password, token URL /api/v1/auth/login)

Path parameters

user_idstring uuid required

Headers

X-Open-Wearables-API-Keystring nullable

Response

Successful Response

object required

Changes