> For the complete documentation index, see [llms.txt](https://docs.tryterra.co/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.tryterra.co/faq/help-topics/no-data/historical-backfill-returns-nothing/garmin-async-empty-then-bursts.md).

# Why does my Garmin backfill return empty payloads?

Garmin delivers historical data **asynchronously**, so a backfill request can return success (`Data sent to destination`) with initially empty payloads, then data arrives later in unpredictable bursts via webhook.

A large historical backfill first emits a `large_request_processing` event, then a `large_request_sending` event, with the payload arriving shortly after, so expecting immediate data is wrong.

Unlike other providers, Terra cannot tell you the expected payload count for Garmin, because Garmin controls timing and volume.

What to do:

* Treat empty early payloads as still fetching.
* Notify users that Garmin syncs in the background.
* **Ensure your webhook returns `200` quickly and processes async**, otherwise `504`s and retries compound the delay.
