---
title: "Get Garmin Backfill Status Endpoint"
method: GET
path: "/api/v1/providers/garmin/users/{user_id}/backfill/status"
tags: ["External: Data Sync"]
deprecated: true
---

# Get Garmin Backfill Status Endpoint

`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`)

> **Deprecated.**

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)

## Path parameters

- `user_id` string, uuid, required

## Headers

- `X-Open-Wearables-API-Key` string, nullable

## Response `200`

Successful Response

- object

## Other responses

- `422`: Validation Error

## Changes

- **2026-09-12** `09848561e35e`: 1 info
  - endpoint deprecated

[Operation history](https://skmtc.dev/openwearables/apis/open-wearables-api/changes/api/v1/providers/garmin/users/:user_id/backfill/status/get.md)

---

[API](https://skmtc.dev/openwearables/apis/open-wearables-api.md) · [All operations](https://skmtc.dev/openwearables/apis/open-wearables-api/llms.txt) · [OpenAPI document](https://skmtc.dev/openwearables/apis/open-wearables-api/revisions/c9016a165d04?raw)
