> 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/help-center/help-topics/data-api-sdk/webhooks-dedup-and-sync-reliability/coros-polling-latency-no-webhooks.md).

# Why are COROS activities delayed by several minutes?

Yes, this latency is expected.

**Yes, this latency is expected.** COROS does not offer webhooks to third-party integrators, so Terra polls their API per connected account.

* Terra checks COROS about every 15 minutes, so an activity webhook usually lags the device sync by no more than that, depending on where the account sits in the cycle.
* Polling is not batched; each account polls independently.

**An activity can arrive twice, first without samples or laps.** If Terra checks before COROS has the full detail ready, the first webhook carries only the summary and a later check sends the complete activity with the same `summary_id`. Upsert on `summary_id` and keep the latest delivery, not the first.

In ping mode, the download link holds the payload as it was when sent, so an early link only ever shows the thinner version. To see an activity's current state, call `GET /v2/activity` with `with_samples=true` and `to_webhook=false`.

COROS can mark per-kilometre laps on runs started manually on the watch, but a structured workout pushed to the watch can arrive as a single lap covering the whole distance, with the full distance and pace samples still included, so rebuild splits from the distance samples.

Telling users to expect a short delay on COROS activities is reasonable. If an activity **never** shows up at all (rather than just arriving late), report it for investigation.
